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 legacy and should not be used
uint32_t enabledLayerCount;
// ppEnabledLayerNames is legacy 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 legacy and ignored. See https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#legacy-devicelayers. -
ppEnabledLayerNamesis legacy and ignored. See https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#legacy-devicelayers. -
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 legacy. See https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#legacy-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::bufferDeviceAddressis VK_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 be VK_TRUE -
VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-02831
IfppEnabledExtensionNamescontains"VK_KHR_draw_indirect_count"and thepNextchain includes a VkPhysicalDeviceVulkan12Features structure, thenVkPhysicalDeviceVulkan12Features::drawIndirectCountmust be VK_TRUE -
VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-02832
IfppEnabledExtensionNamescontains"VK_KHR_sampler_mirror_clamp_to_edge"and thepNextchain includes a VkPhysicalDeviceVulkan12Features structure, thenVkPhysicalDeviceVulkan12Features::samplerMirrorClampToEdgemust be VK_TRUE -
VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-02833
IfppEnabledExtensionNamescontains"VK_EXT_descriptor_indexing"and thepNextchain includes a VkPhysicalDeviceVulkan12Features structure, thenVkPhysicalDeviceVulkan12Features::descriptorIndexingmust be VK_TRUE -
VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-02834
IfppEnabledExtensionNamescontains"VK_EXT_sampler_filter_minmax"and thepNextchain includes a VkPhysicalDeviceVulkan12Features structure, thenVkPhysicalDeviceVulkan12Features::samplerFilterMinmaxmust be VK_TRUE -
VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-02835
IfppEnabledExtensionNamescontains"VK_EXT_shader_viewport_index_layer"and thepNextchain includes a VkPhysicalDeviceVulkan12Features structure, thenVkPhysicalDeviceVulkan12Features::shaderOutputViewportIndexandVkPhysicalDeviceVulkan12Features::shaderOutputLayermust both be VK_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-ppEnabledExtensionNames-10858
IfppEnabledExtensionNamescontains"VK_KHR_push_descriptor"and thepNextchain includes a VkPhysicalDeviceVulkan14Features structure, thenVkPhysicalDeviceVulkan14Features::pushDescriptormust be VK_TRUE -
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, androbustBufferAccessUpdateAfterBindis VK_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 contain VK_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-queueFamilyIndex-11831
If any element of pQueueCreateInfos specifies aqueueFamilyIndexthat supports VK_QUEUE_DATA_GRAPH_BIT_ARM and thatqueueFamilyIndexenumerates an engine through vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM withtypeVK_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 inpNextwith dataGraphModel set to VK_TRUE
-
VUID-VkDeviceCreateInfo-sType-sType
sTypemust be VK_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, VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV, VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR, VkPhysicalDeviceConditionalRenderingFeaturesEXT, VkPhysicalDeviceCooperativeMatrix2FeaturesNV, VkPhysicalDeviceCooperativeMatrixFeaturesKHR, VkPhysicalDeviceCooperativeMatrixFeaturesNV, VkPhysicalDeviceCooperativeVectorFeaturesNV, VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR, VkPhysicalDeviceCopyMemoryIndirectFeaturesNV, VkPhysicalDeviceCornerSampledImageFeaturesNV, VkPhysicalDeviceCoverageReductionModeFeaturesNV, VkPhysicalDeviceCubicClampFeaturesQCOM, VkPhysicalDeviceCubicWeightsFeaturesQCOM, VkPhysicalDeviceCudaKernelLaunchFeaturesNV, VkPhysicalDeviceCustomBorderColorFeaturesEXT, VkPhysicalDeviceCustomResolveFeaturesEXT, VkPhysicalDeviceDataGraphFeaturesARM, VkPhysicalDeviceDataGraphModelFeaturesQCOM, VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX, VkPhysicalDeviceDepthBiasControlFeaturesEXT, VkPhysicalDeviceDepthClampControlFeaturesEXT, VkPhysicalDeviceDepthClampZeroOneFeaturesKHR, VkPhysicalDeviceDepthClipControlFeaturesEXT, VkPhysicalDeviceDepthClipEnableFeaturesEXT, VkPhysicalDeviceDescriptorBufferFeaturesEXT, VkPhysicalDeviceDescriptorBufferTensorFeaturesARM, VkPhysicalDeviceDescriptorHeapFeaturesEXT, 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, 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, VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, VkPhysicalDevicePrivateDataFeatures, VkPhysicalDeviceProtectedMemoryFeatures, VkPhysicalDeviceProvokingVertexFeaturesEXT, VkPhysicalDevicePushConstantBankFeaturesNV, VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT, VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, VkPhysicalDeviceRawAccessChainsFeaturesNV, VkPhysicalDeviceRayQueryFeaturesKHR, VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT, VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV, VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV, VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR, VkPhysicalDeviceRayTracingMotionBlurFeaturesNV, VkPhysicalDeviceRayTracingPipelineFeaturesKHR, VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR, VkPhysicalDeviceRayTracingValidationFeaturesNV, VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG, VkPhysicalDeviceRenderPassStripedFeaturesARM, VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV, VkPhysicalDeviceRobustness2FeaturesKHR, VkPhysicalDeviceSamplerYcbcrConversionFeatures, VkPhysicalDeviceScalarBlockLayoutFeatures, VkPhysicalDeviceSchedulingControlsFeaturesARM, VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures, VkPhysicalDeviceShader64BitIndexingFeaturesEXT, VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV, VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT, VkPhysicalDeviceShaderAtomicFloatFeaturesEXT, VkPhysicalDeviceShaderAtomicInt64Features, VkPhysicalDeviceShaderBfloat16FeaturesKHR, VkPhysicalDeviceShaderClockFeaturesKHR, VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM, VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures, VkPhysicalDeviceShaderDrawParametersFeatures, VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, VkPhysicalDeviceShaderEnqueueFeaturesAMDX, VkPhysicalDeviceShaderExpectAssumeFeatures, VkPhysicalDeviceShaderFloat16Int8Features, VkPhysicalDeviceShaderFloat8FeaturesEXT, VkPhysicalDeviceShaderFloatControls2Features, VkPhysicalDeviceShaderFmaFeaturesKHR, VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT, VkPhysicalDeviceShaderImageFootprintFeaturesNV, VkPhysicalDeviceShaderIntegerDotProductFeatures, VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, VkPhysicalDeviceShaderLongVectorFeaturesEXT, VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR, 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
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.