C Specification
The VkDeviceCreateInfo structure is defined as:
// Provided by VK_VERSION_1_0
typedef struct VkDeviceCreateInfo {
    VkStructureType                    sType;
    const void*                        pNext;
    VkDeviceCreateFlags                flags;
    uint32_t                           queueCreateInfoCount;
    const VkDeviceQueueCreateInfo*     pQueueCreateInfos;
    // enabledLayerCount is deprecated and should not be used
    uint32_t                           enabledLayerCount;
    // ppEnabledLayerNames is deprecated and should not be used
    const char* const*                 ppEnabledLayerNames;
    uint32_t                           enabledExtensionCount;
    const char* const*                 ppEnabledExtensionNames;
    const VkPhysicalDeviceFeatures*    pEnabledFeatures;
} VkDeviceCreateInfo;Members
- 
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 deprecated and ignored.
- 
ppEnabledLayerNamesis deprecated and ignored. See https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#extendingvulkan-layers-devicelayerdeprecation.
- 
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 https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#extendingvulkan-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 deprecated. See https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#deprecation-gpdp2.
Description
- 
VUID-VkDeviceCreateInfo-queueFamilyIndex-02802 
 ThequeueFamilyIndexmember of each element ofpQueueCreateInfosmust be unique withinpQueueCreateInfos, except that two members can share the samequeueFamilyIndexif one describes protected-capable queues and one describes queues that are not protected-capable
- 
VUID-VkDeviceCreateInfo-pQueueCreateInfos-06755 
 If multiple elements ofpQueueCreateInfosshare the samequeueFamilyIndex, the sum of theirqueueCountmembers must be less than or equal to thequeueCountmember of theVkQueueFamilyPropertiesstructure, as returned byvkGetPhysicalDeviceQueueFamilyPropertiesin thepQueueFamilyProperties[queueFamilyIndex]
- 
VUID-VkDeviceCreateInfo-pQueueCreateInfos-06654 
 If multiple elements ofpQueueCreateInfosshare the samequeueFamilyIndex, then all of such elements must have the same global priority level, which can be specified explicitly by the including a VkDeviceQueueGlobalPriorityCreateInfo structure in thepNextchain, or by the implicit default value
- 
VUID-VkDeviceCreateInfo-pNext-00373 
 If thepNextchain includes a VkPhysicalDeviceFeatures2 structure, thenpEnabledFeaturesmust beNULL
- 
VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-01840 
 If VkPhysicalDeviceProperties::apiVersionadvertises Vulkan 1.1 or later,ppEnabledExtensionNamesmust not containVK_AMD_negative_viewport_height
- 
VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-00374 
 ppEnabledExtensionNamesmust not contain bothVK_KHR_maintenance1andVK_AMD_negative_viewport_height
- 
VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-03328 
 ppEnabledExtensionNamesmust not contain bothVK_KHR_buffer_device_addressandVK_EXT_buffer_device_address
- 
VUID-VkDeviceCreateInfo-pNext-04748 
 If thepNextchain includes a VkPhysicalDeviceVulkan12Features structure and VkPhysicalDeviceVulkan12Features::bufferDeviceAddressisVK_TRUE,ppEnabledExtensionNamesmust not containVK_EXT_buffer_device_address
- 
VUID-VkDeviceCreateInfo-pNext-02829 
 If thepNextchain includes a VkPhysicalDeviceVulkan11Features structure, then it must not include a VkPhysicalDevice16BitStorageFeatures, VkPhysicalDeviceMultiviewFeatures, VkPhysicalDeviceVariablePointersFeatures, VkPhysicalDeviceProtectedMemoryFeatures, VkPhysicalDeviceSamplerYcbcrConversionFeatures, or VkPhysicalDeviceShaderDrawParametersFeatures structure
- 
VUID-VkDeviceCreateInfo-pNext-02830 
 If thepNextchain 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 
 IfppEnabledExtensionNamescontains"VK_KHR_shader_draw_parameters"and thepNextchain includes a VkPhysicalDeviceVulkan11Features structure, thenVkPhysicalDeviceVulkan11Features::shaderDrawParametersmust beVK_TRUE
- 
VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-02831 
 IfppEnabledExtensionNamescontains"VK_KHR_draw_indirect_count"and thepNextchain includes a VkPhysicalDeviceVulkan12Features structure, thenVkPhysicalDeviceVulkan12Features::drawIndirectCountmust beVK_TRUE
- 
VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-02832 
 IfppEnabledExtensionNamescontains"VK_KHR_sampler_mirror_clamp_to_edge"and thepNextchain includes a VkPhysicalDeviceVulkan12Features structure, thenVkPhysicalDeviceVulkan12Features::samplerMirrorClampToEdgemust beVK_TRUE
- 
VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-02833 
 IfppEnabledExtensionNamescontains"VK_EXT_descriptor_indexing"and thepNextchain includes a VkPhysicalDeviceVulkan12Features structure, thenVkPhysicalDeviceVulkan12Features::descriptorIndexingmust beVK_TRUE
- 
VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-02834 
 IfppEnabledExtensionNamescontains"VK_EXT_sampler_filter_minmax"and thepNextchain includes a VkPhysicalDeviceVulkan12Features structure, thenVkPhysicalDeviceVulkan12Features::samplerFilterMinmaxmust beVK_TRUE
- 
VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-02835 
 IfppEnabledExtensionNamescontains"VK_EXT_shader_viewport_index_layer"and thepNextchain includes a VkPhysicalDeviceVulkan12Features structure, thenVkPhysicalDeviceVulkan12Features::shaderOutputViewportIndexandVkPhysicalDeviceVulkan12Features::shaderOutputLayermust both beVK_TRUE
- 
VUID-VkDeviceCreateInfo-pNext-06532 
 If thepNextchain 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 thepNextchain 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-pProperties-04451 
 If theVK_KHR_portability_subsetextension is included inpPropertiesof vkEnumerateDeviceExtensionProperties,ppEnabledExtensionNamesmust include"VK_KHR_portability_subset"
- 
VUID-VkDeviceCreateInfo-shadingRateImage-04478 
 If theshadingRateImagefeature is enabled, thepipelineFragmentShadingRatefeature must not be enabled
- 
VUID-VkDeviceCreateInfo-shadingRateImage-04479 
 If theshadingRateImagefeature is enabled, theprimitiveFragmentShadingRatefeature must not be enabled
- 
VUID-VkDeviceCreateInfo-shadingRateImage-04480 
 If theshadingRateImagefeature is enabled, theattachmentFragmentShadingRatefeature must not be enabled
- 
VUID-VkDeviceCreateInfo-fragmentDensityMap-04481 
 If thefragmentDensityMapfeature is enabled, thepipelineFragmentShadingRatefeature must not be enabled
- 
VUID-VkDeviceCreateInfo-fragmentDensityMap-04482 
 If thefragmentDensityMapfeature is enabled, theprimitiveFragmentShadingRatefeature must not be enabled
- 
VUID-VkDeviceCreateInfo-fragmentDensityMap-04483 
 If thefragmentDensityMapfeature is enabled, theattachmentFragmentShadingRatefeature must not be enabled
- 
VUID-VkDeviceCreateInfo-None-04896 
 If thesparseImageInt64Atomicsfeature is enabled,shaderImageInt64Atomicsmust be enabled
- 
VUID-VkDeviceCreateInfo-None-04897 
 If thesparseImageFloat32Atomicsfeature is enabled,shaderImageFloat32Atomicsmust be enabled
- 
VUID-VkDeviceCreateInfo-None-04898 
 If thesparseImageFloat32AtomicAddfeature is enabled,shaderImageFloat32AtomicAddmust be enabled
- 
VUID-VkDeviceCreateInfo-sparseImageFloat32AtomicMinMax-04975 
 If thesparseImageFloat32AtomicMinMaxfeature is enabled,shaderImageFloat32AtomicMinMaxmust be enabled
- 
VUID-VkDeviceCreateInfo-robustBufferAccess-10247 
 If therobustBufferAccessfeature is enabled, androbustBufferAccessUpdateAfterBindisVK_FALSE, thendescriptorBindingUniformBufferUpdateAfterBind,descriptorBindingStorageBufferUpdateAfterBind,descriptorBindingUniformTexelBufferUpdateAfterBind, anddescriptorBindingStorageTexelBufferUpdateAfterBindmust not be enabled
- 
VUID-VkDeviceCreateInfo-None-08095 
 If thedescriptorBufferfeature is enabled,ppEnabledExtensionNamesmust not containVK_AMD_shader_fragment_mask
- 
VUID-VkDeviceCreateInfo-pNext-09396 
 If thepNextchain includes a VkDeviceQueueShaderCoreControlCreateInfoARM structure, then it must not be included in thepNextchain of any of the VkDeviceQueueCreateInfo structures inpQueueCreateInfos
- 
VUID-VkDeviceCreateInfo-pNext-09397 
 If thepNextchain includes a VkDeviceQueueShaderCoreControlCreateInfoARM structure then VkPhysicalDeviceSchedulingControlsPropertiesARM::schedulingControlsFlagsmust containVK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM
- 
VUID-VkDeviceCreateInfo-None-10778 
 If the maintenance9 feature is not supported,queueCreateInfoCountmust be greater than0
- 
VUID-VkDeviceCreateInfo-sType-sType 
 sTypemust beVK_STRUCTURE_TYPE_DEVICE_CREATE_INFO
- 
VUID-VkDeviceCreateInfo-pNext-pNext 
 EachpNextmember of any structure (including this one) in thepNextchain must be eitherNULLor 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, VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR, VkPhysicalDeviceConditionalRenderingFeaturesEXT, VkPhysicalDeviceCooperativeMatrix2FeaturesNV, VkPhysicalDeviceCooperativeMatrixFeaturesKHR, VkPhysicalDeviceCooperativeMatrixFeaturesNV, VkPhysicalDeviceCooperativeVectorFeaturesNV, VkPhysicalDeviceCopyMemoryIndirectFeaturesNV, VkPhysicalDeviceCornerSampledImageFeaturesNV, VkPhysicalDeviceCoverageReductionModeFeaturesNV, VkPhysicalDeviceCubicClampFeaturesQCOM, VkPhysicalDeviceCubicWeightsFeaturesQCOM, VkPhysicalDeviceCudaKernelLaunchFeaturesNV, VkPhysicalDeviceCustomBorderColorFeaturesEXT, VkPhysicalDeviceDataGraphFeaturesARM, VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, VkPhysicalDeviceDepthBiasControlFeaturesEXT, VkPhysicalDeviceDepthClampControlFeaturesEXT, VkPhysicalDeviceDepthClampZeroOneFeaturesKHR, VkPhysicalDeviceDepthClipControlFeaturesEXT, VkPhysicalDeviceDepthClipEnableFeaturesEXT, VkPhysicalDeviceDescriptorBufferFeaturesEXT, VkPhysicalDeviceDescriptorBufferTensorFeaturesARM, VkPhysicalDeviceDescriptorIndexingFeatures, VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV, VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, VkPhysicalDeviceDeviceGeneratedCommandsFeaturesEXT, VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV, VkPhysicalDeviceDeviceMemoryReportFeaturesEXT, VkPhysicalDeviceDiagnosticsConfigFeaturesNV, VkPhysicalDeviceDisplacementMicromapFeaturesNV, VkPhysicalDeviceDynamicRenderingFeatures, VkPhysicalDeviceDynamicRenderingLocalReadFeatures, VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT, VkPhysicalDeviceExclusiveScissorFeaturesNV, VkPhysicalDeviceExtendedDynamicState2FeaturesEXT, VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, VkPhysicalDeviceExtendedDynamicStateFeaturesEXT, VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV, VkPhysicalDeviceExternalFormatResolveFeaturesANDROID, VkPhysicalDeviceExternalMemoryRDMAFeaturesNV, VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX, VkPhysicalDeviceFaultFeaturesEXT, 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, VkPhysicalDeviceInvocationMaskFeaturesHUAWEI, VkPhysicalDeviceLegacyDitheringFeaturesEXT, VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT, VkPhysicalDeviceLineRasterizationFeatures, VkPhysicalDeviceLinearColorAttachmentFeaturesNV, VkPhysicalDeviceMaintenance4Features, VkPhysicalDeviceMaintenance5Features, VkPhysicalDeviceMaintenance6Features, VkPhysicalDeviceMaintenance7FeaturesKHR, VkPhysicalDeviceMaintenance8FeaturesKHR, VkPhysicalDeviceMaintenance9FeaturesKHR, VkPhysicalDeviceMapMemoryPlacedFeaturesEXT, VkPhysicalDeviceMemoryDecompressionFeaturesNV, VkPhysicalDeviceMemoryPriorityFeaturesEXT, VkPhysicalDeviceMeshShaderFeaturesEXT, VkPhysicalDeviceMeshShaderFeaturesNV, VkPhysicalDeviceMultiDrawFeaturesEXT, VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT, VkPhysicalDeviceMultiviewFeatures, VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM, VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM, VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT, VkPhysicalDeviceNestedCommandBufferFeaturesEXT, VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT, VkPhysicalDeviceOpacityMicromapFeaturesEXT, VkPhysicalDeviceOpticalFlowFeaturesNV, VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV, VkPhysicalDevicePerStageDescriptorSetFeaturesNV, VkPhysicalDevicePerformanceQueryFeaturesKHR, VkPhysicalDevicePipelineBinaryFeaturesKHR, VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC, VkPhysicalDevicePipelineCreationCacheControlFeatures, VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR, VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT, VkPhysicalDevicePipelineOpacityMicromapFeaturesARM, VkPhysicalDevicePipelinePropertiesFeaturesEXT, VkPhysicalDevicePipelineProtectedAccessFeatures, VkPhysicalDevicePipelineRobustnessFeatures, VkPhysicalDevicePortabilitySubsetFeaturesKHR, VkPhysicalDevicePresentBarrierFeaturesNV, VkPhysicalDevicePresentId2FeaturesKHR, VkPhysicalDevicePresentIdFeaturesKHR, VkPhysicalDevicePresentMeteringFeaturesNV, VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR, VkPhysicalDevicePresentWait2FeaturesKHR, VkPhysicalDevicePresentWaitFeaturesKHR, VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, VkPhysicalDevicePrivateDataFeatures, VkPhysicalDeviceProtectedMemoryFeatures, VkPhysicalDeviceProvokingVertexFeaturesEXT, VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT, VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, VkPhysicalDeviceRawAccessChainsFeaturesNV, VkPhysicalDeviceRayQueryFeaturesKHR, VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV, VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV, VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR, VkPhysicalDeviceRayTracingMotionBlurFeaturesNV, VkPhysicalDeviceRayTracingPipelineFeaturesKHR, VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR, VkPhysicalDeviceRayTracingValidationFeaturesNV, VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG, VkPhysicalDeviceRenderPassStripedFeaturesARM, VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV, VkPhysicalDeviceRobustness2FeaturesKHR, VkPhysicalDeviceSamplerYcbcrConversionFeatures, VkPhysicalDeviceScalarBlockLayoutFeatures, VkPhysicalDeviceSchedulingControlsFeaturesARM, VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures, VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV, VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT, VkPhysicalDeviceShaderAtomicFloatFeaturesEXT, VkPhysicalDeviceShaderAtomicInt64Features, VkPhysicalDeviceShaderBfloat16FeaturesKHR, VkPhysicalDeviceShaderClockFeaturesKHR, VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM, VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures, VkPhysicalDeviceShaderDrawParametersFeatures, VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, VkPhysicalDeviceShaderEnqueueFeaturesAMDX, VkPhysicalDeviceShaderExpectAssumeFeatures, VkPhysicalDeviceShaderFloat16Int8Features, VkPhysicalDeviceShaderFloat8FeaturesEXT, VkPhysicalDeviceShaderFloatControls2Features, VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT, VkPhysicalDeviceShaderImageFootprintFeaturesNV, VkPhysicalDeviceShaderIntegerDotProductFeatures, VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR, VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT, VkPhysicalDeviceShaderObjectFeaturesEXT, VkPhysicalDeviceShaderQuadControlFeaturesKHR, VkPhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR, VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT, VkPhysicalDeviceShaderSMBuiltinsFeaturesNV, VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures, VkPhysicalDeviceShaderSubgroupRotateFeatures, VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, VkPhysicalDeviceShaderTerminateInvocationFeatures, VkPhysicalDeviceShaderTileImageFeaturesEXT, VkPhysicalDeviceShadingRateImageFeaturesNV, VkPhysicalDeviceSubgroupSizeControlFeatures, VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT, VkPhysicalDeviceSubpassShadingFeaturesHUAWEI, VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR, VkPhysicalDeviceSynchronization2Features, VkPhysicalDeviceTensorFeaturesARM, VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT, VkPhysicalDeviceTextureCompressionASTCHDRFeatures, VkPhysicalDeviceTileMemoryHeapFeaturesQCOM, VkPhysicalDeviceTilePropertiesFeaturesQCOM, VkPhysicalDeviceTileShadingFeaturesQCOM, VkPhysicalDeviceTimelineSemaphoreFeatures, VkPhysicalDeviceTransformFeedbackFeaturesEXT, VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR, VkPhysicalDeviceUniformBufferStandardLayoutFeatures, VkPhysicalDeviceVariablePointersFeatures, VkPhysicalDeviceVertexAttributeDivisorFeatures, VkPhysicalDeviceVertexAttributeRobustnessFeaturesEXT, VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT, VkPhysicalDeviceVideoDecodeVP9FeaturesKHR, VkPhysicalDeviceVideoEncodeAV1FeaturesKHR, VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR, VkPhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR, VkPhysicalDeviceVideoMaintenance1FeaturesKHR, VkPhysicalDeviceVideoMaintenance2FeaturesKHR, VkPhysicalDeviceVulkan11Features, VkPhysicalDeviceVulkan12Features, VkPhysicalDeviceVulkan13Features, VkPhysicalDeviceVulkan14Features, VkPhysicalDeviceVulkanMemoryModelFeatures, VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, VkPhysicalDeviceYcbcrDegammaFeaturesQCOM, VkPhysicalDeviceYcbcrImageArraysFeaturesEXT, VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT, or VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures
- 
VUID-VkDeviceCreateInfo-sType-unique 
 ThesTypevalue of each structure in thepNextchain must be unique, with the exception of structures of type VkDeviceDeviceMemoryReportCreateInfoEXT or VkDevicePrivateDataCreateInfo
- 
VUID-VkDeviceCreateInfo-pQueueCreateInfos-parameter 
 IfqueueCreateInfoCountis not0,pQueueCreateInfosmust be a valid pointer to an array ofqueueCreateInfoCountvalid VkDeviceQueueCreateInfo structures
- 
VUID-VkDeviceCreateInfo-ppEnabledLayerNames-parameter 
 IfenabledLayerCountis not0,ppEnabledLayerNamesmust be a valid pointer to an array ofenabledLayerCountnull-terminated UTF-8 strings
- 
VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-parameter 
 IfenabledExtensionCountis not0,ppEnabledExtensionNamesmust be a valid pointer to an array ofenabledExtensionCountnull-terminated UTF-8 strings
- 
VUID-VkDeviceCreateInfo-pEnabledFeatures-parameter 
 IfpEnabledFeaturesis notNULL,pEnabledFeaturesmust be a valid pointer to a valid VkPhysicalDeviceFeatures structure
Document Notes
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.