VkDeviceCreateInfo
The VkDeviceCreateInfo structure is defined as:
typedef struct VkDeviceCreateInfo {
VkStructureType sType;
const void* pNext;
VkDeviceCreateFlags flags;
uint32_t queueCreateInfoCount;
const VkDeviceQueueCreateInfo* pQueueCreateInfos;
uint32_t enabledLayerCount;
const char* const* ppEnabledLayerNames;
uint32_t enabledExtensionCount;
const char* const* ppEnabledExtensionNames;
const VkPhysicalDeviceFeatures* pEnabledFeatures;
} VkDeviceCreateInfo;
pub struct DeviceCreateInfo {
s_type: vk::StructureType,
p_next: *const c_void,
flags: vk::DeviceCreateFlags,
queue_create_info_count: u32,
p_queue_create_infos: *const vk::DeviceQueueCreateInfo,
enabled_layer_count: u32,
pp_enabled_layer_names: *const *const c_char, // Ordered list of layer names to be enabled
enabled_extension_count: u32,
pp_enabled_extension_names: *const *const c_char,
p_enabled_features: *const vk::PhysicalDeviceFeatures,
}
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.flagsis reserved for future use.queueCreateInfoCountis the unsigned integer size of thepQueueCreateInfosarray. Refer to the Queue Creation section below for further details.pQueueCreateInfosis a pointer to an array of VkDeviceQueueCreateInfo structures describing the queues that are requested to be created along with the logical device. Refer to the Queue Creation section below for further details.enabledLayerCountis legacy and not used. Implementations must not access this parameter. It must be 0. See Device Layers: Superseded via instance layers.ppEnabledLayerNamesis legacy and not used. Implementations must not access this parameter. It must beNULL. See Device Layers: Superseded via instance layers.enabledExtensionCountis the number of device extensions to enable.ppEnabledExtensionNamesis a pointer to an array ofenabledExtensionCountnull-terminated UTF-8 strings containing the names of extensions to enable for the created device. See the Extensions section for further details.pEnabledFeaturesisNULLor a pointer to a VkPhysicalDeviceFeatures structure containing boolean indicators of all the features to be enabled. Refer to the Features section for further details. This field is legacy. See Physical Device Queries: Superseded via version 2.
Valid Usage
VUID-VkDeviceCreateInfo-queueFamilyIndex-02802
The combination of the values in the queueFamilyIndex and
flags members of each element of pQueueCreateInfos must be
unique within pQueueCreateInfos
VUID-VkDeviceCreateInfo-pQueueCreateInfos-06755
If multiple elements of pQueueCreateInfos share the same
queueFamilyIndex, the sum of their queueCount members must
be less than or equal to the queueCount member of the
VkQueueFamilyProperties structure, as returned by
vkGetPhysicalDeviceQueueFamilyProperties in the
pQueueFamilyProperties[queueFamilyIndex]
VUID-VkDeviceCreateInfo-pQueueCreateInfos-06654
If multiple elements of pQueueCreateInfos share the same
queueFamilyIndex, then all of such elements must have the same
global priority level, which can be specified explicitly by the
including a VkDeviceQueueGlobalPriorityCreateInfo structure in the
pNext chain, or by the implicit default value
VUID-VkDeviceCreateInfo-pNext-00373
If the pNext chain includes a VkPhysicalDeviceFeatures2
structure, then pEnabledFeatures must be NULL
VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-01840
If VkPhysicalDeviceProperties::apiVersion advertises Vulkan
1.1 or later, ppEnabledExtensionNames must not contain
VK_AMD_negative_viewport_height
VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-00374
ppEnabledExtensionNames must not contain both
VK_KHR_maintenance1 and
VK_AMD_negative_viewport_height
VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-03328
ppEnabledExtensionNames must not contain both
VK_KHR_buffer_device_address and
VK_EXT_buffer_device_address
VUID-VkDeviceCreateInfo-pNext-04748
If the pNext chain includes a
VkPhysicalDeviceVulkan12Features structure and
VkPhysicalDeviceVulkan12Features::bufferDeviceAddress is
VK_TRUE, ppEnabledExtensionNames must not contain
VK_EXT_buffer_device_address
VUID-VkDeviceCreateInfo-pNext-02829
If the pNext chain includes a
VkPhysicalDeviceVulkan11Features structure, then it must not
include a VkPhysicalDevice16BitStorageFeatures,
VkPhysicalDeviceMultiviewFeatures,
VkPhysicalDeviceVariablePointersFeatures,
VkPhysicalDeviceProtectedMemoryFeatures,
VkPhysicalDeviceSamplerYcbcrConversionFeatures, or
VkPhysicalDeviceShaderDrawParametersFeatures structure
VUID-VkDeviceCreateInfo-pNext-02830
If the pNext chain includes a
VkPhysicalDeviceVulkan12Features structure, then it must not
include a VkPhysicalDevice8BitStorageFeatures,
VkPhysicalDeviceShaderAtomicInt64Features,
VkPhysicalDeviceShaderFloat16Int8Features,
VkPhysicalDeviceDescriptorIndexingFeatures,
VkPhysicalDeviceScalarBlockLayoutFeatures,
VkPhysicalDeviceImagelessFramebufferFeatures,
VkPhysicalDeviceUniformBufferStandardLayoutFeatures,
VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures,
VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures,
VkPhysicalDeviceHostQueryResetFeatures,
VkPhysicalDeviceTimelineSemaphoreFeatures,
VkPhysicalDeviceBufferDeviceAddressFeatures, or
VkPhysicalDeviceVulkanMemoryModelFeatures structure
VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-04476
If ppEnabledExtensionNames contains
"VK_KHR_shader_draw_parameters" and the pNext chain includes a
VkPhysicalDeviceVulkan11Features structure, then
VkPhysicalDeviceVulkan11Features::shaderDrawParameters must
be VK_TRUE
VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-02831
If ppEnabledExtensionNames contains "VK_KHR_draw_indirect_count"
and the pNext chain includes a
VkPhysicalDeviceVulkan12Features structure, then
VkPhysicalDeviceVulkan12Features::drawIndirectCount must be
VK_TRUE
VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-02832
If ppEnabledExtensionNames contains
"VK_KHR_sampler_mirror_clamp_to_edge" and the pNext chain
includes a VkPhysicalDeviceVulkan12Features structure, then
VkPhysicalDeviceVulkan12Features::samplerMirrorClampToEdgemust be VK_TRUE
VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-02833
If ppEnabledExtensionNames contains "VK_EXT_descriptor_indexing"
and the pNext chain includes a
VkPhysicalDeviceVulkan12Features structure, then
VkPhysicalDeviceVulkan12Features::descriptorIndexing must
be VK_TRUE
VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-02834
If ppEnabledExtensionNames contains
"VK_EXT_sampler_filter_minmax" and the pNext chain includes a
VkPhysicalDeviceVulkan12Features structure, then
VkPhysicalDeviceVulkan12Features::samplerFilterMinmax must
be VK_TRUE
VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-02835
If ppEnabledExtensionNames contains
"VK_EXT_shader_viewport_index_layer" and the pNext chain
includes a VkPhysicalDeviceVulkan12Features structure, then
VkPhysicalDeviceVulkan12Features::shaderOutputViewportIndex
and VkPhysicalDeviceVulkan12Features::shaderOutputLayermust both be VK_TRUE
VUID-VkDeviceCreateInfo-pNext-06532
If the pNext chain includes a
VkPhysicalDeviceVulkan13Features structure, then it must not
include a VkPhysicalDeviceDynamicRenderingFeatures,
VkPhysicalDeviceImageRobustnessFeatures,
VkPhysicalDeviceInlineUniformBlockFeatures,
VkPhysicalDeviceMaintenance4Features,
VkPhysicalDevicePipelineCreationCacheControlFeatures,
VkPhysicalDevicePrivateDataFeatures,
VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures,
VkPhysicalDeviceShaderIntegerDotProductFeatures,
VkPhysicalDeviceShaderTerminateInvocationFeatures,
VkPhysicalDeviceSubgroupSizeControlFeatures,
VkPhysicalDeviceSynchronization2Features,
VkPhysicalDeviceTextureCompressionASTCHDRFeatures, or
VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures structure
VUID-VkDeviceCreateInfo-pNext-10360
If the pNext chain includes a
VkPhysicalDeviceVulkan14Features structure, then it must not
include a VkPhysicalDeviceGlobalPriorityQueryFeatures,
VkPhysicalDeviceShaderSubgroupRotateFeatures,
VkPhysicalDeviceShaderFloatControls2Features,
VkPhysicalDeviceShaderExpectAssumeFeatures,
VkPhysicalDeviceLineRasterizationFeatures,
VkPhysicalDeviceVertexAttributeDivisorFeatures,
VkPhysicalDeviceIndexTypeUint8Features,
VkPhysicalDeviceDynamicRenderingLocalReadFeatures,
VkPhysicalDeviceMaintenance5Features,
VkPhysicalDeviceMaintenance6Features,
VkPhysicalDevicePipelineProtectedAccessFeatures,
VkPhysicalDevicePipelineRobustnessFeatures, or
VkPhysicalDeviceHostImageCopyFeatures structure
VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-10858
If ppEnabledExtensionNames contains "VK_KHR_push_descriptor" and
the pNext chain includes a VkPhysicalDeviceVulkan14Features
structure, then
VkPhysicalDeviceVulkan14Features::pushDescriptor must be
VK_TRUE
VUID-VkDeviceCreateInfo-pProperties-04451
If the VK_KHR_portability_subset extension is included in
pProperties of vkEnumerateDeviceExtensionProperties,
ppEnabledExtensionNames must include
"VK_KHR_portability_subset"
VUID-VkDeviceCreateInfo-shadingRateImage-04478
If the shadingRateImage feature is
enabled, the pipelineFragmentShadingRate feature must not be enabled
VUID-VkDeviceCreateInfo-shadingRateImage-04479
If the shadingRateImage feature is
enabled, the primitiveFragmentShadingRate feature must not be enabled
VUID-VkDeviceCreateInfo-shadingRateImage-04480
If the shadingRateImage feature is
enabled, the attachmentFragmentShadingRate feature must not be enabled
VUID-VkDeviceCreateInfo-fragmentDensityMap-04481
If the fragmentDensityMap feature
is enabled, the pipelineFragmentShadingRate feature must not be enabled
VUID-VkDeviceCreateInfo-fragmentDensityMap-04482
If the fragmentDensityMap feature
is enabled, the primitiveFragmentShadingRate feature must not be enabled
VUID-VkDeviceCreateInfo-fragmentDensityMap-04483
If the fragmentDensityMap feature
is enabled, the attachmentFragmentShadingRate feature must not be enabled
VUID-VkDeviceCreateInfo-None-04896
If the sparseImageInt64Atomics feature is enabled,
shaderImageInt64Atomicsmust be enabled
VUID-VkDeviceCreateInfo-None-04897
If the sparseImageFloat32Atomics feature is enabled,
shaderImageFloat32Atomicsmust be enabled
VUID-VkDeviceCreateInfo-None-04898
If the sparseImageFloat32AtomicAdd feature is enabled,
shaderImageFloat32AtomicAdd must be enabled
VUID-VkDeviceCreateInfo-sparseImageFloat32AtomicMinMax-04975
If the sparseImageFloat32AtomicMinMax feature is enabled,
shaderImageFloat32AtomicMinMax must be enabled
VUID-VkDeviceCreateInfo-robustBufferAccess-10247
If the robustBufferAccess feature
is enabled, and robustBufferAccessUpdateAfterBind is VK_FALSE, then
descriptorBindingUniformBufferUpdateAfterBind,
descriptorBindingStorageBufferUpdateAfterBind,
descriptorBindingUniformTexelBufferUpdateAfterBind, and
descriptorBindingStorageTexelBufferUpdateAfterBind must not be
enabled
VUID-VkDeviceCreateInfo-None-08095
If the descriptorBuffer feature is
enabled, ppEnabledExtensionNames must not contain
VK_AMD_shader_fragment_mask
VUID-VkDeviceCreateInfo-pNext-09396
If the pNext chain includes a
VkDeviceQueueShaderCoreControlCreateInfoARM structure, then it
must not be included in the pNext chain of any of the
VkDeviceQueueCreateInfo structures in pQueueCreateInfos
VUID-VkDeviceCreateInfo-pNext-09397
If the pNext chain includes a
VkDeviceQueueShaderCoreControlCreateInfoARM structure then
VkPhysicalDeviceSchedulingControlsPropertiesARM::schedulingControlsFlagsmust contain
VK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM
VUID-VkDeviceCreateInfo-None-10778
If the maintenance9 feature is not supported,
queueCreateInfoCount must be greater than 0
VUID-VkDeviceCreateInfo-queueFamilyIndex-11831
If any element of pQueueCreateInfos specifies a queueFamilyIndex
that supports VK_QUEUE_DATA_GRAPH_BIT_ARM and that
queueFamilyIndex enumerates an engine through
vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM with
type
VK_PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_NEURAL_QCOM
or
VK_PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_COMPUTE_QCOM,
a VkPhysicalDeviceDataGraphModelFeaturesQCOM structure must be
included in pNext with dataGraphModel set to VK_TRUE
VUID-VkDeviceCreateInfo-enabledLayerCount-12384
enabledLayerCount must be 0
VUID-VkDeviceCreateInfo-ppEnabledLayerNames-12385
ppEnabledLayerNames must be NULL
Valid Usage (Implicit)
VUID-VkDeviceCreateInfo-sType-sType
sType must be VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO
VUID-VkDeviceCreateInfo-pNext-pNext
Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDeviceDeviceMemoryReportCreateInfoEXT, VkDeviceDiagnosticsConfigCreateInfoNV, VkDeviceGroupDeviceCreateInfo, VkDeviceMemoryOverallocationCreateInfoAMD, VkDevicePipelineBinaryInternalCacheControlKHR, VkDevicePrivateDataCreateInfo, VkDeviceQueueShaderCoreControlCreateInfoARM, VkExternalComputeQueueDeviceCreateInfoNV, VkPhysicalDevice16BitStorageFeatures, VkPhysicalDevice4444FormatsFeaturesEXT, VkPhysicalDevice8BitStorageFeatures, VkPhysicalDeviceASTCDecodeFeaturesEXT, VkPhysicalDeviceAccelerationStructureFeaturesKHR, VkPhysicalDeviceAddressBindingReportFeaturesEXT, VkPhysicalDeviceAmigoProfilingFeaturesSEC, VkPhysicalDeviceAntiLagFeaturesAMD, VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT, VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT, VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, VkPhysicalDeviceBorderColorSwizzleFeaturesEXT, VkPhysicalDeviceBufferDeviceAddressFeatures, VkPhysicalDeviceBufferDeviceAddressFeaturesEXT, VkPhysicalDeviceClusterAccelerationStructureFeaturesNV, VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI, VkPhysicalDeviceCoherentMemoryFeaturesAMD, VkPhysicalDeviceColorWriteEnableFeaturesEXT, VkPhysicalDeviceCommandBufferInheritanceFeaturesNV, VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV, VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR, VkPhysicalDeviceConditionalRenderingFeaturesEXT, VkPhysicalDeviceCooperativeMatrix2FeaturesNV, VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM, VkPhysicalDeviceCooperativeMatrixFeaturesKHR, VkPhysicalDeviceCooperativeMatrixFeaturesNV, VkPhysicalDeviceCooperativeVectorFeaturesNV, VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR, VkPhysicalDeviceCopyMemoryIndirectFeaturesNV, VkPhysicalDeviceCornerSampledImageFeaturesNV, VkPhysicalDeviceCoverageReductionModeFeaturesNV, VkPhysicalDeviceCubicClampFeaturesQCOM, VkPhysicalDeviceCubicWeightsFeaturesQCOM, VkPhysicalDeviceCudaKernelLaunchFeaturesNV, VkPhysicalDeviceCustomBorderColorFeaturesEXT, VkPhysicalDeviceCustomResolveFeaturesEXT, VkPhysicalDeviceDataGraphFeaturesARM, VkPhysicalDeviceDataGraphModelFeaturesQCOM, VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM, VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX, VkPhysicalDeviceDepthBiasControlFeaturesEXT, VkPhysicalDeviceDepthClampControlFeaturesEXT, VkPhysicalDeviceDepthClampZeroOneFeaturesKHR, VkPhysicalDeviceDepthClipControlFeaturesEXT, VkPhysicalDeviceDepthClipEnableFeaturesEXT, VkPhysicalDeviceDescriptorBufferFeaturesEXT, VkPhysicalDeviceDescriptorBufferTensorFeaturesARM, VkPhysicalDeviceDescriptorHeapFeaturesEXT, VkPhysicalDeviceDescriptorIndexingFeatures, VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV, VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR, VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, VkPhysicalDeviceDeviceGeneratedCommandsFeaturesEXT, VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV, VkPhysicalDeviceDeviceMemoryReportFeaturesEXT, VkPhysicalDeviceDiagnosticsConfigFeaturesNV, VkPhysicalDeviceDisplacementMicromapFeaturesNV, VkPhysicalDeviceDynamicRenderingFeatures, VkPhysicalDeviceDynamicRenderingLocalReadFeatures, VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT, VkPhysicalDeviceExclusiveScissorFeaturesNV, VkPhysicalDeviceExtendedDynamicState2FeaturesEXT, VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, VkPhysicalDeviceExtendedDynamicStateFeaturesEXT, VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV, VkPhysicalDeviceExternalFormatResolveFeaturesANDROID, VkPhysicalDeviceExternalMemoryRDMAFeaturesNV, VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX, VkPhysicalDeviceFaultFeaturesEXT, VkPhysicalDeviceFaultFeaturesKHR, VkPhysicalDeviceFeatures2, VkPhysicalDeviceFormatPackFeaturesARM, VkPhysicalDeviceFragmentDensityMap2FeaturesEXT, VkPhysicalDeviceFragmentDensityMapFeaturesEXT, VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE, VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT, VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR, VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT, VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV, VkPhysicalDeviceFragmentShadingRateFeaturesKHR, VkPhysicalDeviceFrameBoundaryFeaturesEXT, VkPhysicalDeviceGlobalPriorityQueryFeatures, VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, VkPhysicalDeviceHdrVividFeaturesHUAWEI, VkPhysicalDeviceHostImageCopyFeatures, VkPhysicalDeviceHostQueryResetFeatures, VkPhysicalDeviceImage2DViewOf3DFeaturesEXT, VkPhysicalDeviceImageAlignmentControlFeaturesMESA, VkPhysicalDeviceImageCompressionControlFeaturesEXT, VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, VkPhysicalDeviceImageProcessing2FeaturesQCOM, VkPhysicalDeviceImageProcessingFeaturesQCOM, VkPhysicalDeviceImageRobustnessFeatures, VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT, VkPhysicalDeviceImageViewMinLodFeaturesEXT, VkPhysicalDeviceImagelessFramebufferFeatures, VkPhysicalDeviceIndexTypeUint8Features, VkPhysicalDeviceInheritedViewportScissorFeaturesNV, VkPhysicalDeviceInlineUniformBlockFeatures, VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR, VkPhysicalDeviceInvocationMaskFeaturesHUAWEI, VkPhysicalDeviceLegacyDitheringFeaturesEXT, VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT, VkPhysicalDeviceLineRasterizationFeatures, VkPhysicalDeviceLinearColorAttachmentFeaturesNV, VkPhysicalDeviceMaintenance10FeaturesKHR, VkPhysicalDeviceMaintenance4Features, VkPhysicalDeviceMaintenance5Features, VkPhysicalDeviceMaintenance6Features, VkPhysicalDeviceMaintenance7FeaturesKHR, VkPhysicalDeviceMaintenance8FeaturesKHR, VkPhysicalDeviceMaintenance9FeaturesKHR, VkPhysicalDeviceMapMemoryPlacedFeaturesEXT, VkPhysicalDeviceMemoryDecompressionFeaturesEXT, VkPhysicalDeviceMemoryPriorityFeaturesEXT, VkPhysicalDeviceMeshShaderFeaturesEXT, VkPhysicalDeviceMeshShaderFeaturesNV, VkPhysicalDeviceMultiDrawFeaturesEXT, VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT, VkPhysicalDeviceMultiviewFeatures, VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM, VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM, VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT, VkPhysicalDeviceNestedCommandBufferFeaturesEXT, VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT, VkPhysicalDeviceOpacityMicromapFeaturesEXT, VkPhysicalDeviceOpticalFlowFeaturesNV, VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV, VkPhysicalDevicePerStageDescriptorSetFeaturesNV, VkPhysicalDevicePerformanceCountersByRegionFeaturesARM, VkPhysicalDevicePerformanceQueryFeaturesKHR, VkPhysicalDevicePipelineBinaryFeaturesKHR, VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC, VkPhysicalDevicePipelineCreationCacheControlFeatures, VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR, VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT, VkPhysicalDevicePipelineOpacityMicromapFeaturesARM, VkPhysicalDevicePipelinePropertiesFeaturesEXT, VkPhysicalDevicePipelineProtectedAccessFeatures, VkPhysicalDevicePipelineRobustnessFeatures, VkPhysicalDevicePortabilitySubsetFeaturesKHR, VkPhysicalDevicePresentBarrierFeaturesNV, VkPhysicalDevicePresentId2FeaturesKHR, VkPhysicalDevicePresentIdFeaturesKHR, VkPhysicalDevicePresentMeteringFeaturesNV, VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR, VkPhysicalDevicePresentTimingFeaturesEXT, VkPhysicalDevicePresentWait2FeaturesKHR, VkPhysicalDevicePresentWaitFeaturesKHR, VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT, VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, VkPhysicalDevicePrivateDataFeatures, VkPhysicalDeviceProtectedMemoryFeatures, VkPhysicalDeviceProvokingVertexFeaturesEXT, VkPhysicalDevicePushConstantBankFeaturesNV, VkPhysicalDeviceQueuePerfHintFeaturesQCOM, VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT, VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, VkPhysicalDeviceRawAccessChainsFeaturesNV, VkPhysicalDeviceRayQueryFeaturesKHR, VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT, VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV, VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV, VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR, VkPhysicalDeviceRayTracingMotionBlurFeaturesNV, VkPhysicalDeviceRayTracingPipelineFeaturesKHR, VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR, VkPhysicalDeviceRayTracingValidationFeaturesNV, VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG, VkPhysicalDeviceRenderPassStripedFeaturesARM, VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV, VkPhysicalDeviceRobustness2FeaturesKHR, VkPhysicalDeviceSamplerYcbcrConversionFeatures, VkPhysicalDeviceScalarBlockLayoutFeatures, VkPhysicalDeviceSchedulingControlsFeaturesARM, VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures, VkPhysicalDeviceShader64BitIndexingFeaturesEXT, VkPhysicalDeviceShaderAbortFeaturesKHR, VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV, VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT, VkPhysicalDeviceShaderAtomicFloatFeaturesEXT, VkPhysicalDeviceShaderAtomicInt64Features, VkPhysicalDeviceShaderBfloat16FeaturesKHR, VkPhysicalDeviceShaderClockFeaturesKHR, VkPhysicalDeviceShaderConstantDataFeaturesKHR, VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM, VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures, VkPhysicalDeviceShaderDrawParametersFeatures, VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, VkPhysicalDeviceShaderEnqueueFeaturesAMDX, VkPhysicalDeviceShaderExpectAssumeFeatures, VkPhysicalDeviceShaderFloat16Int8Features, VkPhysicalDeviceShaderFloat8FeaturesEXT, VkPhysicalDeviceShaderFloatControls2Features, VkPhysicalDeviceShaderFmaFeaturesKHR, VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT, VkPhysicalDeviceShaderImageFootprintFeaturesNV, VkPhysicalDeviceShaderInstrumentationFeaturesARM, VkPhysicalDeviceShaderIntegerDotProductFeatures, VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, VkPhysicalDeviceShaderLongVectorFeaturesEXT, VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR, VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE, VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT, VkPhysicalDeviceShaderObjectFeaturesEXT, VkPhysicalDeviceShaderQuadControlFeaturesKHR, VkPhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR, VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT, VkPhysicalDeviceShaderSMBuiltinsFeaturesNV, VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures, VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT, VkPhysicalDeviceShaderSubgroupRotateFeatures, VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, VkPhysicalDeviceShaderTerminateInvocationFeatures, VkPhysicalDeviceShaderTileImageFeaturesEXT, VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT, VkPhysicalDeviceShaderUntypedPointersFeaturesKHR, VkPhysicalDeviceShadingRateImageFeaturesNV, VkPhysicalDeviceSubgroupSizeControlFeatures, VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT, VkPhysicalDeviceSubpassShadingFeaturesHUAWEI, VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR, VkPhysicalDeviceSynchronization2Features, VkPhysicalDeviceTensorFeaturesARM, VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT, VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT, VkPhysicalDeviceTextureCompressionASTCHDRFeatures, VkPhysicalDeviceTileMemoryHeapFeaturesQCOM, VkPhysicalDeviceTilePropertiesFeaturesQCOM, VkPhysicalDeviceTileShadingFeaturesQCOM, VkPhysicalDeviceTimelineSemaphoreFeatures, VkPhysicalDeviceTransformFeedbackFeaturesEXT, VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR, VkPhysicalDeviceUniformBufferStandardLayoutFeatures, VkPhysicalDeviceVariablePointersFeatures, VkPhysicalDeviceVertexAttributeDivisorFeatures, VkPhysicalDeviceVertexAttributeRobustnessFeaturesEXT, VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT, VkPhysicalDeviceVideoDecodeVP9FeaturesKHR, VkPhysicalDeviceVideoEncodeAV1FeaturesKHR, VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR, VkPhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR, VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE, VkPhysicalDeviceVideoMaintenance1FeaturesKHR, VkPhysicalDeviceVideoMaintenance2FeaturesKHR, VkPhysicalDeviceVulkan11Features, VkPhysicalDeviceVulkan12Features, VkPhysicalDeviceVulkan13Features, VkPhysicalDeviceVulkan14Features, VkPhysicalDeviceVulkanMemoryModelFeatures, VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, VkPhysicalDeviceYcbcrDegammaFeaturesQCOM, VkPhysicalDeviceYcbcrImageArraysFeaturesEXT, VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT, or VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures
VUID-VkDeviceCreateInfo-sType-unique
The sType value of each structure in the pNext chain must be unique, with the exception of structures of type VkDeviceDeviceMemoryReportCreateInfoEXT or VkDevicePrivateDataCreateInfo
VUID-VkDeviceCreateInfo-flags-zerobitmask
flags must be 0
VUID-VkDeviceCreateInfo-pQueueCreateInfos-parameter
If queueCreateInfoCount is not 0, pQueueCreateInfos must be a valid pointer to an array of queueCreateInfoCount valid VkDeviceQueueCreateInfo structures
VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-parameter
If enabledExtensionCount is not 0, ppEnabledExtensionNames must be a valid pointer to an array of enabledExtensionCount null-terminated UTF-8 strings
VUID-VkDeviceCreateInfo-pEnabledFeatures-parameter
If pEnabledFeatures is not NULL, pEnabledFeatures must be a valid pointer to a valid VkPhysicalDeviceFeatures structure