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_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).
# 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_{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_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

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_{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_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_BUGLIST = NO

649
src/Magnum/Vk/DeviceFeatures.h

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

Loading…
Cancel
Save