Class VkPhysicalDeviceDescriptorIndexingPropertiesEXT

  • All Implemented Interfaces:
    java.lang.AutoCloseable, NativeResource, Pointer

    public class VkPhysicalDeviceDescriptorIndexingPropertiesEXT
    extends Struct
    implements NativeResource
    Structure describing descriptor indexing properties that can be supported by an implementation.
    Description

    If the VkPhysicalDeviceDescriptorIndexingPropertiesEXT structure is included in the pNext chain of VkPhysicalDeviceProperties2, it is filled with the implementation-dependent limits.

    Valid Usage (Implicit)

    Member documentation

    • sType – the type of this structure.
    • pNextNULL or a pointer to an extension-specific structure.
    • maxUpdateAfterBindDescriptorsInAllPools – the maximum number of descriptors (summed over all descriptor types) that can be created across all pools that are created with the DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT bit set. Pool creation may fail when this limit is exceeded, or when the space this limit represents is unable to satisfy a pool creation due to fragmentation.
    • shaderUniformBufferArrayNonUniformIndexingNative – a boolean value indicating whether uniform buffer descriptors natively support nonuniform indexing. If this is FALSE, then a single dynamic instance of an instruction that nonuniformly indexes an array of uniform buffers may execute multiple times in order to access all the descriptors.
    • shaderSampledImageArrayNonUniformIndexingNative – a boolean value indicating whether sampler and image descriptors natively support nonuniform indexing. If this is FALSE, then a single dynamic instance of an instruction that nonuniformly indexes an array of samplers or images may execute multiple times in order to access all the descriptors.
    • shaderStorageBufferArrayNonUniformIndexingNative – a boolean value indicating whether storage buffer descriptors natively support nonuniform indexing. If this is FALSE, then a single dynamic instance of an instruction that nonuniformly indexes an array of storage buffers may execute multiple times in order to access all the descriptors.
    • shaderStorageImageArrayNonUniformIndexingNative – a boolean value indicating whether storage image descriptors natively support nonuniform indexing. If this is FALSE, then a single dynamic instance of an instruction that nonuniformly indexes an array of storage images may execute multiple times in order to access all the descriptors.
    • shaderInputAttachmentArrayNonUniformIndexingNative – a boolean value indicating whether input attachment descriptors natively support nonuniform indexing. If this is FALSE, then a single dynamic instance of an instruction that nonuniformly indexes an array of input attachments may execute multiple times in order to access all the descriptors.
    • robustBufferAccessUpdateAfterBind – a boolean value indicating whether robustBufferAccess can be enabled in a device simultaneously with descriptorBindingUniformBufferUpdateAfterBind, descriptorBindingStorageBufferUpdateAfterBind, descriptorBindingUniformTexelBufferUpdateAfterBind, and/or descriptorBindingStorageTexelBufferUpdateAfterBind. If this is FALSE, then either robustBufferAccess must be disabled or all of these update-after-bind features must be disabled.
    • quadDivergentImplicitLod – a boolean value indicating whether implicit level of detail calculations for image operations have well-defined results when the image and/or sampler objects used for the instruction are not uniform within a quad. See Derivative Image Operations.
    • maxPerStageDescriptorUpdateAfterBindSamplers – similar to maxPerStageDescriptorSamplers but counts descriptors from descriptor sets created with or without the DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT bit set.
    • maxPerStageDescriptorUpdateAfterBindUniformBuffers – similar to maxPerStageDescriptorUniformBuffers but counts descriptors from descriptor sets created with or without the DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT bit set.
    • maxPerStageDescriptorUpdateAfterBindStorageBuffers – similar to maxPerStageDescriptorStorageBuffers but counts descriptors from descriptor sets created with or without the DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT bit set.
    • maxPerStageDescriptorUpdateAfterBindSampledImages – similar to maxPerStageDescriptorSampledImages but counts descriptors from descriptor sets created with or without the DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT bit set.
    • maxPerStageDescriptorUpdateAfterBindStorageImages – similar to maxPerStageDescriptorStorageImages but counts descriptors from descriptor sets created with or without the DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT bit set.
    • maxPerStageDescriptorUpdateAfterBindInputAttachments – similar to maxPerStageDescriptorInputAttachments but counts descriptors from descriptor sets created with or without the DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT bit set.
    • maxPerStageUpdateAfterBindResources – similar to maxPerStageResources but counts descriptors from descriptor sets created with or without the DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT bit set.
    • maxDescriptorSetUpdateAfterBindSamplers – similar to maxDescriptorSetSamplers but counts descriptors from descriptor sets created with or without the DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT bit set.
    • maxDescriptorSetUpdateAfterBindUniformBuffers – similar to maxDescriptorSetUniformBuffers but counts descriptors from descriptor sets created with or without the DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT bit set.
    • maxDescriptorSetUpdateAfterBindUniformBuffersDynamic – similar to maxDescriptorSetUniformBuffersDynamic but counts descriptors from descriptor sets created with or without the DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT bit set.
    • maxDescriptorSetUpdateAfterBindStorageBuffers – similar to maxDescriptorSetStorageBuffers but counts descriptors from descriptor sets created with or without the DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT bit set.
    • maxDescriptorSetUpdateAfterBindStorageBuffersDynamic – similar to maxDescriptorSetStorageBuffersDynamic but counts descriptors from descriptor sets created with or without the DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT bit set.
    • maxDescriptorSetUpdateAfterBindSampledImages – similar to maxDescriptorSetSampledImages but counts descriptors from descriptor sets created with or without the DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT bit set.
    • maxDescriptorSetUpdateAfterBindStorageImages – similar to maxDescriptorSetStorageImages but counts descriptors from descriptor sets created with or without the DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT bit set.
    • maxDescriptorSetUpdateAfterBindInputAttachments – similar to maxDescriptorSetInputAttachments but counts descriptors from descriptor sets created with or without the DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT bit set.

    Layout

    
     struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
         VkStructureType sType;
         void * pNext;
         uint32_t maxUpdateAfterBindDescriptorsInAllPools;
         VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
         VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
         VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
         VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
         VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
         VkBool32 robustBufferAccessUpdateAfterBind;
         VkBool32 quadDivergentImplicitLod;
         uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
         uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
         uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
         uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
         uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
         uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
         uint32_t maxPerStageUpdateAfterBindResources;
         uint32_t maxDescriptorSetUpdateAfterBindSamplers;
         uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
         uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
         uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
         uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
         uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
         uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
         uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
     }
    • Field Detail

      • SIZEOF

        The struct size in bytes.
      • ALIGNOF

        The struct alignment in bytes.
      • STYPE, PNEXT, MAXUPDATEAFTERBINDDESCRIPTORSINALLPOOLS, SHADERUNIFORMBUFFERARRAYNONUNIFORMINDEXINGNATIVE, SHADERSAMPLEDIMAGEARRAYNONUNIFORMINDEXINGNATIVE, SHADERSTORAGEBUFFERARRAYNONUNIFORMINDEXINGNATIVE, SHADERSTORAGEIMAGEARRAYNONUNIFORMINDEXINGNATIVE, SHADERINPUTATTACHMENTARRAYNONUNIFORMINDEXINGNATIVE, ROBUSTBUFFERACCESSUPDATEAFTERBIND, QUADDIVERGENTIMPLICITLOD, MAXPERSTAGEDESCRIPTORUPDATEAFTERBINDSAMPLERS, MAXPERSTAGEDESCRIPTORUPDATEAFTERBINDUNIFORMBUFFERS, MAXPERSTAGEDESCRIPTORUPDATEAFTERBINDSTORAGEBUFFERS, MAXPERSTAGEDESCRIPTORUPDATEAFTERBINDSAMPLEDIMAGES, MAXPERSTAGEDESCRIPTORUPDATEAFTERBINDSTORAGEIMAGES, MAXPERSTAGEDESCRIPTORUPDATEAFTERBINDINPUTATTACHMENTS, MAXPERSTAGEUPDATEAFTERBINDRESOURCES, MAXDESCRIPTORSETUPDATEAFTERBINDSAMPLERS, MAXDESCRIPTORSETUPDATEAFTERBINDUNIFORMBUFFERS, MAXDESCRIPTORSETUPDATEAFTERBINDUNIFORMBUFFERSDYNAMIC, MAXDESCRIPTORSETUPDATEAFTERBINDSTORAGEBUFFERS, MAXDESCRIPTORSETUPDATEAFTERBINDSTORAGEBUFFERSDYNAMIC, MAXDESCRIPTORSETUPDATEAFTERBINDSAMPLEDIMAGES, MAXDESCRIPTORSETUPDATEAFTERBINDSTORAGEIMAGES, MAXDESCRIPTORSETUPDATEAFTERBINDINPUTATTACHMENTS

        The struct member offsets.
    • Constructor Detail

      • VkPhysicalDeviceDescriptorIndexingPropertiesEXT

        public VkPhysicalDeviceDescriptorIndexingPropertiesEXT​(java.nio.ByteBuffer container)
        Creates a VkPhysicalDeviceDescriptorIndexingPropertiesEXT instance at the current position of the specified ByteBuffer container. Changes to the buffer's content will be visible to the struct instance and vice versa.

        The created instance holds a strong reference to the container object.