Class VkPhysicalDeviceDescriptorIndexingPropertiesEXT

  • All Implemented Interfaces:
    Pointer

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

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

    Valid Usage (Implicit)

    Member documentation

    • 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.

    • Method Detail

      • sizeof

        public int sizeof()
        Description copied from class: Struct
        Returns sizeof(struct).
        Specified by:
        sizeof in class Struct
      • sType

        public int sType()
        Returns the value of the sType field.
      • pNext

        public long pNext()
        Returns the value of the pNext field.
      • maxUpdateAfterBindDescriptorsInAllPools

        public int maxUpdateAfterBindDescriptorsInAllPools()
        Returns the value of the maxUpdateAfterBindDescriptorsInAllPools field.
      • shaderUniformBufferArrayNonUniformIndexingNative

        public boolean shaderUniformBufferArrayNonUniformIndexingNative()
        Returns the value of the shaderUniformBufferArrayNonUniformIndexingNative field.
      • shaderSampledImageArrayNonUniformIndexingNative

        public boolean shaderSampledImageArrayNonUniformIndexingNative()
        Returns the value of the shaderSampledImageArrayNonUniformIndexingNative field.
      • shaderStorageBufferArrayNonUniformIndexingNative

        public boolean shaderStorageBufferArrayNonUniformIndexingNative()
        Returns the value of the shaderStorageBufferArrayNonUniformIndexingNative field.
      • shaderStorageImageArrayNonUniformIndexingNative

        public boolean shaderStorageImageArrayNonUniformIndexingNative()
        Returns the value of the shaderStorageImageArrayNonUniformIndexingNative field.
      • shaderInputAttachmentArrayNonUniformIndexingNative

        public boolean shaderInputAttachmentArrayNonUniformIndexingNative()
        Returns the value of the shaderInputAttachmentArrayNonUniformIndexingNative field.
      • robustBufferAccessUpdateAfterBind

        public boolean robustBufferAccessUpdateAfterBind()
        Returns the value of the robustBufferAccessUpdateAfterBind field.
      • quadDivergentImplicitLod

        public boolean quadDivergentImplicitLod()
        Returns the value of the quadDivergentImplicitLod field.
      • maxPerStageDescriptorUpdateAfterBindSamplers

        public int maxPerStageDescriptorUpdateAfterBindSamplers()
        Returns the value of the maxPerStageDescriptorUpdateAfterBindSamplers field.
      • maxPerStageDescriptorUpdateAfterBindUniformBuffers

        public int maxPerStageDescriptorUpdateAfterBindUniformBuffers()
        Returns the value of the maxPerStageDescriptorUpdateAfterBindUniformBuffers field.
      • maxPerStageDescriptorUpdateAfterBindStorageBuffers

        public int maxPerStageDescriptorUpdateAfterBindStorageBuffers()
        Returns the value of the maxPerStageDescriptorUpdateAfterBindStorageBuffers field.
      • maxPerStageDescriptorUpdateAfterBindSampledImages

        public int maxPerStageDescriptorUpdateAfterBindSampledImages()
        Returns the value of the maxPerStageDescriptorUpdateAfterBindSampledImages field.
      • maxPerStageDescriptorUpdateAfterBindStorageImages

        public int maxPerStageDescriptorUpdateAfterBindStorageImages()
        Returns the value of the maxPerStageDescriptorUpdateAfterBindStorageImages field.
      • maxPerStageDescriptorUpdateAfterBindInputAttachments

        public int maxPerStageDescriptorUpdateAfterBindInputAttachments()
        Returns the value of the maxPerStageDescriptorUpdateAfterBindInputAttachments field.
      • maxPerStageUpdateAfterBindResources

        public int maxPerStageUpdateAfterBindResources()
        Returns the value of the maxPerStageUpdateAfterBindResources field.
      • maxDescriptorSetUpdateAfterBindSamplers

        public int maxDescriptorSetUpdateAfterBindSamplers()
        Returns the value of the maxDescriptorSetUpdateAfterBindSamplers field.
      • maxDescriptorSetUpdateAfterBindUniformBuffers

        public int maxDescriptorSetUpdateAfterBindUniformBuffers()
        Returns the value of the maxDescriptorSetUpdateAfterBindUniformBuffers field.
      • maxDescriptorSetUpdateAfterBindUniformBuffersDynamic

        public int maxDescriptorSetUpdateAfterBindUniformBuffersDynamic()
        Returns the value of the maxDescriptorSetUpdateAfterBindUniformBuffersDynamic field.
      • maxDescriptorSetUpdateAfterBindStorageBuffers

        public int maxDescriptorSetUpdateAfterBindStorageBuffers()
        Returns the value of the maxDescriptorSetUpdateAfterBindStorageBuffers field.
      • maxDescriptorSetUpdateAfterBindStorageBuffersDynamic

        public int maxDescriptorSetUpdateAfterBindStorageBuffersDynamic()
        Returns the value of the maxDescriptorSetUpdateAfterBindStorageBuffersDynamic field.
      • maxDescriptorSetUpdateAfterBindSampledImages

        public int maxDescriptorSetUpdateAfterBindSampledImages()
        Returns the value of the maxDescriptorSetUpdateAfterBindSampledImages field.
      • maxDescriptorSetUpdateAfterBindStorageImages

        public int maxDescriptorSetUpdateAfterBindStorageImages()
        Returns the value of the maxDescriptorSetUpdateAfterBindStorageImages field.
      • maxDescriptorSetUpdateAfterBindInputAttachments

        public int maxDescriptorSetUpdateAfterBindInputAttachments()
        Returns the value of the maxDescriptorSetUpdateAfterBindInputAttachments field.
      • nsType

        public static int nsType​(long struct)
        Unsafe version of sType().
      • npNext

        public static long npNext​(long struct)
        Unsafe version of pNext().
      • nquadDivergentImplicitLod

        public static int nquadDivergentImplicitLod​(long struct)
        Unsafe version of quadDivergentImplicitLod().
      • nsType

        public static void nsType​(long struct,
                                  int value)
        Unsafe version of sType.
      • npNext

        public static void npNext​(long struct,
                                  long value)
        Unsafe version of pNext.