Browse Source

doc: introduce \relativeref and shorten some excessive references.

It doesn't help the overflowing Vk::DeviceFeature table 100%, but it's
better a bit.
pull/494/head
Vladimír Vondruš 5 years ago
parent
commit
7a0da83c44
  1. 3
      doc/Doxyfile
  2. 3
      doc/Doxyfile-mcss
  3. 3
      doc/Doxyfile-public
  4. 649
      src/Magnum/Vk/DeviceFeatures.h

3
doc/Doxyfile

@ -349,7 +349,8 @@ ALIASES = \
"m_since_latest=" \ "m_since_latest=" \
"m_since_latest_=" \ "m_since_latest_=" \
"m_deprecated_since{2}=@deprecated" \ "m_deprecated_since{2}=@deprecated" \
"m_deprecated_since_latest=@deprecated" "m_deprecated_since_latest=@deprecated" \
"relativeref{2}=@ref \1::\2 \"\2\""
# This tag can be used to specify a number of word-keyword mappings (TCL only). # This tag can be used to specify a number of word-keyword mappings (TCL only).
# A mapping has the form "name=value". For example adding "class=itcl::class" # A mapping has the form "name=value". For example adding "class=itcl::class"

3
doc/Doxyfile-mcss

@ -106,6 +106,7 @@ ALIASES = \
"m_since_latest=@since @m_class{m-label m-success m-flat} @ref changelog-latest \"new in Git master\"" \ "m_since_latest=@since @m_class{m-label m-success m-flat} @ref changelog-latest \"new in Git master\"" \
"m_since_latest_{1}=@since @m_class{m-label m-success m-flat} @ref changelog-\1-latest \"new in Git master\"" \ "m_since_latest_{1}=@since @m_class{m-label m-success m-flat} @ref changelog-\1-latest \"new in Git master\"" \
"m_deprecated_since{2}=@since deprecated in \1.\2 @deprecated" \ "m_deprecated_since{2}=@since deprecated in \1.\2 @deprecated" \
"m_deprecated_since_latest=@since deprecated in Git master @deprecated" "m_deprecated_since_latest=@since deprecated in Git master @deprecated" \
"relativeref{2}=@ref \1::\2 \"\2\""
# kate: hl Doxyfile # kate: hl Doxyfile

3
doc/Doxyfile-public

@ -102,7 +102,8 @@ ALIASES = \
"m_since_latest=@since @m_class{m-label m-success m-flat} @ref changelog-latest \"new in Git master\"" \ "m_since_latest=@since @m_class{m-label m-success m-flat} @ref changelog-latest \"new in Git master\"" \
"m_since_latest_{1}=@since @m_class{m-label m-success m-flat} @ref changelog-\1-latest \"new in Git master\"" \ "m_since_latest_{1}=@since @m_class{m-label m-success m-flat} @ref changelog-\1-latest \"new in Git master\"" \
"m_deprecated_since{2}=@since deprecated in \1.\2 @deprecated" \ "m_deprecated_since{2}=@since deprecated in \1.\2 @deprecated" \
"m_deprecated_since_latest=@since deprecated in Git master @deprecated" "m_deprecated_since_latest=@since deprecated in Git master @deprecated" \
"relativeref{2}=@ref \1::\2 \"\2\""
GENERATE_TODOLIST = NO GENERATE_TODOLIST = NO
GENERATE_BUGLIST = NO GENERATE_BUGLIST = NO

649
src/Magnum/Vk/DeviceFeatures.h

@ -134,79 +134,79 @@ enum class DeviceFeature: UnsignedShort {
/** /**
* Whether @ref PixelFormat::CompressedEacR11Unorm, * Whether @ref PixelFormat::CompressedEacR11Unorm,
* @ref PixelFormat::CompressedEacR11Snorm, * @relativeref{PixelFormat,CompressedEacR11Snorm},
* @ref PixelFormat::CompressedEacRG11Unorm, * @relativeref{PixelFormat,CompressedEacRG11Unorm},
* @ref PixelFormat::CompressedEacRG11Snorm, * @relativeref{PixelFormat,CompressedEacRG11Snorm},
* @ref PixelFormat::CompressedEtc2RGB8Unorm, * @relativeref{PixelFormat,CompressedEtc2RGB8Unorm},
* @ref PixelFormat::CompressedEtc2RGB8Srgb, * @relativeref{PixelFormat,CompressedEtc2RGB8Srgb},
* @ref PixelFormat::CompressedEtc2RGB8A1Unorm, * @relativeref{PixelFormat,CompressedEtc2RGB8A1Unorm},
* @ref PixelFormat::CompressedEtc2RGB8A1Srgb, * @relativeref{PixelFormat,CompressedEtc2RGB8A1Srgb},
* @ref PixelFormat::CompressedEtc2RGBA8Unorm, * @relativeref{PixelFormat,CompressedEtc2RGBA8Unorm},
* @ref PixelFormat::CompressedEtc2RGBA8Unorm ETC2 and EAC compressed * @relativeref{PixelFormat,CompressedEtc2RGBA8Unorm} ETC2 and EAC
* texture formats are *all* supported. * compressed texture formats are *all* supported.
* @see @ref DeviceFeature::TextureCompressionBc, * @see @ref DeviceFeature::TextureCompressionBc,
* @ref DeviceFeature::TextureCompressionAstcLdr, * @relativeref{DeviceFeature,TextureCompressionAstcLdr},
* @ref DeviceFeature::TextureCompressionAstcHdr * @relativeref{DeviceFeature,TextureCompressionAstcHdr}
*/ */
TextureCompressionEtc2, TextureCompressionEtc2,
/** /**
* Whether @ref PixelFormat::CompressedAstc4x4RGBAUnorm, * Whether @ref PixelFormat::CompressedAstc4x4RGBAUnorm,
* @ref PixelFormat::CompressedAstc4x4RGBASrgb, * @relativeref{PixelFormat,CompressedAstc4x4RGBASrgb},
* @ref PixelFormat::CompressedAstc5x4RGBAUnorm, * @relativeref{PixelFormat,CompressedAstc5x4RGBAUnorm},
* @ref PixelFormat::CompressedAstc5x4RGBASrgb, * @relativeref{PixelFormat,CompressedAstc5x4RGBASrgb},
* @ref PixelFormat::CompressedAstc5x5RGBAUnorm, * @relativeref{PixelFormat,CompressedAstc5x5RGBAUnorm},
* @ref PixelFormat::CompressedAstc5x5RGBASrgb, * @relativeref{PixelFormat,CompressedAstc5x5RGBASrgb},
* @ref PixelFormat::CompressedAstc6x5RGBAUnorm, * @relativeref{PixelFormat,CompressedAstc6x5RGBAUnorm},
* @ref PixelFormat::CompressedAstc6x5RGBASrgb, * @relativeref{PixelFormat,CompressedAstc6x5RGBASrgb},
* @ref PixelFormat::CompressedAstc6x6RGBAUnorm, * @relativeref{PixelFormat,CompressedAstc6x6RGBAUnorm},
* @ref PixelFormat::CompressedAstc6x6RGBASrgb, * @relativeref{PixelFormat,CompressedAstc6x6RGBASrgb},
* @ref PixelFormat::CompressedAstc8x5RGBAUnorm, * @relativeref{PixelFormat,CompressedAstc8x5RGBAUnorm},
* @ref PixelFormat::CompressedAstc8x5RGBASrgb, * @relativeref{PixelFormat,CompressedAstc8x5RGBASrgb},
* @ref PixelFormat::CompressedAstc8x6RGBAUnorm, * @relativeref{PixelFormat,CompressedAstc8x6RGBAUnorm},
* @ref PixelFormat::CompressedAstc8x6RGBASrgb, * @relativeref{PixelFormat,CompressedAstc8x6RGBASrgb},
* @ref PixelFormat::CompressedAstc8x8RGBAUnorm, * @relativeref{PixelFormat,CompressedAstc8x8RGBAUnorm},
* @ref PixelFormat::CompressedAstc8x8RGBASrgb, * @relativeref{PixelFormat,CompressedAstc8x8RGBASrgb},
* @ref PixelFormat::CompressedAstc10x5RGBAUnorm, * @relativeref{PixelFormat,CompressedAstc10x5RGBAUnorm},
* @ref PixelFormat::CompressedAstc10x5RGBASrgb, * @relativeref{PixelFormat,CompressedAstc10x5RGBASrgb},
* @ref PixelFormat::CompressedAstc10x6RGBAUnorm, * @relativeref{PixelFormat,CompressedAstc10x6RGBAUnorm},
* @ref PixelFormat::CompressedAstc10x6RGBASrgb, * @relativeref{PixelFormat,CompressedAstc10x6RGBASrgb},
* @ref PixelFormat::CompressedAstc10x8RGBAUnorm, * @relativeref{PixelFormat,CompressedAstc10x8RGBAUnorm},
* @ref PixelFormat::CompressedAstc10x8RGBASrgb, * @relativeref{PixelFormat,CompressedAstc10x8RGBASrgb},
* @ref PixelFormat::CompressedAstc10x10RGBAUnorm, * @relativeref{PixelFormat,CompressedAstc10x10RGBAUnorm},
* @ref PixelFormat::CompressedAstc10x10RGBASrgb, * @relativeref{PixelFormat,CompressedAstc10x10RGBASrgb},
* @ref PixelFormat::CompressedAstc12x10RGBAUnorm, * @relativeref{PixelFormat,CompressedAstc12x10RGBAUnorm},
* @ref PixelFormat::CompressedAstc12x10RGBASrgb, * @relativeref{PixelFormat,CompressedAstc12x10RGBASrgb},
* @ref PixelFormat::CompressedAstc12x12RGBAUnorm, * @relativeref{PixelFormat,CompressedAstc12x12RGBAUnorm},
* @ref PixelFormat::CompressedAstc12x12RGBASrgb, * @relativeref{PixelFormat,CompressedAstc12x12RGBASrgb}, ASTC LDR
* ASTC LDR compressed texture formats are *all* supported. * compressed texture formats are *all* supported.
* @see @ref DeviceFeature::TextureCompressionAstcHdr, * @see @ref DeviceFeature::TextureCompressionAstcHdr,
* @ref DeviceFeature::TextureCompressionEtc2, * @relativeref{DeviceFeature,TextureCompressionEtc2},
* @ref DeviceFeature::TextureCompressionBc * @relativeref{DeviceFeature,TextureCompressionBc}
*/ */
TextureCompressionAstcLdr, TextureCompressionAstcLdr,
/** /**
* Whether @ref PixelFormat::CompressedBc1RGBUnorm, * Whether @ref PixelFormat::CompressedBc1RGBUnorm,
* @ref PixelFormat::CompressedBc1RGBSrgb, * @relativeref{PixelFormat,CompressedBc1RGBSrgb},
* @ref PixelFormat::CompressedBc1RGBAUnorm, * @relativeref{PixelFormat,CompressedBc1RGBAUnorm},
* @ref PixelFormat::CompressedBc1RGBASrgb, * @relativeref{PixelFormat,CompressedBc1RGBASrgb},
* @ref PixelFormat::CompressedBc2RGBAUnorm, * @relativeref{PixelFormat,CompressedBc2RGBAUnorm},
* @ref PixelFormat::CompressedBc2RGBASrgb, * @relativeref{PixelFormat,CompressedBc2RGBASrgb},
* @ref PixelFormat::CompressedBc3RGBAUnorm, * @relativeref{PixelFormat,CompressedBc3RGBAUnorm},
* @ref PixelFormat::CompressedBc3RGBASrgb, * @relativeref{PixelFormat,CompressedBc3RGBASrgb},
* @ref PixelFormat::CompressedBc4RUnorm, * @relativeref{PixelFormat,CompressedBc4RUnorm},
* @ref PixelFormat::CompressedBc4RSnorm, * @relativeref{PixelFormat,CompressedBc4RSnorm},
* @ref PixelFormat::CompressedBc5RGUnorm, * @relativeref{PixelFormat,CompressedBc5RGUnorm},
* @ref PixelFormat::CompressedBc5RGSnorm, * @relativeref{PixelFormat,CompressedBc5RGSnorm},
* @ref PixelFormat::CompressedBc6hRGBUfloat, * @relativeref{PixelFormat,CompressedBc6hRGBUfloat},
* @ref PixelFormat::CompressedBc6hRGBSfloat, * @relativeref{PixelFormat,CompressedBc6hRGBSfloat},
* @ref PixelFormat::CompressedBc7RGBAUnorm, * @relativeref{PixelFormat,CompressedBc7RGBAUnorm},
* @ref PixelFormat::CompressedBc7RGBASrgb BC compressed texture formats * @relativeref{PixelFormat,CompressedBc7RGBASrgb} BC compressed texture
* are *all* supported. * formats are *all* supported.
* @see @ref DeviceFeature::TextureCompressionEtc2, * @see @ref DeviceFeature::TextureCompressionEtc2,
* @ref DeviceFeature::TextureCompressionAstcLdr, * @relativeref{DeviceFeature,TextureCompressionAstcLdr},
* @ref DeviceFeature::TextureCompressionAstcHdr * @relativeref{DeviceFeature,TextureCompressionAstcHdr}
*/ */
TextureCompressionBc, TextureCompressionBc,
@ -243,16 +243,17 @@ enum class DeviceFeature: UnsignedShort {
ShaderImageGatherExtended, ShaderImageGatherExtended,
/** /**
* Whether @ref PixelFormat::R8Unorm, @ref PixelFormat::RG8Unorm, * Whether @ref PixelFormat::R8Unorm, @relativeref{PixelFormat,RG8Unorm},
* @ref PixelFormat::R8Snorm, @ref PixelFormat::RG8Snorm, * @relativeref{PixelFormat,R8Snorm}, @relativeref{PixelFormat,RG8Snorm},
* @ref PixelFormat::R8UI, @ref PixelFormat::RG8UI, @ref PixelFormat::R8I, * @relativeref{PixelFormat,R8UI}, @relativeref{PixelFormat,RG8UI},
* @ref PixelFormat::RG8I, @ref PixelFormat::R16Unorm, * @relativeref{PixelFormat,R8I}, @relativeref{PixelFormat,RG8I},
* @ref PixelFormat::RG16Unorm, @ref PixelFormat::RGBA16Unorm, * @relativeref{PixelFormat,R16Unorm}, @relativeref{PixelFormat,RG16Unorm},
* @ref PixelFormat::R16Snorm, @ref PixelFormat::RG16Snorm, * @relativeref{PixelFormat,RGBA16Unorm}, @relativeref{PixelFormat,R16Snorm},
* @ref PixelFormat::RGBA16Snorm, @ref PixelFormat::R16UI, * @relativeref{PixelFormat,RG16Snorm}, @relativeref{PixelFormat,RGBA16Snorm},
* @ref PixelFormat::RG16UI, @ref PixelFormat::R16I, * @relativeref{PixelFormat,R16UI}, @relativeref{PixelFormat,RG16UI},
* @ref PixelFormat::RG16I, @ref PixelFormat::R16F, * @relativeref{PixelFormat,R16I}, @relativeref{PixelFormat,RG16I},
* @ref PixelFormat::RG16F are *all* supported for shader storage. * @relativeref{PixelFormat,R16F}, @relativeref{PixelFormat,RG16F} are
* *all* supported for shader storage.
* @todoc link to the 10/10/10/2 and 10.11.10F formats once exposed * @todoc link to the 10/10/10/2 and 10.11.10F formats once exposed
*/ */
ShaderStorageImageExtendedFormats, ShaderStorageImageExtendedFormats,
@ -281,18 +282,18 @@ enum class DeviceFeature: UnsignedShort {
* Whether arrays of uniform buffers can be indexed by dynamically uniform * Whether arrays of uniform buffers can be indexed by dynamically uniform
* integer expressions in shader code. * integer expressions in shader code.
* @see @ref DeviceFeature::ShaderSampledImageArrayDynamicIndexing, * @see @ref DeviceFeature::ShaderSampledImageArrayDynamicIndexing,
* @ref DeviceFeature::ShaderStorageBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageImageArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageImageArrayDynamicIndexing},
* @ref DeviceFeature::ShaderInputAttachmentArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderInputAttachmentArrayDynamicIndexing},
* @ref DeviceFeature::ShaderUniformTexelBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderUniformTexelBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageTexelBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageTexelBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderUniformBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderUniformBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderSampledImageArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderSampledImageArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageImageArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageImageArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderInputAttachmentArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderInputAttachmentArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderUniformTexelBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderUniformTexelBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageTexelBufferArrayNonUniformIndexing * @relativeref{DeviceFeature,ShaderStorageTexelBufferArrayNonUniformIndexing}
*/ */
ShaderUniformBufferArrayDynamicIndexing, ShaderUniformBufferArrayDynamicIndexing,
@ -300,18 +301,18 @@ enum class DeviceFeature: UnsignedShort {
* Whether arrays of samplers or sampled images can be indexed by * Whether arrays of samplers or sampled images can be indexed by
* dynamically uniform integer expressions in shader code. * dynamically uniform integer expressions in shader code.
* @see @ref DeviceFeature::ShaderUniformBufferArrayDynamicIndexing, * @see @ref DeviceFeature::ShaderUniformBufferArrayDynamicIndexing,
* @ref DeviceFeature::ShaderStorageBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageImageArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageImageArrayDynamicIndexing},
* @ref DeviceFeature::ShaderInputAttachmentArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderInputAttachmentArrayDynamicIndexing},
* @ref DeviceFeature::ShaderUniformTexelBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderUniformTexelBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageTexelBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageTexelBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderUniformBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderUniformBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderSampledImageArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderSampledImageArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageImageArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageImageArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderInputAttachmentArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderInputAttachmentArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderUniformTexelBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderUniformTexelBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageTexelBufferArrayNonUniformIndexing * @relativeref{DeviceFeature,ShaderStorageTexelBufferArrayNonUniformIndexing}
*/ */
ShaderSampledImageArrayDynamicIndexing, ShaderSampledImageArrayDynamicIndexing,
@ -319,18 +320,18 @@ enum class DeviceFeature: UnsignedShort {
* Whether arrays of storage buffers can be indexed by dynamically uniform * Whether arrays of storage buffers can be indexed by dynamically uniform
* integer expressions in shader code. * integer expressions in shader code.
* @see @ref DeviceFeature::ShaderUniformBufferArrayDynamicIndexing, * @see @ref DeviceFeature::ShaderUniformBufferArrayDynamicIndexing,
* @ref DeviceFeature::ShaderSampledImageArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderSampledImageArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageImageArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageImageArrayDynamicIndexing},
* @ref DeviceFeature::ShaderInputAttachmentArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderInputAttachmentArrayDynamicIndexing},
* @ref DeviceFeature::ShaderUniformTexelBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderUniformTexelBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageTexelBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageTexelBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderUniformBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderUniformBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderSampledImageArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderSampledImageArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageImageArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageImageArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderInputAttachmentArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderInputAttachmentArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderUniformTexelBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderUniformTexelBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageTexelBufferArrayNonUniformIndexing * @relativeref{DeviceFeature,ShaderStorageTexelBufferArrayNonUniformIndexing}
*/ */
ShaderStorageBufferArrayDynamicIndexing, ShaderStorageBufferArrayDynamicIndexing,
@ -338,18 +339,18 @@ enum class DeviceFeature: UnsignedShort {
* Whether arrays of storage images can be indexed by dynamically uniform * Whether arrays of storage images can be indexed by dynamically uniform
* integer expressions in shader code. * integer expressions in shader code.
* @see @ref DeviceFeature::ShaderUniformBufferArrayDynamicIndexing, * @see @ref DeviceFeature::ShaderUniformBufferArrayDynamicIndexing,
* @ref DeviceFeature::ShaderSampledImageArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderSampledImageArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderInputAttachmentArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderInputAttachmentArrayDynamicIndexing},
* @ref DeviceFeature::ShaderUniformTexelBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderUniformTexelBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageTexelBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageTexelBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderUniformBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderUniformBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderSampledImageArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderSampledImageArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageImageArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageImageArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderInputAttachmentArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderInputAttachmentArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderUniformTexelBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderUniformTexelBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageTexelBufferArrayNonUniformIndexing * @relativeref{DeviceFeature,ShaderStorageTexelBufferArrayNonUniformIndexing}
*/ */
ShaderStorageImageArrayDynamicIndexing, ShaderStorageImageArrayDynamicIndexing,
@ -367,19 +368,21 @@ enum class DeviceFeature: UnsignedShort {
/** /**
* Whether 64-bit integers are supported in shader code. * Whether 64-bit integers are supported in shader code.
* @see @ref DeviceFeature::ShaderInt16, @ref DeviceFeature::ShaderInt8, * @see @ref DeviceFeature::ShaderInt16,
* @ref DeviceFeature::ShaderSubgroupExtendedTypes * @relativeref{DeviceFeature,ShaderInt8},
* @relativeref{DeviceFeature,ShaderSubgroupExtendedTypes}
*/ */
ShaderInt64, ShaderInt64,
/** /**
* Whether 16-bit integers are supported in shader code. * Whether 16-bit integers are supported in shader code.
* @see @ref DeviceFeature::ShaderInt64, @ref DeviceFeature::ShaderInt8, * @see @ref DeviceFeature::ShaderInt64,
* @ref DeviceFeature::StorageBuffer16BitAccess, * @relativeref{DeviceFeature,ShaderInt8},
* @ref DeviceFeature::UniformAndStorageBuffer16BitAccess, * @relativeref{DeviceFeature,StorageBuffer16BitAccess},
* @ref DeviceFeature::StoragePushConstant16, * @relativeref{DeviceFeature,UniformAndStorageBuffer16BitAccess},
* @ref DeviceFeature::StorageInputOutput16, * @relativeref{DeviceFeature,StoragePushConstant16},
* @ref DeviceFeature::ShaderSubgroupExtendedTypes * @relativeref{DeviceFeature,StorageInputOutput16},
* @relativeref{DeviceFeature,ShaderSubgroupExtendedTypes}
*/ */
ShaderInt16, ShaderInt16,
@ -508,23 +511,23 @@ enum class DeviceFeature: UnsignedShort {
/** /**
* Whether @ref PixelFormat::CompressedAstc4x4RGBAF, * Whether @ref PixelFormat::CompressedAstc4x4RGBAF,
* @ref PixelFormat::CompressedAstc5x4RGBAF, * @relativeref{PixelFormat,CompressedAstc5x4RGBAF},
* @ref PixelFormat::CompressedAstc5x5RGBAF, * @relativeref{PixelFormat,CompressedAstc5x5RGBAF},
* @ref PixelFormat::CompressedAstc6x5RGBAF, * @relativeref{PixelFormat,CompressedAstc6x5RGBAF},
* @ref PixelFormat::CompressedAstc6x6RGBAF, * @relativeref{PixelFormat,CompressedAstc6x6RGBAF},
* @ref PixelFormat::CompressedAstc8x5RGBAF, * @relativeref{PixelFormat,CompressedAstc8x5RGBAF},
* @ref PixelFormat::CompressedAstc8x6RGBAF, * @relativeref{PixelFormat,CompressedAstc8x6RGBAF},
* @ref PixelFormat::CompressedAstc8x8RGBAF, * @relativeref{PixelFormat,CompressedAstc8x8RGBAF},
* @ref PixelFormat::CompressedAstc10x5RGBAF, * @relativeref{PixelFormat,CompressedAstc10x5RGBAF},
* @ref PixelFormat::CompressedAstc10x6RGBAF, * @relativeref{PixelFormat,CompressedAstc10x6RGBAF},
* @ref PixelFormat::CompressedAstc10x8RGBAF, * @relativeref{PixelFormat,CompressedAstc10x8RGBAF},
* @ref PixelFormat::CompressedAstc10x10RGBAF, * @relativeref{PixelFormat,CompressedAstc10x10RGBAF},
* @ref PixelFormat::CompressedAstc12x10RGBAF, * @relativeref{PixelFormat,CompressedAstc12x10RGBAF},
* @ref PixelFormat::CompressedAstc12x12RGBAF ASTC HDR compressed * @relativeref{PixelFormat,CompressedAstc12x12RGBAF} ASTC HDR compressed
* texture formats are *all* supported. * texture formats are *all* supported.
* @see @ref DeviceFeature::TextureCompressionAstcLdr, * @see @ref DeviceFeature::TextureCompressionAstcLdr,
* @ref DeviceFeature::TextureCompressionEtc2, * @relativeref{DeviceFeature,TextureCompressionEtc2},
* @ref DeviceFeature::TextureCompressionBc * @relativeref{DeviceFeature,TextureCompressionBc}
* @requires_vk_extension Extension @vk_extension{EXT,texture_compression_astc_hdr} * @requires_vk_extension Extension @vk_extension{EXT,texture_compression_astc_hdr}
*/ */
TextureCompressionAstcHdr, TextureCompressionAstcHdr,
@ -534,19 +537,20 @@ enum class DeviceFeature: UnsignedShort {
/** /**
* Whether 16-bit floats are supported in shader code. * Whether 16-bit floats are supported in shader code.
* @see @ref DeviceFeature::ShaderFloat64, * @see @ref DeviceFeature::ShaderFloat64,
* @ref DeviceFeature::StorageBuffer16BitAccess, * @relativeref{DeviceFeature,StorageBuffer16BitAccess},
* @ref DeviceFeature::UniformAndStorageBuffer16BitAccess, * @relativeref{DeviceFeature,UniformAndStorageBuffer16BitAccess},
* @ref DeviceFeature::StoragePushConstant16, * @relativeref{DeviceFeature,StoragePushConstant16},
* @ref DeviceFeature::StorageInputOutput16, * @relativeref{DeviceFeature,StorageInputOutput16},
* @ref DeviceFeature::ShaderSubgroupExtendedTypes * @relativeref{DeviceFeature,ShaderSubgroupExtendedTypes}
* @requires_vk12 Extension @vk_extension{KHR,shader_float16_int8} * @requires_vk12 Extension @vk_extension{KHR,shader_float16_int8}
*/ */
ShaderFloat16, ShaderFloat16,
/** /**
* Whether 8-bit integers are supported in shader code. * Whether 8-bit integers are supported in shader code.
* @see @ref DeviceFeature::ShaderInt64, @ref DeviceFeature::ShaderInt16, * @see @ref DeviceFeature::ShaderInt64,
* @ref DeviceFeature::ShaderSubgroupExtendedTypes * @relativeref{DeviceFeature,ShaderInt16},
* @relativeref{DeviceFeature,ShaderSubgroupExtendedTypes}
* @requires_vk12 Extension @vk_extension{KHR,shader_float16_int8} * @requires_vk12 Extension @vk_extension{KHR,shader_float16_int8}
*/ */
ShaderInt8, ShaderInt8,
@ -558,7 +562,8 @@ enum class DeviceFeature: UnsignedShort {
* floating-point members. Subset of * floating-point members. Subset of
* @ref DeviceFeature::UniformAndStorageBuffer16BitAccess. * @ref DeviceFeature::UniformAndStorageBuffer16BitAccess.
* @see @ref DeviceFeature::StorageBuffer8BitAccess, * @see @ref DeviceFeature::StorageBuffer8BitAccess,
* @ref DeviceFeature::ShaderInt16, @ref DeviceFeature::ShaderFloat16 * @relativeref{DeviceFeature,ShaderInt16},
* @relativeref{DeviceFeature,ShaderFloat16}
* @requires_vk11 Extension @vk_extension{KHR,16bit_storage} * @requires_vk11 Extension @vk_extension{KHR,16bit_storage}
*/ */
StorageBuffer16BitAccess, StorageBuffer16BitAccess,
@ -568,7 +573,8 @@ enum class DeviceFeature: UnsignedShort {
* 16-bit floating-point members. Superset of * 16-bit floating-point members. Superset of
* @ref DeviceFeature::StorageBuffer16BitAccess. * @ref DeviceFeature::StorageBuffer16BitAccess.
* @see @ref DeviceFeature::UniformAndStorageBuffer8BitAccess, * @see @ref DeviceFeature::UniformAndStorageBuffer8BitAccess,
* @ref DeviceFeature::ShaderInt16, @ref DeviceFeature::ShaderFloat16 * @relativeref{DeviceFeature,ShaderInt16},
* @relativeref{DeviceFeature,ShaderFloat16}
* @requires_vk11 Extension @vk_extension{KHR,16bit_storage} * @requires_vk11 Extension @vk_extension{KHR,16bit_storage}
*/ */
UniformAndStorageBuffer16BitAccess, UniformAndStorageBuffer16BitAccess,
@ -577,7 +583,8 @@ enum class DeviceFeature: UnsignedShort {
* Whether shader push constants can have 16-bit integer and 16-bit * Whether shader push constants can have 16-bit integer and 16-bit
* floating-point members. * floating-point members.
* @see @ref DeviceFeature::StoragePushConstant8, * @see @ref DeviceFeature::StoragePushConstant8,
* @ref DeviceFeature::ShaderInt16, @ref DeviceFeature::ShaderFloat16 * @relativeref{DeviceFeature,ShaderInt16},
* @relativeref{DeviceFeature,ShaderFloat16}
* @requires_vk11 Extension @vk_extension{KHR,16bit_storage} * @requires_vk11 Extension @vk_extension{KHR,16bit_storage}
*/ */
StoragePushConstant16, StoragePushConstant16,
@ -585,7 +592,8 @@ enum class DeviceFeature: UnsignedShort {
/** /**
* Whether shader inputs and outputs can have 16-bit integer and 16-bit * Whether shader inputs and outputs can have 16-bit integer and 16-bit
* floating-point members. * floating-point members.
* @see @ref DeviceFeature::ShaderInt16, @ref DeviceFeature::ShaderFloat16 * @see @ref DeviceFeature::ShaderInt16,
* @relativeref{DeviceFeature,ShaderFloat16}
* @requires_vk11 Extension @vk_extension{KHR,16bit_storage} * @requires_vk11 Extension @vk_extension{KHR,16bit_storage}
*/ */
StorageInputOutput16, StorageInputOutput16,
@ -644,11 +652,11 @@ enum class DeviceFeature: UnsignedShort {
* Whether acceleration structure descriptors can be updated after a set is * Whether acceleration structure descriptors can be updated after a set is
* bound. * bound.
* @see @ref DeviceFeature::DescriptorBindingUniformBufferUpdateAfterBind, * @see @ref DeviceFeature::DescriptorBindingUniformBufferUpdateAfterBind,
* @ref DeviceFeature::DescriptorBindingSampledImageUpdateAfterBind, * @relativeref{DeviceFeature,DescriptorBindingSampledImageUpdateAfterBind},
* @ref DeviceFeature::DescriptorBindingStorageImageUpdateAfterBind, * @relativeref{DeviceFeature,DescriptorBindingStorageImageUpdateAfterBind},
* @ref DeviceFeature::DescriptorBindingStorageBufferUpdateAfterBind, * @relativeref{DeviceFeature,DescriptorBindingStorageBufferUpdateAfterBind},
* @ref DeviceFeature::DescriptorBindingUniformTexelBufferUpdateAfterBind, * @relativeref{DeviceFeature,DescriptorBindingUniformTexelBufferUpdateAfterBind},
* @ref DeviceFeature::DescriptorBindingStorageTexelBufferUpdateAfterBind * @relativeref{DeviceFeature,DescriptorBindingStorageTexelBufferUpdateAfterBind}
* @requires_vk_extension Extension @vk_extension{KHR,acceleration_structure} * @requires_vk_extension Extension @vk_extension{KHR,acceleration_structure}
*/ */
DescriptorBindingAccelerationStructureUpdateAfterBind, DescriptorBindingAccelerationStructureUpdateAfterBind,
@ -667,18 +675,18 @@ enum class DeviceFeature: UnsignedShort {
* Whether arrays of input attachment can be indexed by dynamically uniform * Whether arrays of input attachment can be indexed by dynamically uniform
* integer expressions in shader code. * integer expressions in shader code.
* @see @ref DeviceFeature::ShaderUniformBufferArrayDynamicIndexing, * @see @ref DeviceFeature::ShaderUniformBufferArrayDynamicIndexing,
* @ref DeviceFeature::ShaderSampledImageArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderSampledImageArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageImageArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageImageArrayDynamicIndexing},
* @ref DeviceFeature::ShaderUniformTexelBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderUniformTexelBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageTexelBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageTexelBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderUniformBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderUniformBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderSampledImageArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderSampledImageArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageImageArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageImageArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderInputAttachmentArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderInputAttachmentArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderUniformTexelBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderUniformTexelBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageTexelBufferArrayNonUniformIndexing * @relativeref{DeviceFeature,ShaderStorageTexelBufferArrayNonUniformIndexing}
* @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing} * @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing}
*/ */
ShaderInputAttachmentArrayDynamicIndexing, ShaderInputAttachmentArrayDynamicIndexing,
@ -687,18 +695,18 @@ enum class DeviceFeature: UnsignedShort {
* Whether arrays of uniform texel buffers can be indexed by dynamically * Whether arrays of uniform texel buffers can be indexed by dynamically
* uniform integer expressions in shader code. * uniform integer expressions in shader code.
* @see @ref DeviceFeature::ShaderUniformBufferArrayDynamicIndexing, * @see @ref DeviceFeature::ShaderUniformBufferArrayDynamicIndexing,
* @ref DeviceFeature::ShaderSampledImageArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderSampledImageArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageImageArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageImageArrayDynamicIndexing},
* @ref DeviceFeature::ShaderInputAttachmentArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderInputAttachmentArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageTexelBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageTexelBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderUniformBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderUniformBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderSampledImageArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderSampledImageArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageImageArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageImageArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderInputAttachmentArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderInputAttachmentArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderUniformTexelBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderUniformTexelBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageTexelBufferArrayNonUniformIndexing * @relativeref{DeviceFeature,ShaderStorageTexelBufferArrayNonUniformIndexing}
* @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing} * @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing}
*/ */
ShaderUniformTexelBufferArrayDynamicIndexing, ShaderUniformTexelBufferArrayDynamicIndexing,
@ -707,18 +715,18 @@ enum class DeviceFeature: UnsignedShort {
* Whether arrays of storage texel buffers can be indexed by dynamically * Whether arrays of storage texel buffers can be indexed by dynamically
* uniform integer expressions in shader code. * uniform integer expressions in shader code.
* @see @ref DeviceFeature::ShaderUniformBufferArrayDynamicIndexing, * @see @ref DeviceFeature::ShaderUniformBufferArrayDynamicIndexing,
* @ref DeviceFeature::ShaderSampledImageArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderSampledImageArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageImageArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageImageArrayDynamicIndexing},
* @ref DeviceFeature::ShaderInputAttachmentArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderInputAttachmentArrayDynamicIndexing},
* @ref DeviceFeature::ShaderUniformTexelBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderUniformTexelBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderUniformBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderUniformBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderSampledImageArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderSampledImageArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageImageArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageImageArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderInputAttachmentArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderInputAttachmentArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderUniformTexelBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderUniformTexelBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageTexelBufferArrayNonUniformIndexing * @relativeref{DeviceFeature,ShaderStorageTexelBufferArrayNonUniformIndexing}
* @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing} * @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing}
*/ */
ShaderStorageTexelBufferArrayDynamicIndexing, ShaderStorageTexelBufferArrayDynamicIndexing,
@ -727,18 +735,18 @@ enum class DeviceFeature: UnsignedShort {
* Whether arrays of uniform buffers can be indexed by non-uniform integer * Whether arrays of uniform buffers can be indexed by non-uniform integer
* expressions in shader code. * expressions in shader code.
* @see @ref DeviceFeature::ShaderSampledImageArrayNonUniformIndexing, * @see @ref DeviceFeature::ShaderSampledImageArrayNonUniformIndexing,
* @ref DeviceFeature::ShaderStorageBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageImageArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageImageArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderInputAttachmentArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderInputAttachmentArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderUniformTexelBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderUniformTexelBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageTexelBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageTexelBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderUniformBufferArrayDynamicIndexing * @relativeref{DeviceFeature,ShaderUniformBufferArrayDynamicIndexing}
* @ref DeviceFeature::ShaderSampledImageArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderSampledImageArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageImageArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageImageArrayDynamicIndexing},
* @ref DeviceFeature::ShaderInputAttachmentArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderInputAttachmentArrayDynamicIndexing},
* @ref DeviceFeature::ShaderUniformTexelBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderUniformTexelBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageTexelBufferArrayDynamicIndexing * @relativeref{DeviceFeature,ShaderStorageTexelBufferArrayDynamicIndexing}
* @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing} * @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing}
*/ */
ShaderUniformBufferArrayNonUniformIndexing, ShaderUniformBufferArrayNonUniformIndexing,
@ -747,18 +755,18 @@ enum class DeviceFeature: UnsignedShort {
* Whether arrays of samplers or sampled images can be indexed by * Whether arrays of samplers or sampled images can be indexed by
* non-uniform integer expressions in shader code. * non-uniform integer expressions in shader code.
* @see @ref DeviceFeature::ShaderUniformBufferArrayNonUniformIndexing, * @see @ref DeviceFeature::ShaderUniformBufferArrayNonUniformIndexing,
* @ref DeviceFeature::ShaderStorageBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageImageArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageImageArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderInputAttachmentArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderInputAttachmentArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderUniformTexelBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderUniformTexelBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageTexelBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageTexelBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderUniformBufferArrayDynamicIndexing * @relativeref{DeviceFeature,ShaderUniformBufferArrayDynamicIndexing}
* @ref DeviceFeature::ShaderSampledImageArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderSampledImageArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageImageArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageImageArrayDynamicIndexing},
* @ref DeviceFeature::ShaderInputAttachmentArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderInputAttachmentArrayDynamicIndexing},
* @ref DeviceFeature::ShaderUniformTexelBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderUniformTexelBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageTexelBufferArrayDynamicIndexing * @relativeref{DeviceFeature,ShaderStorageTexelBufferArrayDynamicIndexing}
* @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing} * @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing}
*/ */
ShaderSampledImageArrayNonUniformIndexing, ShaderSampledImageArrayNonUniformIndexing,
@ -767,18 +775,18 @@ enum class DeviceFeature: UnsignedShort {
* Whether arrays of storage buffers can be indexed by non-uniform integer * Whether arrays of storage buffers can be indexed by non-uniform integer
* expressions in shader code. * expressions in shader code.
* @see @ref DeviceFeature::ShaderUniformBufferArrayNonUniformIndexing, * @see @ref DeviceFeature::ShaderUniformBufferArrayNonUniformIndexing,
* @ref DeviceFeature::ShaderSampledImageArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderSampledImageArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageImageArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageImageArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderInputAttachmentArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderInputAttachmentArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderUniformTexelBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderUniformTexelBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageTexelBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageTexelBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderUniformBufferArrayDynamicIndexing * @relativeref{DeviceFeature,ShaderUniformBufferArrayDynamicIndexing}
* @ref DeviceFeature::ShaderSampledImageArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderSampledImageArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageImageArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageImageArrayDynamicIndexing},
* @ref DeviceFeature::ShaderInputAttachmentArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderInputAttachmentArrayDynamicIndexing},
* @ref DeviceFeature::ShaderUniformTexelBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderUniformTexelBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageTexelBufferArrayDynamicIndexing * @relativeref{DeviceFeature,ShaderStorageTexelBufferArrayDynamicIndexing}
* @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing} * @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing}
*/ */
ShaderStorageBufferArrayNonUniformIndexing, ShaderStorageBufferArrayNonUniformIndexing,
@ -787,18 +795,18 @@ enum class DeviceFeature: UnsignedShort {
* Whether arrays of storage images can be indexed by non-uniform integer * Whether arrays of storage images can be indexed by non-uniform integer
* expressions in shader code. * expressions in shader code.
* @see @ref DeviceFeature::ShaderUniformBufferArrayNonUniformIndexing, * @see @ref DeviceFeature::ShaderUniformBufferArrayNonUniformIndexing,
* @ref DeviceFeature::ShaderSampledImageArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderSampledImageArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderInputAttachmentArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderInputAttachmentArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderUniformTexelBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderUniformTexelBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageTexelBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageTexelBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderUniformBufferArrayDynamicIndexing * @relativeref{DeviceFeature,ShaderUniformBufferArrayDynamicIndexing}
* @ref DeviceFeature::ShaderSampledImageArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderSampledImageArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageImageArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageImageArrayDynamicIndexing},
* @ref DeviceFeature::ShaderInputAttachmentArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderInputAttachmentArrayDynamicIndexing},
* @ref DeviceFeature::ShaderUniformTexelBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderUniformTexelBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageTexelBufferArrayDynamicIndexing * @relativeref{DeviceFeature,ShaderStorageTexelBufferArrayDynamicIndexing}
* @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing} * @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing}
*/ */
ShaderStorageImageArrayNonUniformIndexing, ShaderStorageImageArrayNonUniformIndexing,
@ -807,18 +815,18 @@ enum class DeviceFeature: UnsignedShort {
* Whether arrays of input attachments can be indexed by non-uniform * Whether arrays of input attachments can be indexed by non-uniform
* integer expressions in shader code. * integer expressions in shader code.
* @see @ref DeviceFeature::ShaderUniformBufferArrayNonUniformIndexing, * @see @ref DeviceFeature::ShaderUniformBufferArrayNonUniformIndexing,
* @ref DeviceFeature::ShaderSampledImageArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderSampledImageArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageImageArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageImageArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderUniformTexelBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderUniformTexelBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageTexelBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageTexelBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderUniformBufferArrayDynamicIndexing * @relativeref{DeviceFeature,ShaderUniformBufferArrayDynamicIndexing}
* @ref DeviceFeature::ShaderSampledImageArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderSampledImageArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageImageArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageImageArrayDynamicIndexing},
* @ref DeviceFeature::ShaderInputAttachmentArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderInputAttachmentArrayDynamicIndexing},
* @ref DeviceFeature::ShaderUniformTexelBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderUniformTexelBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageTexelBufferArrayDynamicIndexing * @relativeref{DeviceFeature,ShaderStorageTexelBufferArrayDynamicIndexing}
* @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing} * @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing}
*/ */
ShaderInputAttachmentArrayNonUniformIndexing, ShaderInputAttachmentArrayNonUniformIndexing,
@ -827,18 +835,18 @@ enum class DeviceFeature: UnsignedShort {
* Whether arrays of uniform texel buffers can be indexed by non-uniform * Whether arrays of uniform texel buffers can be indexed by non-uniform
* integer expressions in shader code. * integer expressions in shader code.
* @see @ref DeviceFeature::ShaderUniformBufferArrayNonUniformIndexing, * @see @ref DeviceFeature::ShaderUniformBufferArrayNonUniformIndexing,
* @ref DeviceFeature::ShaderSampledImageArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderSampledImageArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageImageArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageImageArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderInputAttachmentArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderInputAttachmentArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageTexelBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageTexelBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderUniformBufferArrayDynamicIndexing * @relativeref{DeviceFeature,ShaderUniformBufferArrayDynamicIndexing}
* @ref DeviceFeature::ShaderSampledImageArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderSampledImageArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageImageArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageImageArrayDynamicIndexing},
* @ref DeviceFeature::ShaderInputAttachmentArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderInputAttachmentArrayDynamicIndexing},
* @ref DeviceFeature::ShaderUniformTexelBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderUniformTexelBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageTexelBufferArrayDynamicIndexing * @relativeref{DeviceFeature,ShaderStorageTexelBufferArrayDynamicIndexing}
* @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing} * @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing}
*/ */
ShaderUniformTexelBufferArrayNonUniformIndexing, ShaderUniformTexelBufferArrayNonUniformIndexing,
@ -847,18 +855,18 @@ enum class DeviceFeature: UnsignedShort {
* Whether arrays of storage texel buffers can be indexed by non-uniform * Whether arrays of storage texel buffers can be indexed by non-uniform
* integer expressions in shader code. * integer expressions in shader code.
* @see @ref DeviceFeature::ShaderUniformBufferArrayNonUniformIndexing, * @see @ref DeviceFeature::ShaderUniformBufferArrayNonUniformIndexing,
* @ref DeviceFeature::ShaderSampledImageArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderSampledImageArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderStorageImageArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderStorageImageArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderInputAttachmentArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderInputAttachmentArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderUniformTexelBufferArrayNonUniformIndexing, * @relativeref{DeviceFeature,ShaderUniformTexelBufferArrayNonUniformIndexing},
* @ref DeviceFeature::ShaderUniformBufferArrayDynamicIndexing * @relativeref{DeviceFeature,ShaderUniformBufferArrayDynamicIndexing}
* @ref DeviceFeature::ShaderSampledImageArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderSampledImageArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageImageArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderStorageImageArrayDynamicIndexing},
* @ref DeviceFeature::ShaderInputAttachmentArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderInputAttachmentArrayDynamicIndexing},
* @ref DeviceFeature::ShaderUniformTexelBufferArrayDynamicIndexing, * @relativeref{DeviceFeature,ShaderUniformTexelBufferArrayDynamicIndexing},
* @ref DeviceFeature::ShaderStorageTexelBufferArrayDynamicIndexing * @relativeref{DeviceFeature,ShaderStorageTexelBufferArrayDynamicIndexing}
* @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing} * @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing}
*/ */
ShaderStorageTexelBufferArrayNonUniformIndexing, ShaderStorageTexelBufferArrayNonUniformIndexing,
@ -866,11 +874,11 @@ enum class DeviceFeature: UnsignedShort {
/** /**
* Whether uniform buffer descriptors can be updated after a set is bound. * Whether uniform buffer descriptors can be updated after a set is bound.
* @see @ref DeviceFeature::DescriptorBindingAccelerationStructureUpdateAfterBind, * @see @ref DeviceFeature::DescriptorBindingAccelerationStructureUpdateAfterBind,
* @ref DeviceFeature::DescriptorBindingSampledImageUpdateAfterBind, * @relativeref{DeviceFeature,DescriptorBindingSampledImageUpdateAfterBind},
* @ref DeviceFeature::DescriptorBindingStorageImageUpdateAfterBind, * @relativeref{DeviceFeature,DescriptorBindingStorageImageUpdateAfterBind},
* @ref DeviceFeature::DescriptorBindingStorageBufferUpdateAfterBind, * @relativeref{DeviceFeature,DescriptorBindingStorageBufferUpdateAfterBind},
* @ref DeviceFeature::DescriptorBindingUniformTexelBufferUpdateAfterBind, * @relativeref{DeviceFeature,DescriptorBindingUniformTexelBufferUpdateAfterBind},
* @ref DeviceFeature::DescriptorBindingStorageTexelBufferUpdateAfterBind * @relativeref{DeviceFeature,DescriptorBindingStorageTexelBufferUpdateAfterBind}
* @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing} * @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing}
*/ */
DescriptorBindingUniformBufferUpdateAfterBind, DescriptorBindingUniformBufferUpdateAfterBind,
@ -878,11 +886,11 @@ enum class DeviceFeature: UnsignedShort {
/** /**
* Whether sampled image descriptors can be updated after a set is bound. * Whether sampled image descriptors can be updated after a set is bound.
* @see @ref DeviceFeature::DescriptorBindingAccelerationStructureUpdateAfterBind, * @see @ref DeviceFeature::DescriptorBindingAccelerationStructureUpdateAfterBind,
* @ref DeviceFeature::DescriptorBindingUniformBufferUpdateAfterBind, * @relativeref{DeviceFeature,DescriptorBindingUniformBufferUpdateAfterBind},
* @ref DeviceFeature::DescriptorBindingStorageImageUpdateAfterBind, * @relativeref{DeviceFeature,DescriptorBindingStorageImageUpdateAfterBind},
* @ref DeviceFeature::DescriptorBindingStorageBufferUpdateAfterBind, * @relativeref{DeviceFeature,DescriptorBindingStorageBufferUpdateAfterBind},
* @ref DeviceFeature::DescriptorBindingUniformTexelBufferUpdateAfterBind, * @relativeref{DeviceFeature,DescriptorBindingUniformTexelBufferUpdateAfterBind},
* @ref DeviceFeature::DescriptorBindingStorageTexelBufferUpdateAfterBind * @relativeref{DeviceFeature,DescriptorBindingStorageTexelBufferUpdateAfterBind}
* @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing} * @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing}
*/ */
DescriptorBindingSampledImageUpdateAfterBind, DescriptorBindingSampledImageUpdateAfterBind,
@ -890,11 +898,11 @@ enum class DeviceFeature: UnsignedShort {
/** /**
* Whether storage image descriptors can be updated after a set is bound. * Whether storage image descriptors can be updated after a set is bound.
* @see @ref DeviceFeature::DescriptorBindingAccelerationStructureUpdateAfterBind, * @see @ref DeviceFeature::DescriptorBindingAccelerationStructureUpdateAfterBind,
* @ref DeviceFeature::DescriptorBindingUniformBufferUpdateAfterBind, * @relativeref{DeviceFeature,DescriptorBindingUniformBufferUpdateAfterBind},
* @ref DeviceFeature::DescriptorBindingSampledImageUpdateAfterBind, * @relativeref{DeviceFeature,DescriptorBindingSampledImageUpdateAfterBind},
* @ref DeviceFeature::DescriptorBindingStorageBufferUpdateAfterBind, * @relativeref{DeviceFeature,DescriptorBindingStorageBufferUpdateAfterBind},
* @ref DeviceFeature::DescriptorBindingUniformTexelBufferUpdateAfterBind, * @relativeref{DeviceFeature,DescriptorBindingUniformTexelBufferUpdateAfterBind},
* @ref DeviceFeature::DescriptorBindingStorageTexelBufferUpdateAfterBind * @relativeref{DeviceFeature,DescriptorBindingStorageTexelBufferUpdateAfterBind}
* @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing} * @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing}
*/ */
DescriptorBindingStorageImageUpdateAfterBind, DescriptorBindingStorageImageUpdateAfterBind,
@ -902,11 +910,11 @@ enum class DeviceFeature: UnsignedShort {
/** /**
* Whether storage buffer descriptors can be updated after a set is bound. * Whether storage buffer descriptors can be updated after a set is bound.
* @see @ref DeviceFeature::DescriptorBindingAccelerationStructureUpdateAfterBind, * @see @ref DeviceFeature::DescriptorBindingAccelerationStructureUpdateAfterBind,
* @ref DeviceFeature::DescriptorBindingUniformBufferUpdateAfterBind, * @relativeref{DeviceFeature,DescriptorBindingUniformBufferUpdateAfterBind},
* @ref DeviceFeature::DescriptorBindingSampledImageUpdateAfterBind, * @relativeref{DeviceFeature,DescriptorBindingSampledImageUpdateAfterBind},
* @ref DeviceFeature::DescriptorBindingStorageImageUpdateAfterBind, * @relativeref{DeviceFeature,DescriptorBindingStorageImageUpdateAfterBind},
* @ref DeviceFeature::DescriptorBindingUniformTexelBufferUpdateAfterBind, * @relativeref{DeviceFeature,DescriptorBindingUniformTexelBufferUpdateAfterBind},
* @ref DeviceFeature::DescriptorBindingStorageTexelBufferUpdateAfterBind * @relativeref{DeviceFeature,DescriptorBindingStorageTexelBufferUpdateAfterBind}
* @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing} * @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing}
*/ */
DescriptorBindingStorageBufferUpdateAfterBind, DescriptorBindingStorageBufferUpdateAfterBind,
@ -915,11 +923,11 @@ enum class DeviceFeature: UnsignedShort {
* Whether uniform texel buffer descriptors can be updated after a set is * Whether uniform texel buffer descriptors can be updated after a set is
* bound. * bound.
* @see @ref DeviceFeature::DescriptorBindingAccelerationStructureUpdateAfterBind, * @see @ref DeviceFeature::DescriptorBindingAccelerationStructureUpdateAfterBind,
* @ref DeviceFeature::DescriptorBindingUniformBufferUpdateAfterBind, * @relativeref{DeviceFeature,DescriptorBindingUniformBufferUpdateAfterBind},
* @ref DeviceFeature::DescriptorBindingSampledImageUpdateAfterBind, * @relativeref{DeviceFeature,DescriptorBindingSampledImageUpdateAfterBind},
* @ref DeviceFeature::DescriptorBindingStorageImageUpdateAfterBind, * @relativeref{DeviceFeature,DescriptorBindingStorageImageUpdateAfterBind},
* @ref DeviceFeature::DescriptorBindingStorageBufferUpdateAfterBind, * @relativeref{DeviceFeature,DescriptorBindingStorageBufferUpdateAfterBind},
* @ref DeviceFeature::DescriptorBindingStorageTexelBufferUpdateAfterBind * @relativeref{DeviceFeature,DescriptorBindingStorageTexelBufferUpdateAfterBind}
* @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing} * @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing}
*/ */
DescriptorBindingUniformTexelBufferUpdateAfterBind, DescriptorBindingUniformTexelBufferUpdateAfterBind,
@ -928,11 +936,11 @@ enum class DeviceFeature: UnsignedShort {
* Whether storage texel buffer descriptors can be updated after a set is * Whether storage texel buffer descriptors can be updated after a set is
* bound. * bound.
* @see @ref DeviceFeature::DescriptorBindingAccelerationStructureUpdateAfterBind, * @see @ref DeviceFeature::DescriptorBindingAccelerationStructureUpdateAfterBind,
* @ref DeviceFeature::DescriptorBindingUniformBufferUpdateAfterBind, * @relativeref{DeviceFeature,DescriptorBindingUniformBufferUpdateAfterBind},
* @ref DeviceFeature::DescriptorBindingSampledImageUpdateAfterBind, * @relativeref{DeviceFeature,DescriptorBindingSampledImageUpdateAfterBind},
* @ref DeviceFeature::DescriptorBindingStorageImageUpdateAfterBind, * @relativeref{DeviceFeature,DescriptorBindingStorageImageUpdateAfterBind},
* @ref DeviceFeature::DescriptorBindingStorageBufferUpdateAfterBind, * @relativeref{DeviceFeature,DescriptorBindingStorageBufferUpdateAfterBind},
* @ref DeviceFeature::DescriptorBindingUniformTexelBufferUpdateAfterBind * @relativeref{DeviceFeature,DescriptorBindingUniformTexelBufferUpdateAfterBind}
* @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing} * @requires_vk12 Extension @vk_extension{EXT,descriptor_indexing}
*/ */
DescriptorBindingStorageTexelBufferUpdateAfterBind, DescriptorBindingStorageTexelBufferUpdateAfterBind,
@ -1084,8 +1092,10 @@ enum class DeviceFeature: UnsignedShort {
* Whether subgroup operations can use 8-bit integer, 16-bit integer, * Whether subgroup operations can use 8-bit integer, 16-bit integer,
* 64-bit integer and 16-bit floating point types in group operations with * 64-bit integer and 16-bit floating point types in group operations with
* subgroup scope, providing the types are supported. * subgroup scope, providing the types are supported.
* @see @ref DeviceFeature::ShaderInt8, @ref DeviceFeature::ShaderInt16, * @see @ref DeviceFeature::ShaderInt8,
* @ref DeviceFeature::ShaderInt64, @ref DeviceFeature::ShaderFloat16 * @relativeref{DeviceFeature,ShaderInt16},
* @relativeref{DeviceFeature,ShaderInt64},
* @relativeref{DeviceFeature,ShaderFloat16}
* @requires_vk12 Extension @vk_extension{KHR,shader_subgroup_extended_types} * @requires_vk12 Extension @vk_extension{KHR,shader_subgroup_extended_types}
*/ */
ShaderSubgroupExtendedTypes, ShaderSubgroupExtendedTypes,
@ -1096,7 +1106,7 @@ enum class DeviceFeature: UnsignedShort {
* Whether shader storage buffers can have 8-bit integer members. Subset of * Whether shader storage buffers can have 8-bit integer members. Subset of
* @ref DeviceFeature::UniformAndStorageBuffer8BitAccess. * @ref DeviceFeature::UniformAndStorageBuffer8BitAccess.
* @see @ref DeviceFeature::StorageBuffer16BitAccess, * @see @ref DeviceFeature::StorageBuffer16BitAccess,
* @ref DeviceFeature::ShaderInt8 * @relativeref{DeviceFeature,ShaderInt8}
* @requires_vk12 Extension @vk_extension{KHR,8bit_storage} * @requires_vk12 Extension @vk_extension{KHR,8bit_storage}
*/ */
StorageBuffer8BitAccess, StorageBuffer8BitAccess,
@ -1105,7 +1115,7 @@ enum class DeviceFeature: UnsignedShort {
* Whether shader uniforms and storage buffers can have 8-bit integer * Whether shader uniforms and storage buffers can have 8-bit integer
* members. Superset of @ref DeviceFeature::StorageBuffer8BitAccess. * members. Superset of @ref DeviceFeature::StorageBuffer8BitAccess.
* @see @ref DeviceFeature::UniformAndStorageBuffer16BitAccess, * @see @ref DeviceFeature::UniformAndStorageBuffer16BitAccess,
* @ref DeviceFeature::ShaderInt8 * @relativeref{DeviceFeature,ShaderInt8}
* @requires_vk12 Extension @vk_extension{KHR,8bit_storage} * @requires_vk12 Extension @vk_extension{KHR,8bit_storage}
*/ */
UniformAndStorageBuffer8BitAccess, UniformAndStorageBuffer8BitAccess,
@ -1113,7 +1123,7 @@ enum class DeviceFeature: UnsignedShort {
/** /**
* Whether shader push constants can have 8-bit integer members. * Whether shader push constants can have 8-bit integer members.
* @see @ref DeviceFeature::StoragePushConstant16, * @see @ref DeviceFeature::StoragePushConstant16,
* @ref DeviceFeature::ShaderInt8 * @relativeref{DeviceFeature,ShaderInt8}
* @requires_vk12 Extension @vk_extension{KHR,8bit_storage} * @requires_vk12 Extension @vk_extension{KHR,8bit_storage}
*/ */
StoragePushConstant8, StoragePushConstant8,
@ -1163,7 +1173,7 @@ enum class DeviceFeature: UnsignedShort {
/** /**
* Whether the Vulkan Memory Model is supported. * Whether the Vulkan Memory Model is supported.
* @see @ref DeviceFeature::VulkanMemoryModelDeviceScope, * @see @ref DeviceFeature::VulkanMemoryModelDeviceScope,
* @ref DeviceFeature::VulkanMemoryModelAvailabilityVisibilityChains * @relativeref{DeviceFeature,VulkanMemoryModelAvailabilityVisibilityChains}
* @requires_vk12 Extension @vk_extension{KHR,vulkan_memory_model} * @requires_vk12 Extension @vk_extension{KHR,vulkan_memory_model}
*/ */
VulkanMemoryModel, VulkanMemoryModel,
@ -1171,7 +1181,7 @@ enum class DeviceFeature: UnsignedShort {
/** /**
* Whether the Vulkan Memory Model can use device scope synchronization. * Whether the Vulkan Memory Model can use device scope synchronization.
* @see @ref DeviceFeature::VulkanMemoryModel, * @see @ref DeviceFeature::VulkanMemoryModel,
* @ref DeviceFeature::VulkanMemoryModelAvailabilityVisibilityChains * @relativeref{DeviceFeature,VulkanMemoryModelAvailabilityVisibilityChains}
* @requires_vk12 Extension @vk_extension{KHR,vulkan_memory_model} * @requires_vk12 Extension @vk_extension{KHR,vulkan_memory_model}
*/ */
VulkanMemoryModelDeviceScope, VulkanMemoryModelDeviceScope,
@ -1180,7 +1190,7 @@ enum class DeviceFeature: UnsignedShort {
* Whether the Vulkan Memory Model can use availability and visibility * Whether the Vulkan Memory Model can use availability and visibility
* chains with more than one element. * chains with more than one element.
* @see @ref DeviceFeature::VulkanMemoryModel, * @see @ref DeviceFeature::VulkanMemoryModel,
* @ref DeviceFeature::VulkanMemoryModelDeviceScope * @relativeref{DeviceFeature,VulkanMemoryModelDeviceScope}
* @requires_vk12 Extension @vk_extension{KHR,vulkan_memory_model} since * @requires_vk12 Extension @vk_extension{KHR,vulkan_memory_model} since
* revision 3 * revision 3
*/ */
@ -1222,7 +1232,7 @@ enum class DeviceFeature: UnsignedShort {
* Whether accessing buffer memory in shaders as storage buffers via an * Whether accessing buffer memory in shaders as storage buffers via an
* address queried from @fn_vk{GetBufferDeviceAddress} is supported. * address queried from @fn_vk{GetBufferDeviceAddress} is supported.
* @see @ref DeviceFeature::BufferDeviceAddressCaptureReplay, * @see @ref DeviceFeature::BufferDeviceAddressCaptureReplay,
* @ref DeviceFeature::BufferDeviceAddressMultiDevice * @relativeref{DeviceFeature,BufferDeviceAddressMultiDevice}
* @requires_vk12 Extension @vk_extension{KHR,buffer_device_address} * @requires_vk12 Extension @vk_extension{KHR,buffer_device_address}
*/ */
BufferDeviceAddress, BufferDeviceAddress,
@ -1231,15 +1241,16 @@ enum class DeviceFeature: UnsignedShort {
* Whether saving and reusing buffer dand device addresses for trace * Whether saving and reusing buffer dand device addresses for trace
* capture and replay is supported. * capture and replay is supported.
* @see @ref DeviceFeature::BufferDeviceAddress, * @see @ref DeviceFeature::BufferDeviceAddress,
* @ref DeviceFeature::BufferDeviceAddressMultiDevice * @relativeref{DeviceFeature,BufferDeviceAddressMultiDevice}
* @requires_vk12 Extension @vk_extension{KHR,buffer_device_address} * @requires_vk12 Extension @vk_extension{KHR,buffer_device_address}
*/ */
BufferDeviceAddressCaptureReplay, BufferDeviceAddressCaptureReplay,
/** /**
* Whether @ref DeviceFeature::BufferDeviceAddress, * Whether @ref DeviceFeature::BufferDeviceAddress,
* @ref DeviceFeature::RayTracingPipeline and @ref DeviceFeature::RayQuery * @relativeref{DeviceFeature,RayTracingPipeline} and
* for logical devices created with multiple physical devices is supported. * @relativeref{DeviceFeature,RayQuery} for logical devices created with
* multiple physical devices is supported.
* @requires_vk12 Extension @vk_extension{KHR,buffer_device_address} * @requires_vk12 Extension @vk_extension{KHR,buffer_device_address}
*/ */
BufferDeviceAddressMultiDevice, BufferDeviceAddressMultiDevice,

Loading…
Cancel
Save