VKPHYSICALDEVICELIMI(3)

NAME
VkPhysicalDeviceLimits - Structure

C SPECIFICATION

    typedef struct VkPhysicalDeviceLimits {
        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;
        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;
        uint32_t              maxTessellationPatchSize;
        uint32_t              maxTessellationControlPerVertexInputComponents;
        uint32_t              maxTessellationControlPerVertexOutputComponents;
        uint32_t              maxTessellationControlPerPatchOutputComponents;
        uint32_t              maxTessellationControlTotalOutputComponents;
        uint32_t              maxTessellationEvaluationInputComponents;
        uint32_t              maxTessellationEvaluationOutputComponents;
        uint32_t              maxGeometryShaderInvocations;
        uint32_t              maxGeometryInputComponents;
        uint32_t              maxGeometryOutputComponents;
        uint32_t              maxGeometryOutputVertices;
        uint32_t              maxGeometryTotalOutputComponents;
        uint32_t              maxFragmentInputComponents;
        uint32_t              maxFragmentOutputAttachments;
        uint32_t              maxFragmentDualSrcAttachments;
        uint32_t              maxFragmentCombinedOutputResources;
        uint32_t              maxComputeSharedMemorySize;
        uint32_t              maxComputeWorkGroupCount[3];
        uint32_t              maxComputeWorkGroupInvocations;
        uint32_t              maxComputeWorkGroupSize[3];
        uint32_t              subPixelPrecisionBits;
        uint32_t              subTexelPrecisionBits;
        uint32_t              mipmapPrecisionBits;
        uint32_t              maxDrawIndexedIndexValue;
        uint32_t              maxDrawIndirectCount;
        float                 maxSamplerLodBias;
        float                 maxSamplerAnisotropy;
        uint32_t              maxViewports;
        uint32_t              maxViewportDimensions[2];
        float                 viewportBoundsRange[2];
        uint32_t              viewportSubPixelBits;
        size_t                minMemoryMapAlignment;
        VkDeviceSize          minTexelBufferOffsetAlignment;
        VkDeviceSize          minUniformBufferOffsetAlignment;
        VkDeviceSize          minStorageBufferOffsetAlignment;
        int32_t               minTexelOffset;
        uint32_t              maxTexelOffset;
        int32_t               minTexelGatherOffset;
        uint32_t              maxTexelGatherOffset;
        float                 minInterpolationOffset;
        float                 maxInterpolationOffset;
        uint32_t              subPixelInterpolationOffsetBits;
        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;
        uint32_t              maxSampleMaskWords;
        VkBool32              timestampComputeAndGraphics;
        float                 timestampPeriod;
        uint32_t              maxClipDistances;
        uint32_t              maxCullDistances;
        uint32_t              maxCombinedClipAndCullDistances;
        uint32_t              discreteQueuePriorities;
        float                 pointSizeRange[2];
        float                 lineWidthRange[2];
        float                 pointSizeGranularity;
        float                 lineWidthGranularity;
        VkBool32              strictLines;
        VkBool32              standardSampleLocations;
        VkDeviceSize          optimalBufferCopyOffsetAlignment;
        VkDeviceSize          optimalBufferCopyRowPitchAlignment;
        VkDeviceSize          nonCoherentAtomSize;
    } VkPhysicalDeviceLimits;

FIELDS

maxImageDimension1D
    max 1D image dimension

maxImageDimension2D
    max 2D image dimension

maxImageDimension3D
    max 3D image dimension

maxImageDimensionCube
    max cubemap image dimension

maxImageArrayLayers
    max layers for image arrays

maxTexelBufferSize
    max texel buffer size (bytes)

maxUniformBufferRange
    max uniform buffer range (bytes)

maxStorageBufferRange
    max storage buffer range (bytes)

maxPushConstantsSize
    max size of the push constants pool (bytes)

maxMemoryAllocationCount
    max number of device memory allocations supported

maxSamplerAllocationCount
    max number of samplers that can be allocated on a device

bufferImageGranularity
    Granularity (in bytes) at which buffers and linear images vs optimal images can be bound to adjacent memory locations without aliasing

maxBoundDescriptorSets
    max number of descriptors sets that can be bound to a pipeline

maxPerStageDescriptorSamplers
    max num of samplers allowed per-stage in a descriptor set

maxPerStageDescriptorUniformBuffers
    max num of uniform buffers allowed per-stage in a descriptor set

maxPerStageDescriptorStorageBuffers
    max num of storage buffers allowed per-stage in a descriptor set

maxPerStageDescriptorSampledImages
    max num of sampled images allowed per-stage in a descriptor set

maxPerStageDescriptorStorageImages
    max num of storage images allowed per-stage in a descriptor set

maxPerStageDescriptorInputAttachments
    max num of input attachments allowed per-stage in a descriptor set

maxDescriptorSetUniformBuffers
    max num of uniform buffers allowed in all stages in a descriptor set

maxDescriptorSetStorageBuffers
    max num of storage buffers allowed in all stages in a descriptor set

maxDescriptorSetSampledImages
    max num of sampled images allowed in all stages in a descriptor set

maxDescriptorSetStorageImages
    max num of storage images allowed in all stages in a descriptor set

maxDescriptorSetInputAttachments
    max num of input attachments allowed in all stages in a descriptor set

maxVertexInputAttributes
    max num of vertex input attribute slots maxVertexInputBindings: max num of vertex input binding slots

maxVertexInputAttributeOffset
    max vertex input attribute offset added to vertex buffer offset

maxVertexInputBindingStride
    max vertex input binding stride

maxVertexOutputComponents
    max num of output components written by vertex shader

maxTessellationGenLevel
    max level supported by tessellation primitive generator

maxTessellationPatchSize
    max patch size (vertices)

maxTessellationControlPerVertexInputComponents
    max num of input components per-vertex in TCS

maxTessellationControlPerVertexOutputComponents
    max num of output components per-vertex in TCS

maxTessellationControlPerPatchOutputComponents
    max num of output components per-patch in TCS

maxTessellationControlTotalOutputComponents
    max total num of per-vertex and per-patch output components in TCS

maxTessellationEvaluationInputComponents
    max num of input components per vertex in TES

maxTessellationEvaluationOutputComponents
    max num of output components per vertex in TES

maxGeometryShaderInvocations
    max invocation count supported in geometry shader

maxGeometryInputComponents
    max num of input components read in geometry stage

maxGeometryOutputComponents
    max num of output components written in geometry stage

maxGeometryOutputVertices
    max num of vertices that can be emitted in geometry stage

maxGeometryTotalOutputComponents
    max total num of components (all vertices) written in geometry stage

maxFragmentInputComponents
    max num of input compontents read in fragment stage

maxFragmentOutputAttachments
    max num of output attachments written in fragment stage

maxFragmentDualSourceAttachments
    max num of output attachments written when using dual source blending

maxFragmentCombinedOutputResources
    total num of storage buffers, storage images and output buffers

maxComputeSharedMemorySize
    max total storage size of work group local storage (bytes)

maxComputeWorkGroupCount[3]
    max num of compute work groups that may be dispatched by a single command (x,y,z)

maxComputeWorkGroupInvocations
    max total compute invocations in a single local work group

maxComputeWorkGroupSize[3]
    max local size of a compute work group (x,y,z)

subPixelPrecisionBits
    num bits of subpixel precision in screen x and y

subTexelPrecisionBits
    num bits of subtexel precision

mipmapPrecisionBits
    num bits of mipmap precision

maxDrawIndexedIndexValue
    max index value for indexed draw calls (for 32-bit indices)

maxDrawIndirectCount
    max draw count for indirect draw calls

maxSamplerLodBias
    max absolute sampler level of detail bias

maxSamplerAnisotropy
    max degree of sampler anisotropy

maxViewports
    max number of active viewports

maxViewportDimensions[2]
    max viewport dimensions (x,y)

viewportBoundsRange[2]
    viewport bounds range (min,max)

viewportSubPixelBits
    num bits of subpixel precision for viewport

minMemoryMapAlignment
    min required alignment of host-visible memory allocations within the host address space (bytes)

minTexelBufferOffsetAlignment
    min required alignment for texel buffer offsets (bytes)

minUniformBufferOffsetAlignment
    min required alignment for uniform buffer sizes and offsets (bytes)

minStorageBufferOffsetAlignment
    min required alignment for storage buffer offsets (bytes)

minTexelOffset
    min texel offset for OpTextureSampleOffset

maxTexelOffset
    max texel offset for OpTextureSampleOffset

minTexelGatherOffset
    min texel offset for OpTextureGatherOffset

maxTexelGatherOffset
    max texel offset for OpTextureGatherOffset

minInterpolationOffset
    furthest negative offset for interpolateAtOffset

maxInterpolationOffset
    furthest positive offset for interpolateAtOffset

subPixelInterpolationOffsetBits
    num of subpixel bits for interpolateAtOffset

maxFramebufferWidth
    max width for a framebuffer

maxFramebufferHeight
    max height for a framebuffer

maxFramebufferLayers
    max layer count for a layered framebuffer

framebufferColorSampleCounts
    supported color sample counts for a framebuffer

framebufferDepthSampleCounts
    supported depth sample counts for a framebuffer

framebufferStencilSampleCounts
    supported stencil sample counts for a framebuffer

framebufferNoAttachmentsSampleCounts
    supported sample counts for a framebuffer with no attachments

maxColorAttachments
    max num of color attachments per subpass

sampledImageColorSampleCounts
    supported sample counts for an image with a non-integer color format

sampledImageIntegerSampleCounts
    supported sample counts for an image with an integer color format

sampledImageDepthSampleCounts
    supported sample counts for an image with a depth format

sampledImageStencilSampleCounts
    supported sample counts for an image with a stencil format

storageImageSampleCounts
    supported sample counts for an image used for storage operations

timestampFrequency
    1/clock_tick_granularity for timestamp queries

maxClipDistances
    max number of clip distances

maxCullDistances
    max number of cull distances

maxCombinedClipAndCullDistances
    max combined number of user clipping

pointSizeRange[2]
    range (min,max) of supported point sizes

lineWidthRange[2]
    range (min,max) of supported line widths

pointSizeGranularity
    granularity of supported point sizes

lineWidthGranularity
    granularity of supported line widths

DESCRIPTION

SEE ALSO

vkGetPhysicalDeviceFeatures

COPYRIGHT

Copyright © 2014-2016 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.

AUTHOR

Khronos Group
    Author.