Limits

Limits are implementation-dependent minimums, maximums, and other device characteristics that an application may need to be aware of.

Limits are reported via the basic VkPhysicalDeviceLimits structure as well as the extensible structure VkPhysicalDeviceProperties2, which was added in VK_KHR_get_physical_device_properties2 and included in Vulkan 1.1. When limits are added in future Vulkan versions or extensions, each extension should introduce one new limit structure, if needed. This structure can be added to the pNext chain of the VkPhysicalDeviceProperties2 structure.

VkPhysicalDeviceLimitsStructure reporting implementation-dependent physical device limits
VkSampleCountFlagBitsBitmask specifying sample counts supported for an image used for storage operations
VkSampleCountFlagsBitmask of VkSampleCountFlagBits
VkPhysicalDevicePushDescriptorPropertiesKHRStructure describing push descriptor limits that can be supported by an implementation
VkPhysicalDeviceMultiviewPropertiesStructure describing multiview limits that can be supported by an implementation
VkPhysicalDeviceFloatControlsPropertiesStructure describing properties supported by VK_KHR_shader_float_controls
VkShaderFloatControlsIndependenceBitmask specifying whether, and how, shader float controls can be set separately
VkPhysicalDeviceDiscardRectanglePropertiesEXTStructure describing discard rectangle limits that can be supported by an implementation
VkPhysicalDeviceSampleLocationsPropertiesEXTStructure describing sample location limits that can be supported by an implementation
VkPhysicalDeviceLegacyVertexAttributesPropertiesEXTStructure describing properties for legacy vertex attributes
VkPhysicalDeviceExternalMemoryHostPropertiesEXTStructure describing external memory host pointer limits that can be supported by an implementation
VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVXStructure describing multiview limits that can be supported by an implementation
VkPhysicalDevicePointClippingPropertiesStructure describing the point clipping behavior supported by an implementation
VkPhysicalDeviceBlendOperationAdvancedPropertiesEXTStructure describing advanced blending limits that can be supported by an implementation
VkPhysicalDeviceVertexAttributeDivisorPropertiesEXTStructure describing max value of vertex attribute divisor that can be supported by an implementation
VkPhysicalDeviceVertexAttributeDivisorPropertiesKHRStructure describing max value of vertex attribute divisor that can be supported by an implementation
VkPhysicalDeviceSamplerFilterMinmaxPropertiesStructure describing sampler filter minmax limits that can be supported by an implementation
VkPhysicalDeviceMaintenance3PropertiesStructure describing descriptor set properties
VkPhysicalDeviceMaintenance4PropertiesStructure describing various implementation-defined properties introduced with VK_KHR_maintenance4
VkPhysicalDeviceMaintenance5PropertiesKHRStructure describing various implementation-defined properties introduced with VK_KHR_maintenance5
VkPhysicalDeviceMaintenance6PropertiesKHRStructure describing various implementation-defined properties introduced with VK_KHR_maintenance6
VkPhysicalDeviceMaintenance7PropertiesKHRStructure describing various implementation-defined properties introduced with VK_KHR_maintenance7
VkPhysicalDeviceLayeredApiPropertiesListKHRStructure describing layered implementations underneath the Vulkan physical device
VkPhysicalDeviceLayeredApiPropertiesKHRStructure describing a single layered implementation underneath the Vulkan physical device
VkPhysicalDeviceLayeredApiKHRAPI implemented by the layered implementation
VkPhysicalDeviceLayeredApiVulkanPropertiesKHRStructure describing physical device properties of a layered Vulkan implementation underneath the Vulkan physical device
VkPhysicalDeviceMeshShaderPropertiesNVStructure describing mesh shading properties
VkPhysicalDeviceMeshShaderPropertiesEXTStructure describing mesh shading properties
VkPhysicalDeviceDescriptorIndexingPropertiesStructure describing descriptor indexing properties that can be supported by an implementation
VkPhysicalDeviceInlineUniformBlockPropertiesStructure describing inline uniform block properties that can be supported by an implementation
VkPhysicalDeviceConservativeRasterizationPropertiesEXTStructure describing conservative raster properties that can be supported by an implementation
VkPhysicalDeviceFragmentDensityMapPropertiesEXTStructure describing fragment density map properties that can be supported by an implementation
VkPhysicalDeviceFragmentDensityMap2PropertiesEXTStructure describing additional fragment density map properties that can be supported by an implementation
VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOMStructure describing fragment density map offset properties that can be supported by an implementation
VkPhysicalDeviceShaderCorePropertiesAMDStructure describing shader core properties that can be supported by an implementation
VkPhysicalDeviceShaderCoreProperties2AMDStructure describing shader core properties that can be supported by an implementation
VkShaderCorePropertiesFlagBitsAMDBitmask specifying shader core properties
VkShaderCorePropertiesFlagsAMDBitmask of VkShaderCorePropertiesFlagBitsAMD
VkPhysicalDeviceDepthStencilResolvePropertiesStructure describing depth/stencil resolve properties that can be supported by an implementation
VkPhysicalDevicePerformanceQueryPropertiesKHRStructure describing performance query properties for an implementation
VkPhysicalDeviceShadingRateImagePropertiesNVStructure describing shading rate image limits that can be supported by an implementation
VkPhysicalDeviceMemoryDecompressionPropertiesNVStructure describing supported memory decompression methods by an implementation
VkPhysicalDeviceTransformFeedbackPropertiesEXTStructure describing transform feedback properties that can be supported by an implementation
VkPhysicalDeviceCopyMemoryIndirectPropertiesNVStructure describing supported queues for indirect copy
VkPhysicalDeviceRayTracingPropertiesNVProperties of the physical device for ray tracing
VkPhysicalDeviceAccelerationStructurePropertiesKHRProperties of the physical device for acceleration structure
VkPhysicalDeviceRayTracingPipelinePropertiesKHRProperties of the physical device for ray tracing
VkPhysicalDeviceCooperativeMatrixPropertiesNVStructure describing cooperative matrix properties supported by an implementation
VkPhysicalDeviceCooperativeMatrixPropertiesKHRStructure describing cooperative matrix properties supported by an implementation
VkPhysicalDeviceShaderSMBuiltinsPropertiesNVStructure describing shader SM Builtins properties supported by an implementation
VkPhysicalDeviceTexelBufferAlignmentPropertiesStructure describing the texel buffer alignment requirements supported by an implementation
VkPhysicalDeviceTimelineSemaphorePropertiesStructure describing timeline semaphore properties that can be supported by an implementation
VkPhysicalDeviceLineRasterizationPropertiesKHRStructure describing line rasterization properties supported by an implementation
VkPhysicalDeviceRobustness2PropertiesEXTStructure describing robust buffer access properties supported by an implementation
VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNVStructure describing push descriptor limits that can be supported by an implementation
VkPhysicalDevicePortabilitySubsetPropertiesKHRStructure describing additional properties supported by a portable implementation
VkPhysicalDeviceFragmentShadingRatePropertiesKHRStructure describing variable fragment shading rate limits that can be supported by an implementation
VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNVStructure describing fragment shading rate limits that can be supported by an implementation
VkPhysicalDeviceCustomBorderColorPropertiesEXTStructure describing whether custom border colors can be supported by an implementation
VkPhysicalDeviceProvokingVertexPropertiesEXTStructure describing provoking vertex properties supported by an implementation
VkPhysicalDeviceDescriptorBufferPropertiesEXTStructure describing descriptor buffer properties supported by an implementation
VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXTStructure describing descriptor buffer density map properties supported by an implementation
VkPhysicalDeviceHostImageCopyPropertiesEXTStructure enumerating image layouts supported by an implementation for host memory copies
VkPhysicalDeviceSubpassShadingPropertiesHUAWEIStructure describing subpass shading properties supported by an implementation
VkPhysicalDeviceMultiDrawPropertiesEXTStructure describing multidraw limits of an implementation
VkPhysicalDeviceNestedCommandBufferPropertiesEXTStructure describing the nested command buffer limits of an implementation
VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXTStructure describing additional properties of graphics pipeline libraries
VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHRStructure describing fragment shader barycentric limits of an implementation
VkPhysicalDeviceShaderModuleIdentifierPropertiesEXTStructure describing shader module identifier properties of an implementation
VkPhysicalDevicePipelineRobustnessPropertiesEXTStructure describing the default robustness behavior of a physical device
VkPhysicalDeviceExtendedDynamicState3PropertiesEXTStructure describing capabilities of extended dynamic state
VkPhysicalDeviceOpticalFlowPropertiesNVStructure describing properties supported by VK_NV_optical_flow
VkPhysicalDeviceOpacityMicromapPropertiesEXTStructure describing the opacity micromap properties of a physical device
VkPhysicalDeviceDisplacementMicromapPropertiesNVStructure describing the displacement micromap properties of a physical device
VkPhysicalDeviceShaderCoreBuiltinsPropertiesARMStructure describing shader core builtins properties supported by an implementation
VkRayTracingInvocationReorderModeNVEnum providing a hint on how the application may reorder
VkPhysicalDeviceRayTracingInvocationReorderPropertiesNVStructure describing shader module identifier properties of an implementation
VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEIStructure describing cluster culling shader properties supported by an implementation
VkPhysicalDeviceShaderCorePropertiesARMStructure describing shader core properties that can be supported by an implementation
VkPhysicalDeviceShaderObjectPropertiesEXTStructure describing shader object properties supported by an implementation
VkPhysicalDeviceShaderEnqueuePropertiesAMDXStructure describing shader enqueue limits of an implementation
VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNVStructure describing sparse address space limits of an implementation
VkPhysicalDeviceCudaKernelLaunchPropertiesNVStructure describing the compute capability version available
VkPhysicalDeviceExternalFormatResolvePropertiesANDROIDStructure describing external format resolve supported by an implementation
VkPhysicalDevicePipelineBinaryPropertiesKHRStructure describing properties about the pipeline binary implementation
VkPhysicalDeviceRenderPassStripedPropertiesARMStructure describing striped rendering limits of an implementation
VkPhysicalDeviceComputeShaderDerivativesPropertiesKHRStructure describing compute shader derivative operations supported by an implementation
VkPhysicalDeviceMapMemoryPlacedPropertiesEXTStructure describing the alignment requirements of placed memory maps for a physical device
VkPhysicalDeviceImageAlignmentControlPropertiesMESAStructure describing supported image alignments for a physical device

Limit Requirements

The following table specifies the required minimum/maximum for all Vulkan graphics implementations. Where a limit corresponds to a fine-grained device feature which is optional, the feature name is listed with two required limits, one when the feature is supported and one when it is not supported. If an implementation supports a feature, the limits reported are the same whether or not the feature is enabled.

Table 64. Required Limit Types
TypeLimitFeature

uint32_t

maxImageDimension1D

-

uint32_t

maxImageDimension2D

-

uint32_t

maxImageDimension3D

-

uint32_t

maxImageDimensionCube

-

uint32_t

maxImageArrayLayers

-

uint32_t

maxTexelBufferElements

-

uint32_t

maxUniformBufferRange

-

uint32_t

maxStorageBufferRange

-

uint32_t

maxPushConstantsSize

-

uint32_t

maxMemoryAllocationCount

-

uint32_t

maxSamplerAllocationCount

-

VkDeviceSize

bufferImageGranularity

-

VkDeviceSize

sparseAddressSpaceSize

sparseBinding

uint32_t

maxBoundDescriptorSets

-

uint32_t

maxPerStageDescriptorSamplers

-

uint32_t

maxPerStageDescriptorUniformBuffers

-

uint32_t

maxPerStageDescriptorStorageBuffers

-

uint32_t

maxPerStageDescriptorSampledImages

-

uint32_t

maxPerStageDescriptorStorageImages

-

uint32_t

maxPerStageDescriptorInputAttachments

-

uint32_t

maxPerStageResources

-

uint32_t

maxDescriptorSetSamplers

-

uint32_t

maxDescriptorSetUniformBuffers

-

uint32_t

maxDescriptorSetUniformBuffersDynamic

-

uint32_t

maxDescriptorSetStorageBuffers

-

uint32_t

maxDescriptorSetStorageBuffersDynamic

-

uint32_t

maxDescriptorSetSampledImages

-

uint32_t

maxDescriptorSetStorageImages

-

uint32_t

maxDescriptorSetInputAttachments

-

uint32_t

maxVertexInputAttributes

-

uint32_t

maxVertexInputBindings

-

uint32_t

maxVertexInputAttributeOffset

-

uint32_t

maxVertexInputBindingStride

-

uint32_t

maxVertexOutputComponents

-

uint32_t

maxTessellationGenerationLevel

tessellationShader

uint32_t

maxTessellationPatchSize

tessellationShader

uint32_t

maxTessellationControlPerVertexInputComponents

tessellationShader

uint32_t

maxTessellationControlPerVertexOutputComponents

tessellationShader

uint32_t

maxTessellationControlPerPatchOutputComponents

tessellationShader

uint32_t

maxTessellationControlTotalOutputComponents

tessellationShader

uint32_t

maxTessellationEvaluationInputComponents

tessellationShader

uint32_t

maxTessellationEvaluationOutputComponents

tessellationShader

uint32_t

maxGeometryShaderInvocations

geometryShader

uint32_t

maxGeometryInputComponents

geometryShader

uint32_t

maxGeometryOutputComponents

geometryShader

uint32_t

maxGeometryOutputVertices

geometryShader

uint32_t

maxGeometryTotalOutputComponents

geometryShader

uint32_t

maxFragmentInputComponents

-

uint32_t

maxFragmentOutputAttachments

-

uint32_t

maxFragmentDualSrcAttachments

dualSrcBlend

uint32_t

maxFragmentCombinedOutputResources

-

uint32_t

maxComputeSharedMemorySize

-

3 {times} uint32_t

maxComputeWorkGroupCount

-

uint32_t

maxComputeWorkGroupInvocations

-

3 {times} uint32_t

maxComputeWorkGroupSize

-

uint32_t

subPixelPrecisionBits

-

uint32_t

subTexelPrecisionBits

-

uint32_t

mipmapPrecisionBits

-

uint32_t

maxDrawIndexedIndexValue

fullDrawIndexUint32

uint32_t

maxDrawIndirectCount

multiDrawIndirect

float

maxSamplerLodBias

-

float

maxSamplerAnisotropy

samplerAnisotropy

uint32_t

maxViewports

multiViewport

2 {times} uint32_t

maxViewportDimensions

-

2 {times} float

viewportBoundsRange

-

uint32_t

viewportSubPixelBits

-

size_t

minMemoryMapAlignment

-

VkDeviceSize

minTexelBufferOffsetAlignment

-

VkDeviceSize

minUniformBufferOffsetAlignment

-

VkDeviceSize

minStorageBufferOffsetAlignment

-

int32_t

minTexelOffset

-

uint32_t

maxTexelOffset

-

int32_t

minTexelGatherOffset

shaderImageGatherExtended

uint32_t

maxTexelGatherOffset

shaderImageGatherExtended

float

minInterpolationOffset

sampleRateShading

float

maxInterpolationOffset

sampleRateShading

uint32_t

subPixelInterpolationOffsetBits

sampleRateShading

uint32_t

maxFramebufferWidth

-

uint32_t

maxFramebufferHeight

-

uint32_t

maxFramebufferLayers

-

VkSampleCountFlags

framebufferColorSampleCounts

-

VkSampleCountFlags

framebufferDepthSampleCounts

-

VkSampleCountFlags

framebufferStencilSampleCounts

-

VkSampleCountFlags

framebufferNoAttachmentsSampleCounts

-

uint32_t

maxColorAttachments

-

VkSampleCountFlags

sampledImageColorSampleCounts

-

VkSampleCountFlags

sampledImageIntegerSampleCounts

-

VkSampleCountFlags

sampledImageDepthSampleCounts

-

VkSampleCountFlags

sampledImageStencilSampleCounts

-

VkSampleCountFlags

storageImageSampleCounts

shaderStorageImageMultisample

uint32_t

maxSampleMaskWords

-

VkBool32

timestampComputeAndGraphics

-

float

timestampPeriod

-

uint32_t

maxClipDistances

shaderClipDistance

uint32_t

maxCullDistances

shaderCullDistance

uint32_t

maxCombinedClipAndCullDistances

shaderCullDistance

uint32_t

discreteQueuePriorities

-

2 {times} float

pointSizeRange

largePoints

2 {times} float

lineWidthRange

wideLines

float

pointSizeGranularity

largePoints

float

lineWidthGranularity

wideLines

VkBool32

strictLines

-

VkBool32

standardSampleLocations

-

VkDeviceSize

optimalBufferCopyOffsetAlignment

-

VkDeviceSize

optimalBufferCopyRowPitchAlignment

-

VkDeviceSize

nonCoherentAtomSize

-

uint32_t

maxDiscardRectangles

VK_EXT_discard_rectangles

VkBool32

filterMinmaxSingleComponentFormats

VK_EXT_sampler_filter_minmax

VkBool32

filterMinmaxImageComponentMapping

VK_EXT_sampler_filter_minmax

VkDeviceSize

maxBufferSize

maintenance4

float

primitiveOverestimationSize

VK_EXT_conservative_rasterization

VkBool32

maxExtraPrimitiveOverestimationSize

VK_EXT_conservative_rasterization

float

extraPrimitiveOverestimationSizeGranularity

VK_EXT_conservative_rasterization

VkBool32

degenerateTriangleRasterized

VK_EXT_conservative_rasterization

float

degenerateLinesRasterized

VK_EXT_conservative_rasterization

VkBool32

fullyCoveredFragmentShaderInputVariable

VK_EXT_conservative_rasterization

VkBool32

conservativeRasterizationPostDepthCoverage

VK_EXT_conservative_rasterization

uint32_t

maxUpdateAfterBindDescriptorsInAllPools

descriptorIndexing

VkBool32

shaderUniformBufferArrayNonUniformIndexingNative

-

VkBool32

shaderSampledImageArrayNonUniformIndexingNative

-

VkBool32

shaderStorageBufferArrayNonUniformIndexingNative

-

VkBool32

shaderStorageImageArrayNonUniformIndexingNative

-

VkBool32

shaderInputAttachmentArrayNonUniformIndexingNative

-

uint32_t

maxPerStageDescriptorUpdateAfterBindSamplers

descriptorIndexing

uint32_t

maxPerStageDescriptorUpdateAfterBindUniformBuffers

descriptorIndexing

uint32_t

maxPerStageDescriptorUpdateAfterBindStorageBuffers

descriptorIndexing

uint32_t

maxPerStageDescriptorUpdateAfterBindSampledImages

descriptorIndexing

uint32_t

maxPerStageDescriptorUpdateAfterBindStorageImages

descriptorIndexing

uint32_t

maxPerStageDescriptorUpdateAfterBindInputAttachments

descriptorIndexing

uint32_t

maxPerStageUpdateAfterBindResources

descriptorIndexing

uint32_t

maxDescriptorSetUpdateAfterBindSamplers

descriptorIndexing

uint32_t

maxDescriptorSetUpdateAfterBindUniformBuffers

descriptorIndexing

uint32_t

maxDescriptorSetUpdateAfterBindUniformBuffersDynamic

descriptorIndexing

uint32_t

maxDescriptorSetUpdateAfterBindStorageBuffers

descriptorIndexing

uint32_t

maxDescriptorSetUpdateAfterBindStorageBuffersDynamic

descriptorIndexing

uint32_t

maxDescriptorSetUpdateAfterBindSampledImages

descriptorIndexing

uint32_t

maxDescriptorSetUpdateAfterBindStorageImages

descriptorIndexing

uint32_t

maxDescriptorSetUpdateAfterBindInputAttachments

descriptorIndexing

uint32_t

maxInlineUniformBlockSize

inlineUniformBlock

uint32_t

maxPerStageDescriptorInlineUniformBlocks

inlineUniformBlock

uint32_t

maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks

inlineUniformBlock

uint32_t

maxDescriptorSetInlineUniformBlocks

inlineUniformBlock

uint32_t

maxDescriptorSetUpdateAfterBindInlineUniformBlocks

inlineUniformBlock

uint32_t

maxVertexAttribDivisor

VK_KHR_vertex_attribute_divisor

uint32_t

VkPhysicalDeviceMeshShaderPropertiesNV::maxDrawMeshTasksCount

VK_NV_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesNV::maxTaskWorkGroupInvocations

VK_NV_mesh_shader

3 {times} uint32_t

VkPhysicalDeviceMeshShaderPropertiesNV::maxTaskWorkGroupSize

VK_NV_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesNV::maxTaskTotalMemorySize

VK_NV_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesNV::maxTaskOutputCount

VK_NV_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesNV::maxMeshWorkGroupInvocations

VK_NV_mesh_shader

3 {times} uint32_t

VkPhysicalDeviceMeshShaderPropertiesNV::maxMeshWorkGroupSize

VK_NV_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesNV::maxMeshTotalMemorySize

VK_NV_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesNV::maxMeshOutputVertices

VK_NV_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesNV::maxMeshOutputPrimitives

VK_NV_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesNV::maxMeshMultiviewViewCount

VK_NV_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesNV::meshOutputPerVertexGranularity

VK_NV_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesNV::meshOutputPerPrimitiveGranularity

VK_NV_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesEXT::maxTaskWorkGroupTotalCount

VK_EXT_mesh_shader

3 {times} uint32_t

VkPhysicalDeviceMeshShaderPropertiesEXT::maxTaskWorkGroupCount

VK_EXT_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesEXT::maxTaskWorkGroupInvocations

VK_EXT_mesh_shader

3 {times} uint32_t

VkPhysicalDeviceMeshShaderPropertiesEXT::maxTaskWorkGroupSize

VK_EXT_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesEXT::maxTaskPayloadSize

VK_EXT_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesEXT::maxTaskSharedMemorySize

VK_EXT_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesEXT::maxTaskPayloadAndSharedMemorySize

VK_EXT_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshWorkGroupTotalCount

VK_EXT_mesh_shader

3 {times} uint32_t

VkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshWorkGroupCount

VK_EXT_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshWorkGroupInvocations

VK_EXT_mesh_shader

3 {times} uint32_t

VkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshWorkGroupSize

VK_EXT_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshSharedMemorySize

VK_EXT_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshPayloadAndSharedMemorySize

VK_EXT_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshOutputMemorySize

VK_EXT_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshPayloadAndOutputMemorySize

VK_EXT_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshOutputComponents

VK_EXT_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshOutputVertices

VK_EXT_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshOutputPrimitives

VK_EXT_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshOutputLayers

VK_EXT_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshMultiviewViewCount

VK_EXT_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesEXT::meshOutputPerVertexGranularity

VK_EXT_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesEXT::meshOutputPerPrimitiveGranularity

VK_EXT_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesEXT::maxPreferredTaskWorkGroupInvocations

VK_EXT_mesh_shader

uint32_t

VkPhysicalDeviceMeshShaderPropertiesEXT::maxPreferredMeshWorkGroupInvocations

VK_EXT_mesh_shader

VkBool32

VkPhysicalDeviceMeshShaderPropertiesEXT::prefersLocalInvocationVertexOutput

VK_EXT_mesh_shader

VkBool32

VkPhysicalDeviceMeshShaderPropertiesEXT::prefersLocalInvocationPrimitiveOutput

VK_EXT_mesh_shader

VkBool32

VkPhysicalDeviceMeshShaderPropertiesEXT::prefersCompactVertexOutput

VK_EXT_mesh_shader

VkBool32

VkPhysicalDeviceMeshShaderPropertiesEXT::prefersCompactPrimitiveOutput

VK_EXT_mesh_shader

uint32_t

maxTransformFeedbackStreams

VK_EXT_transform_feedback

uint32_t

maxTransformFeedbackBuffers

VK_EXT_transform_feedback

VkDeviceSize

maxTransformFeedbackBufferSize

VK_EXT_transform_feedback

uint32_t

maxTransformFeedbackStreamDataSize

VK_EXT_transform_feedback

uint32_t

maxTransformFeedbackBufferDataSize

VK_EXT_transform_feedback

uint32_t

maxTransformFeedbackBufferDataStride

VK_EXT_transform_feedback

VkBool32

transformFeedbackQueries

VK_EXT_transform_feedback

VkBool32

transformFeedbackStreamsLinesTriangles

VK_EXT_transform_feedback

VkBool32

transformFeedbackRasterizationStreamSelect

VK_EXT_transform_feedback

VkBool32

transformFeedbackDraw

VK_EXT_transform_feedback

VkExtent2D

minFragmentDensityTexelSize

fragmentDensityMap

VkExtent2D

maxFragmentDensityTexelSize

fragmentDensityMap

VkBool32

fragmentDensityInvocations

fragmentDensityMap

VkBool32

subsampledLoads

VK_EXT_fragment_density_map2

VkBool32

subsampledCoarseReconstructionEarlyAccess

VK_EXT_fragment_density_map2

uint32_t

maxSubsampledArrayLayers

VK_EXT_fragment_density_map2

uint32_t

maxDescriptorSetSubsampledSamplers

VK_EXT_fragment_density_map2

VkExtent2D

fragmentDensityOffsetGranularity

fragmentDensityMapOffset

uint32_t

maxGeometryCount

VK_NV_ray_tracing, VK_KHR_acceleration_structure

uint32_t

maxInstanceCount

VK_NV_ray_tracing, VK_KHR_acceleration_structure

uint32_t

shaderGroupHandleSize

VK_NV_ray_tracing, VK_KHR_ray_tracing_pipeline

uint32_t

maxShaderGroupStride

VK_NV_ray_tracing, VK_KHR_ray_tracing_pipeline

uint32_t

shaderGroupBaseAlignment

VK_NV_ray_tracing, VK_KHR_ray_tracing_pipeline

uint32_t

maxRecursionDepth

VK_NV_ray_tracing

uint32_t

maxTriangleCount

VK_NV_ray_tracing

uint32_t

maxPerStageDescriptorAccelerationStructures

VK_KHR_acceleration_structure

uint32_t

maxPerStageDescriptorUpdateAfterBindAccelerationStructures

VK_KHR_acceleration_structure

uint32_t

maxDescriptorSetAccelerationStructures

VK_NV_ray_tracing, VK_KHR_acceleration_structure

uint32_t

maxDescriptorSetUpdateAfterBindAccelerationStructures

VK_KHR_acceleration_structure

uint32_t

minAccelerationStructureScratchOffsetAlignment

VK_KHR_acceleration_structure

uint32_t

maxRayRecursionDepth

VK_KHR_ray_tracing_pipeline

uint32_t

shaderGroupHandleCaptureReplaySize

VK_KHR_ray_tracing_pipeline

uint32_t

maxRayDispatchInvocationCount

VK_KHR_ray_tracing_pipeline

uint32_t

shaderGroupHandleAlignment

VK_KHR_ray_tracing_pipeline

uint32_t

maxRayHitAttributeSize

VK_KHR_ray_tracing_pipeline

uint64_t

maxTimelineSemaphoreValueDifference

timelineSemaphore

uint32_t

lineSubPixelPrecisionBits

VK_KHR_line_rasterization, VK_EXT_line_rasterization

uint32_t

maxCustomBorderColorSamplers

VK_EXT_custom_border_color

VkDeviceSize

robustStorageBufferAccessSizeAlignment

VK_EXT_robustness2

VkDeviceSize

robustUniformBufferAccessSizeAlignment

VK_EXT_robustness2

2 {times} uint32_t

minFragmentShadingRateAttachmentTexelSize

attachmentFragmentShadingRate

2 {times} uint32_t

maxFragmentShadingRateAttachmentTexelSize

attachmentFragmentShadingRate

uint32_t

maxFragmentShadingRateAttachmentTexelSizeAspectRatio

attachmentFragmentShadingRate

VkBool32

primitiveFragmentShadingRateWithMultipleViewports

primitiveFragmentShadingRate

VkBool32

layeredShadingRateAttachments

attachmentFragmentShadingRate

VkBool32

fragmentShadingRateNonTrivialCombinerOps

pipelineFragmentShadingRate

2 {times} uint32_t

maxFragmentSize

pipelineFragmentShadingRate

uint32_t

maxFragmentSizeAspectRatio

pipelineFragmentShadingRate

uint32_t

maxFragmentShadingRateCoverageSamples

pipelineFragmentShadingRate

VkSampleCountFlagBits

maxFragmentShadingRateRasterizationSamples

pipelineFragmentShadingRate

VkBool32

fragmentShadingRateWithShaderDepthStencilWrites

pipelineFragmentShadingRate

VkBool32

fragmentShadingRateWithSampleMask

pipelineFragmentShadingRate

VkBool32

fragmentShadingRateWithShaderSampleMask

pipelineFragmentShadingRate

VkBool32

fragmentShadingRateWithConservativeRasterization

pipelineFragmentShadingRate

VkBool32

fragmentShadingRateWithFragmentShaderInterlock

pipelineFragmentShadingRate

VkBool32

fragmentShadingRateWithCustomSampleLocations

pipelineFragmentShadingRate

VkBool32

fragmentShadingRateStrictMultiplyCombiner

pipelineFragmentShadingRate

VkSampleCountFlagBits

maxFragmentShadingRateInvocationCount

supersampleFragmentShadingRates

VkBool32

combinedImageSamplerDescriptorSingleArray

VkBool32

bufferlessPushDescriptors

VkBool32

allowSamplerImageViewPostSubmitCreation

VkDeviceSize

descriptorBufferOffsetAlignment

uint32_t

maxDescriptorBufferBindings

uint32_t

maxResourceDescriptorBufferBindings

uint32_t

maxSamplerDescriptorBufferBindings

uint32_t

maxEmbeddedImmutableSamplerBindings

uint32_t

maxEmbeddedImmutableSamplers

size_t

bufferCaptureReplayDescriptorDataSize

size_t

imageCaptureReplayDescriptorDataSize

size_t

imageViewCaptureReplayDescriptorDataSize

size_t

samplerCaptureReplayDescriptorDataSize

size_t

accelerationStructureCaptureReplayDescriptorDataSize

size_t

samplerDescriptorSize

size_t

combinedImageSamplerDescriptorSize

size_t

sampledImageDescriptorSize

size_t

storageImageDescriptorSize

size_t

uniformTexelBufferDescriptorSize

size_t

robustUniformTexelBufferDescriptorSize

size_t

storageTexelBufferDescriptorSize

size_t

robustStorageTexelBufferDescriptorSize

size_t

uniformBufferDescriptorSize

size_t

robustUniformBufferDescriptorSize

size_t

storageBufferDescriptorSize

size_t

robustStorageBufferDescriptorSize

size_t

inputAttachmentDescriptorSize

size_t

accelerationStructureDescriptorSize

VkDeviceSize

maxSamplerDescriptorBufferRange

VkDeviceSize

maxResourceDescriptorBufferRange

VkDeviceSize

samplerDescriptorBufferAddressSpaceSize

VkDeviceSize

resourceDescriptorBufferAddressSpaceSize

VkDeviceSize

descriptorBufferAddressSpaceSize

size_t

combinedImageSamplerDensityMapDescriptorSize

uint32_t

maxSubpassShadingWorkgroupSizeAspectRatio

subpassShading

VkBool32

graphicsPipelineLibraryFastLinking

graphicsPipelineLibrary

VkBool32

graphicsPipelineLibraryIndependentInterpolationDecoration

graphicsPipelineLibrary

VkBool32

triStripVertexOrderIndependentOfProvokingVertex

-

uint32_t

maxWeightFilterPhases

textureSampleWeighted

2 {times} uint32_t

maxWeightFilterDimension

textureSampleWeighted

2 {times} uint32_t

maxBlockMatchRegion

textureBlockMatch

2 {times} uint32_t

maxBoxFilterBlockSize

textureBoxFilter

VkBool32

dynamicPrimitiveTopologyUnrestricted

VK_EXT_extended_dynamic_state3

uint32_t

maxOpacity2StateSubdivisionLevel

VK_EXT_opacity_micromap

uint32_t

maxOpacity4StateSubdivisionLevel

VK_EXT_opacity_micromap

uint64_t

maxDecompressionIndirectCount

VK_NV_memory_decompression

3 {times} uint32_t

maxWorkGroupCount

VK_HUAWEI_cluster_culling_shader

3 {times} uint32_t

maxWorkGroupSize

VK_HUAWEI_cluster_culling_shader

uint32_t

maxOutputClusterCount

VK_HUAWEI_cluster_culling_shader

VkDeviceSize

indirectBufferOffsetAlignment

VK_HUAWEI_cluster_culling_shader

uint32_t

maxExecutionGraphDepth

shaderEnqueue

uint32_t

maxExecutionGraphShaderOutputNodes

shaderEnqueue

uint32_t

maxExecutionGraphShaderPayloadSize

shaderEnqueue

uint32_t

maxExecutionGraphShaderPayloadCount

shaderEnqueue

uint32_t

executionGraphDispatchAddressAlignment

shaderEnqueue

VkDeviceSize

extendedSparseAddressSpaceSize

sparseBinding, extendedSparseAddressSpace

uint32_t

supportedImageAlignmentMask

imageAlignmentControl

VkBool32

separateDepthStencilAttachmentAccess

maintenance7

uint32_t

maxDescriptorSetTotalUniformBuffersDynamic

maintenance7

uint32_t

maxDescriptorSetTotalStorageBuffersDynamic

maintenance7

uint32_t

maxDescriptorSetTotalBuffersDynamic

maintenance7

uint32_t

maxDescriptorSetUpdateAfterBindTotalUniformBuffersDynamic

maintenance7

uint32_t

maxDescriptorSetUpdateAfterBindTotalStorageBuffersDynamic

maintenance7

uint32_t

maxDescriptorSetUpdateAfterBindTotalBuffersDynamic

maintenance7

Table 65. Required Limits
LimitUnsupported LimitSupported LimitLimit Type1

maxImageDimension1D

-

4096

min

maxImageDimension2D

-

4096

min

maxImageDimension3D

-

256

min

maxImageDimensionCube

-

4096

min

maxImageArrayLayers

-

256

min

maxTexelBufferElements

-

65536

min

maxUniformBufferRange

-

16384

min

maxStorageBufferRange

-

227

min

maxPushConstantsSize

-

128

min

maxMemoryAllocationCount

-

4096

min

maxSamplerAllocationCount

-

4000

min

bufferImageGranularity

-

131072

max

sparseAddressSpaceSize

0

231

min

maxBoundDescriptorSets

-

4

min

maxPerStageDescriptorSamplers

-

16

min

maxPerStageDescriptorUniformBuffers

-

12

min

maxPerStageDescriptorStorageBuffers

-

4

min

maxPerStageDescriptorSampledImages

-

16

min

maxPerStageDescriptorStorageImages

-

4

min

maxPerStageDescriptorInputAttachments

-

4

min

maxPerStageResources

-

128 2

min

maxDescriptorSetSamplers

-

96 8

min, n {times} PerStage

maxDescriptorSetUniformBuffers

-

72 8

min, n {times} PerStage

maxDescriptorSetUniformBuffersDynamic

-

8

min

maxDescriptorSetStorageBuffers

-

24 8

min, n {times} PerStage

maxDescriptorSetStorageBuffersDynamic

-

4

min

maxDescriptorSetTotalUniformBuffersDynamic

-

maxDescriptorSetUniformBuffersDynamic

min

maxDescriptorSetTotalStorageBuffersDynamic

-

maxDescriptorSetStorageBuffersDynamic

min

maxDescriptorSetTotalBuffersDynamic

-

maxDescriptorSetUniformBuffersDynamic + maxDescriptorSetStorageBuffersDynamic

min

maxDescriptorSetSampledImages

-

96 8

min, n {times} PerStage

maxDescriptorSetStorageImages

-

24 8

min, n {times} PerStage

maxDescriptorSetInputAttachments

-

4

min

maxVertexInputAttributes

-

16

min

maxVertexInputBindings

-

16 10

min

maxVertexInputAttributeOffset

-

2047

min

maxVertexInputBindingStride

-

2048

min

maxVertexOutputComponents

-

64

min

maxTessellationGenerationLevel

0

64

min

maxTessellationPatchSize

0

32

min

maxTessellationControlPerVertexInputComponents

0

64

min

maxTessellationControlPerVertexOutputComponents

0

64

min

maxTessellationControlPerPatchOutputComponents

0

120

min

maxTessellationControlTotalOutputComponents

0

2048

min

maxTessellationEvaluationInputComponents

0

64

min

maxTessellationEvaluationOutputComponents

0

64

min

maxGeometryShaderInvocations

0

32

min

maxGeometryInputComponents

0

64

min

maxGeometryOutputComponents

0

64

min

maxGeometryOutputVertices

0

256

min

maxGeometryTotalOutputComponents

0

1024

min

maxFragmentInputComponents

-

64

min

maxFragmentOutputAttachments

-

4

min

maxFragmentDualSrcAttachments

0

1

min

maxFragmentCombinedOutputResources

-

4

min

maxComputeSharedMemorySize

-

16384

min

maxComputeWorkGroupCount

-

(65535,65535,65535)

min

maxComputeWorkGroupInvocations

-

128

min

maxComputeWorkGroupSize

-

(128,128,64)

min

subPixelPrecisionBits

-

4

min

subTexelPrecisionBits

-

4

min

mipmapPrecisionBits

-

4

min

maxDrawIndexedIndexValue

224-1

232-1

min

maxDrawIndirectCount

1

216-1

min

maxSamplerLodBias

-

2

min

maxSamplerAnisotropy

1

16

min

maxViewports

1

16

min

maxViewportDimensions

-

(4096,4096) 3

min

viewportBoundsRange

-

(-8192,8191) 4

(max,min)

viewportSubPixelBits

-

0

min

minMemoryMapAlignment

-

64

min

minTexelBufferOffsetAlignment

-

256

max

minUniformBufferOffsetAlignment

-

256

max

minStorageBufferOffsetAlignment

-

256

max

minTexelOffset

-

-8

max

maxTexelOffset

-

7

min

minTexelGatherOffset

0

-8

max

maxTexelGatherOffset

0

7

min

minInterpolationOffset

0.0

-0.5 5

max

maxInterpolationOffset

0.0

0.5 - (1 ULP) 5

min

subPixelInterpolationOffsetBits

0

4 5

min

maxFramebufferWidth

-

4096

min

maxFramebufferHeight

-

4096

min

maxFramebufferLayers

-

256

min

framebufferColorSampleCounts

-

(VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_4_BIT)

min

framebufferDepthSampleCounts

-

(VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_4_BIT)

min

framebufferStencilSampleCounts

-

(VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_4_BIT)

min

framebufferNoAttachmentsSampleCounts

-

(VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_4_BIT)

min

maxColorAttachments

-

4

min

sampledImageColorSampleCounts

-

(VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_4_BIT)

min

sampledImageIntegerSampleCounts

-

VK_SAMPLE_COUNT_1_BIT

min

sampledImageDepthSampleCounts

-

(VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_4_BIT)

min

sampledImageStencilSampleCounts

-

(VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_4_BIT)

min

storageImageSampleCounts

VK_SAMPLE_COUNT_1_BIT

(VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_4_BIT)

min

maxSampleMaskWords

-

1

min

timestampComputeAndGraphics

-

-

implementation-dependent

timestampPeriod

-

-

duration

maxClipDistances

0

8

min

maxCullDistances

0

8

min

maxCombinedClipAndCullDistances

0

8

min

discreteQueuePriorities

-

2

min

pointSizeRange

(1.0,1.0)

(1.0,64.0 - ULP) 6

(max,min)

lineWidthRange

(1.0,1.0)

(1.0,8.0 - ULP) 7

(max,min)

pointSizeGranularity

0.0

1.0 6

max, fixed point increment

lineWidthGranularity

0.0

1.0 7

max, fixed point increment

strictLines

-

-

implementation-dependent

standardSampleLocations

-

-

implementation-dependent

optimalBufferCopyOffsetAlignment

-

-

recommendation

optimalBufferCopyRowPitchAlignment

-

-

recommendation

nonCoherentAtomSize

-

256

max

maxPushDescriptors

-

32

min

maxMultiviewViewCount

-

6

min

maxMultiviewInstanceIndex

-

227-1

min

maxDiscardRectangles

0

4

min

sampleLocationSampleCounts

-

VK_SAMPLE_COUNT_4_BIT

min

maxSampleLocationGridSize

-

(1,1)

min

sampleLocationCoordinateRange

-

(0.0, 0.9375)

(max,min)

sampleLocationSubPixelBits

-

4

min

variableSampleLocations

-

false

implementation-dependent

nativeUnalignedPerformance

-

false

implementation-dependent

minImportedHostPointerAlignment

-

65536

max

perViewPositionAllComponents

-

-

implementation-dependent

filterMinmaxSingleComponentFormats

-

-

implementation-dependent

filterMinmaxImageComponentMapping

-

-

implementation-dependent

advancedBlendMaxColorAttachments

-

1

min

advancedBlendIndependentBlend

-

false

implementation-dependent

advancedBlendNonPremultipliedSrcColor

-

false

implementation-dependent

advancedBlendNonPremultipliedDstColor

-

false

implementation-dependent

advancedBlendCorrelatedOverlap

-

false

implementation-dependent

advancedBlendAllOperations

-

false

implementation-dependent

maxPerSetDescriptors

-

1024

min

maxMemoryAllocationSize

-

230

min

maxBufferSize

-

230

min

primitiveOverestimationSize

-

0.0

min

maxExtraPrimitiveOverestimationSize

-

0.0

min

extraPrimitiveOverestimationSizeGranularity

-

0.0

min

primitiveUnderestimation

-

false

implementation-dependent

conservativePointAndLineRasterization

-

false

implementation-dependent

degenerateTrianglesRasterized

-

false

implementation-dependent

degenerateLinesRasterized

-

false

implementation-dependent

fullyCoveredFragmentShaderInputVariable

-

false

implementation-dependent

conservativeRasterizationPostDepthCoverage

-

false

implementation-dependent

maxUpdateAfterBindDescriptorsInAllPools

0

500000

min

shaderUniformBufferArrayNonUniformIndexingNative

-

false

implementation-dependent

shaderSampledImageArrayNonUniformIndexingNative

-

false

implementation-dependent

shaderStorageBufferArrayNonUniformIndexingNative

-

false

implementation-dependent

shaderStorageImageArrayNonUniformIndexingNative

-

false

implementation-dependent

shaderInputAttachmentArrayNonUniformIndexingNative

-

false

implementation-dependent

maxPerStageDescriptorUpdateAfterBindSamplers

0 9

500000 9

min

maxPerStageDescriptorUpdateAfterBindUniformBuffers

0 9

12 9

min

maxPerStageDescriptorUpdateAfterBindStorageBuffers

0 9

500000 9

min

maxPerStageDescriptorUpdateAfterBindSampledImages

0 9

500000 9

min

maxPerStageDescriptorUpdateAfterBindStorageImages

0 9

500000 9

min

maxPerStageDescriptorUpdateAfterBindInputAttachments

0 9

4 9

min

maxPerStageUpdateAfterBindResources

0 9

500000 9

min

maxDescriptorSetUpdateAfterBindSamplers

0 9

500000 9

min

maxDescriptorSetUpdateAfterBindUniformBuffers

0 9

72 8 9

min, n {times} PerStage

maxDescriptorSetUpdateAfterBindUniformBuffersDynamic

0 9

8 9

min

maxDescriptorSetUpdateAfterBindStorageBuffers

0 9

500000 9

min

maxDescriptorSetUpdateAfterBindStorageBuffersDynamic

0 9

4 9

min

maxDescriptorSetUpdateAfterBindTotalUniformBuffersDynamic

0 9

maxDescriptorSetUpdateAfterBindUniformBuffersDynamic

min

maxDescriptorSetUpdateAfterBindTotalStorageBuffersDynamic

0 9

maxDescriptorSetUpdateAfterBindStorageBuffersDynamic

min

maxDescriptorSetUpdateAfterBindTotalBuffersDynamic

0 9

maxDescriptorSetUpdateAfterBindUniformBuffersDynamic + maxDescriptorSetUpdateAfterBindStorageBuffersDynamic

min

maxDescriptorSetUpdateAfterBindSampledImages

0 9

500000 9

min

maxDescriptorSetUpdateAfterBindStorageImages

0 9

500000 9

min

maxDescriptorSetUpdateAfterBindInputAttachments

0 9

4 9

min

maxInlineUniformBlockSize

-

256

min

maxPerStageDescriptorInlineUniformBlocks

-

4

min

maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks

-

4

min

maxDescriptorSetInlineUniformBlocks

-

4

min

maxDescriptorSetUpdateAfterBindInlineUniformBlocks

-

4

min

maxVertexAttribDivisor

-

216-1

min

VkPhysicalDeviceMeshShaderPropertiesNV::maxDrawMeshTasksCount

-

216-1

min

VkPhysicalDeviceMeshShaderPropertiesNV::maxTaskWorkGroupInvocations

-

32

min

VkPhysicalDeviceMeshShaderPropertiesNV::maxTaskWorkGroupSize

-

(32,1,1)

min

VkPhysicalDeviceMeshShaderPropertiesNV::maxTaskTotalMemorySize

-

16384

min

VkPhysicalDeviceMeshShaderPropertiesNV::maxTaskOutputCount

-

216-1

min

VkPhysicalDeviceMeshShaderPropertiesNV::maxMeshWorkGroupInvocations

-

32

min

VkPhysicalDeviceMeshShaderPropertiesNV::maxMeshWorkGroupSize

-

(32,1,1)

min

VkPhysicalDeviceMeshShaderPropertiesNV::maxMeshTotalMemorySize

-

16384

min

VkPhysicalDeviceMeshShaderPropertiesNV::maxMeshOutputVertices

-

256

min

VkPhysicalDeviceMeshShaderPropertiesNV::maxMeshOutputPrimitives

-

256

min

VkPhysicalDeviceMeshShaderPropertiesNV::maxMeshMultiviewViewCount

-

1

min

VkPhysicalDeviceMeshShaderPropertiesNV::meshOutputPerVertexGranularity

-

-

implementation-dependent

VkPhysicalDeviceMeshShaderPropertiesNV::meshOutputPerPrimitiveGranularity

-

-

implementation-dependent

VkPhysicalDeviceMeshShaderPropertiesEXT::maxTaskWorkGroupTotalCount

-

2^22

min

VkPhysicalDeviceMeshShaderPropertiesEXT::maxTaskWorkGroupCount

-

(65535,65535,65535)

min

VkPhysicalDeviceMeshShaderPropertiesEXT::maxTaskWorkGroupInvocations

-

128

min

VkPhysicalDeviceMeshShaderPropertiesEXT::maxTaskWorkGroupSize

-

(128,128,128)

min

VkPhysicalDeviceMeshShaderPropertiesEXT::maxTaskPayloadSize

-

16384

min

VkPhysicalDeviceMeshShaderPropertiesEXT::maxTaskSharedMemorySize

-

32768

min

VkPhysicalDeviceMeshShaderPropertiesEXT::maxTaskPayloadAndSharedMemorySize

-

32768

min

VkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshWorkGroupTotalCount

-

2^22

min

VkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshWorkGroupCount

-

(65535,65535,65535)

min

VkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshWorkGroupInvocations

-

128

min

VkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshWorkGroupSize

-

(128,128,128)

min

VkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshSharedMemorySize

-

28672

min

VkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshPayloadAndSharedMemorySize

-

28672

min

VkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshOutputMemorySize

-

32768

min

VkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshPayloadAndOutputMemorySize

-

48128

min

VkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshOutputComponents

-

128

min

VkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshOutputVertices

-

256

min

VkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshOutputPrimitives

-

256

min

VkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshOutputLayers

-

8

min

VkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshMultiviewViewCount

-

1

min

VkPhysicalDeviceMeshShaderPropertiesEXT::meshOutputPerVertexGranularity

0

32

max

VkPhysicalDeviceMeshShaderPropertiesEXT::meshOutputPerPrimitiveGranularity

0

32

max

VkPhysicalDeviceMeshShaderPropertiesEXT::maxPreferredTaskWorkGroupInvocations

-

-

implementation-dependent

VkPhysicalDeviceMeshShaderPropertiesEXT::maxPreferredMeshWorkGroupInvocations

-

-

implementation-dependent

VkPhysicalDeviceMeshShaderPropertiesEXT::prefersLocalInvocationVertexOutput

-

-

implementation-dependent

VkPhysicalDeviceMeshShaderPropertiesEXT::prefersLocalInvocationPrimitiveOutput

-

-

implementation-dependent

VkPhysicalDeviceMeshShaderPropertiesEXT::prefersCompactVertexOutput

-

-

implementation-dependent

VkPhysicalDeviceMeshShaderPropertiesEXT::prefersCompactPrimitiveOutput

-

-

implementation-dependent

maxTransformFeedbackStreams

-

1

min

maxTransformFeedbackBuffers

-

1

min

maxTransformFeedbackBufferSize

-

227

min

maxTransformFeedbackStreamDataSize

-

512

min

maxTransformFeedbackBufferDataSize

-

512

min

maxTransformFeedbackBufferDataStride

-

512

min

transformFeedbackQueries

-

false

implementation-dependent

transformFeedbackStreamsLinesTriangles

-

false

implementation-dependent

transformFeedbackRasterizationStreamSelect

-

false

implementation-dependent

transformFeedbackDraw

-

false

implementation-dependent

minFragmentDensityTexelSize

-

(1,1)

min

maxFragmentDensityTexelSize

-

(1,1)

min

fragmentDensityInvocations

-

-

implementation-dependent

subsampledLoads

true

false

implementation-dependent

subsampledCoarseReconstructionEarlyAccess

false

false

implementation-dependent

maxSubsampledArrayLayers

2

2

min

maxDescriptorSetSubsampledSamplers

1

1

min

fragmentDensityOffsetGranularity

-

(1024,1024)

max

VkPhysicalDeviceRayTracingPropertiesNV::shaderGroupHandleSize

-

16

min

VkPhysicalDeviceRayTracingPropertiesNV::maxRecursionDepth

-

31

min

VkPhysicalDeviceRayTracingPipelinePropertiesKHR::shaderGroupHandleSize

-

32

exact

VkPhysicalDeviceRayTracingPipelinePropertiesKHR::maxRayRecursionDepth

-

1

min

maxShaderGroupStride

-

4096

min

shaderGroupBaseAlignment

-

64

max

maxGeometryCount

-

224-1

min

maxInstanceCount

-

224-1

min

maxTriangleCount

-

229-1

min

maxPrimitiveCount

-

229-1

min

maxPerStageDescriptorAccelerationStructures

-

16

min

maxPerStageDescriptorUpdateAfterBindAccelerationStructures

-

500000 9

min

maxDescriptorSetAccelerationStructures

-

16

min

maxDescriptorSetUpdateAfterBindAccelerationStructures

-

500000 9

min

minAccelerationStructureScratchOffsetAlignment

-

256

max

shaderGroupHandleCaptureReplaySize

-

64

max

maxRayDispatchInvocationCount

-

230

min

shaderGroupHandleAlignment

-

32

max

maxRayHitAttributeSize

-

32

min

maxTimelineSemaphoreValueDifference

-

231-1

min

lineSubPixelPrecisionBits

-

4

min

maxGraphicsShaderGroupCount

-

212

min

maxIndirectSequenceCount

-

220

min

maxIndirectCommandsTokenCount

-

16

min

maxIndirectCommandsStreamCount

-

16

min

maxIndirectCommandsTokenOffset

-

2047

min

maxIndirectCommandsStreamStride

-

2048

min

minSequencesCountBufferOffsetAlignment

-

256

max

minSequencesIndexBufferOffsetAlignment

-

256

max

minIndirectCommandsBufferOffsetAlignment

-

256

max

maxCustomBorderColorSamplers

-

32

min

robustStorageBufferAccessSizeAlignment

-

4

max

robustUniformBufferAccessSizeAlignment

-

256

max

minFragmentShadingRateAttachmentTexelSize

(0,0)

(32,32)

max

maxFragmentShadingRateAttachmentTexelSize

(0,0)

(8,8)

min

maxFragmentShadingRateAttachmentTexelSizeAspectRatio

0

1

min

primitiveFragmentShadingRateWithMultipleViewports

false

false

implementation-dependent

layeredShadingRateAttachments

false

false

implementation-dependent

fragmentShadingRateNonTrivialCombinerOps

-

false

implementation-dependent

maxFragmentSize

-

(2,2)

min

maxFragmentSizeAspectRatio

-

2

min

maxFragmentShadingRateCoverageSamples

-

16

min

maxFragmentShadingRateRasterizationSamples

-

VK_SAMPLE_COUNT_4_BIT

min

fragmentShadingRateWithShaderDepthStencilWrites

-

false

implementation-dependent

fragmentShadingRateWithSampleMask

-

false

implementation-dependent

fragmentShadingRateWithShaderSampleMask

-

false

implementation-dependent

fragmentShadingRateWithConservativeRasterization

-

false

implementation-dependent

fragmentShadingRateWithFragmentShaderInterlock

-

false

implementation-dependent

fragmentShadingRateWithCustomSampleLocations

-

false

implementation-dependent

fragmentShadingRateStrictMultiplyCombiner

-

false

implementation-dependent

maxFragmentShadingRateInvocationCount

-

VK_SAMPLE_COUNT_4_BIT

min

combinedImageSamplerDescriptorSingleArray

-

false

implementation-dependent

bufferlessPushDescriptors

-

false

implementation-dependent

allowSamplerImageViewPostSubmitCreation

-

false

implementation-dependent

descriptorBufferOffsetAlignment

-

256

max

maxDescriptorBufferBindings

-

3

min

maxResourceDescriptorBufferBindings

-

1

min

maxSamplerDescriptorBufferBindings

-

1

min

maxEmbeddedImmutableSamplerBindings

-

1

min

maxEmbeddedImmutableSamplers

-

2032

min

bufferCaptureReplayDescriptorDataSize

-

64

max

imageCaptureReplayDescriptorDataSize

-

64

max

imageViewCaptureReplayDescriptorDataSize

-

64

max

samplerCaptureReplayDescriptorDataSize

-

64

max

accelerationStructureCaptureReplayDescriptorDataSize

-

64

max

samplerDescriptorSize

-

256

max

combinedImageSamplerDescriptorSize

-

256

max

sampledImageDescriptorSize

-

256

max

storageImageDescriptorSize

-

256

max

uniformTexelBufferDescriptorSize

-

256

max

robustUniformTexelBufferDescriptorSize

-

256

max

storageTexelBufferDescriptorSize

-

256

max

robustStorageTexelBufferDescriptorSize

-

256

max

uniformBufferDescriptorSize

-

256

max

robustUniformBufferDescriptorSize

-

256

max

storageBufferDescriptorSize

-

256

max

robustStorageBufferDescriptorSize

-

256

max

inputAttachmentDescriptorSize

-

256

max

accelerationStructureDescriptorSize

-

256

max

maxSamplerDescriptorBufferRange

-

211 {times} samplerDescriptorSize

min

maxResourceDescriptorBufferRange

-

(220 - 215) {times} maxResourceDescriptorSize 12

min

samplerDescriptorBufferAddressSpaceSize

-

227

min

resourceDescriptorBufferAddressSpaceSize

-

227

min

descriptorBufferAddressSpaceSize

-

227

min

combinedImageSamplerDensityMapDescriptorSize

-

256

max

maxSubpassShadingWorkgroupSizeAspectRatio

0

1

min

maxMultiDrawCount

-

1024

min

maxCommandBufferNestingLevel

-

1

min

graphicsPipelineLibraryFastLinking

-

false

implementation-dependent

graphicsPipelineLibraryIndependentInterpolationDecoration

-

false

implementation-dependent

triStripVertexOrderIndependentOfProvokingVertex

-

false

implementation-dependent

maxWeightFilterPhases

-

1024

min

maxWeightFilterDimension

-

(64,64)

min

maxBlockMatchRegion

-

(64,64)

min

maxBoxFilterBlockSize

-

(64,64)

min

dynamicPrimitiveTopologyUnrestricted

-

-

implementation-dependent

maxOpacity2StateSubdivisionLevel

-

3

min

maxOpacity4StateSubdivisionLevel

-

3

min

maxDecompressionIndirectCount

1

216-1

min

maxWorkGroupCount

-

(65536,1,1)

min

maxWorkGroupSize

-

(32,1,1)

min

maxOutputClusterCount

-

1024

min

indirectBufferOffsetAlignment

-

-

implementation-dependent

maxExecutionGraphDepth

-

32

min

maxExecutionGraphShaderOutputNodes

-

256

min

maxExecutionGraphShaderPayloadSize

-

32768

min

maxExecutionGraphShaderPayloadCount

-

256

min

executionGraphDispatchAddressAlignment

-

4

max

extendedSparseAddressSpaceSize

0

sparseAddressSpaceSize

min

renderPassStripeGranularity

-

(64,64)

max

maxRenderPassStripes

-

32

min

minPlacedMemoryMapAlignment

-

65536

max

supportedImageAlignmentMask

-

1

min

separateDepthStencilAttachmentAccess

false

-

implementation-dependent

Additional Multisampling Capabilities

vkGetPhysicalDeviceMultisamplePropertiesEXTReport sample count specific multisampling capabilities of a physical device
VkMultisamplePropertiesEXTStructure returning information about sample count specific additional multisampling capabilities

If the sample count for which additional multisampling capabilities are requested using vkGetPhysicalDeviceMultisamplePropertiesEXT is set in sampleLocationSampleCounts the width and height members of VkMultisamplePropertiesEXT::maxSampleLocationGridSize must be greater than or equal to the corresponding members of maxSampleLocationGridSize, respectively, otherwise both members must be 0.