Browse Source

Add HDR ASTC pixel formats.

Both Vulkan and Metal have separate enums for these, GL is the only odd
one out.
findsdl-include-root
Vladimír Vondruš 7 years ago
parent
commit
d9cef2feea
  1. 34
      src/Magnum/GL/Implementation/compressedPixelFormatMapping.hpp
  2. 24
      src/Magnum/Implementation/compressedPixelFormatMapping.hpp
  3. 28
      src/Magnum/PixelFormat.cpp
  4. 468
      src/Magnum/PixelFormat.h
  5. 25
      src/Magnum/Vk/Implementation/compressedFormatMapping.hpp
  6. 2
      src/MagnumExternal/Vulkan/extensions.txt
  7. 30
      src/MagnumExternal/Vulkan/flextVk.h

34
src/Magnum/GL/Implementation/compressedPixelFormatMapping.hpp

@ -77,74 +77,108 @@ _s(Etc2RGBA8Srgb)
#endif
_c(Astc4x4RGBAUnorm, RGBAAstc4x4)
_c(Astc4x4RGBASrgb, SRGB8Alpha8Astc4x4)
_c(Astc4x4RGBAF, RGBAAstc4x4)
_c(Astc5x4RGBAUnorm, RGBAAstc5x4)
_c(Astc5x4RGBASrgb, SRGB8Alpha8Astc5x4)
_c(Astc5x4RGBAF, RGBAAstc5x4)
_c(Astc5x5RGBAUnorm, RGBAAstc5x5)
_c(Astc5x5RGBASrgb, SRGB8Alpha8Astc5x5)
_c(Astc5x5RGBAF, RGBAAstc5x5)
_c(Astc6x5RGBAUnorm, RGBAAstc6x5)
_c(Astc6x5RGBASrgb, SRGB8Alpha8Astc6x5)
_c(Astc6x5RGBAF, RGBAAstc6x5)
_c(Astc6x6RGBAUnorm, RGBAAstc6x6)
_c(Astc6x6RGBASrgb, SRGB8Alpha8Astc6x6)
_c(Astc6x6RGBAF, RGBAAstc6x6)
_c(Astc8x5RGBAUnorm, RGBAAstc8x5)
_c(Astc8x5RGBASrgb, SRGB8Alpha8Astc8x5)
_c(Astc8x5RGBAF, RGBAAstc8x5)
_c(Astc8x6RGBAUnorm, RGBAAstc8x6)
_c(Astc8x6RGBASrgb, SRGB8Alpha8Astc8x6)
_c(Astc8x6RGBAF, RGBAAstc8x6)
_c(Astc8x8RGBAUnorm, RGBAAstc8x8)
_c(Astc8x8RGBASrgb, SRGB8Alpha8Astc8x8)
_c(Astc8x8RGBAF, RGBAAstc8x8)
_c(Astc10x5RGBAUnorm, RGBAAstc10x5)
_c(Astc10x5RGBASrgb, SRGB8Alpha8Astc10x5)
_c(Astc10x5RGBAF, RGBAAstc10x5)
_c(Astc10x6RGBAUnorm, RGBAAstc10x6)
_c(Astc10x6RGBASrgb, SRGB8Alpha8Astc10x6)
_c(Astc10x6RGBAF, RGBAAstc10x6)
_c(Astc10x8RGBAUnorm, RGBAAstc10x8)
_c(Astc10x8RGBASrgb, SRGB8Alpha8Astc10x8)
_c(Astc10x8RGBAF, RGBAAstc10x8)
_c(Astc10x10RGBAUnorm, RGBAAstc10x10)
_c(Astc10x10RGBASrgb, SRGB8Alpha8Astc10x10)
_c(Astc10x10RGBAF, RGBAAstc10x10)
_c(Astc12x10RGBAUnorm, RGBAAstc12x10)
_c(Astc12x10RGBASrgb, SRGB8Alpha8Astc12x10)
_c(Astc12x10RGBAF, RGBAAstc12x10)
_c(Astc12x12RGBAUnorm, RGBAAstc12x12)
_c(Astc12x12RGBASrgb, SRGB8Alpha8Astc12x12)
_c(Astc12x12RGBAF, RGBAAstc12x12)
#if defined(MAGNUM_TARGET_GLES) && !defined(MAGNUM_TARGET_GLES2) && !defined(MAGNUM_TARGET_WEBGL)
_c(Astc3x3x3RGBAUnorm, RGBAAstc3x3x3)
_c(Astc3x3x3RGBASrgb, SRGB8Alpha8Astc3x3x3)
_c(Astc3x3x3RGBAF, RGBAAstc3x3x3)
_c(Astc4x3x3RGBAUnorm, RGBAAstc4x3x3)
_c(Astc4x3x3RGBASrgb, SRGB8Alpha8Astc4x3x3)
_c(Astc4x3x3RGBAF, RGBAAstc4x3x3)
_c(Astc4x4x3RGBAUnorm, RGBAAstc4x4x3)
_c(Astc4x4x3RGBASrgb, SRGB8Alpha8Astc4x4x3)
_c(Astc4x4x3RGBAF, RGBAAstc4x4x3)
_c(Astc4x4x4RGBAUnorm, RGBAAstc4x4x4)
_c(Astc4x4x4RGBASrgb, SRGB8Alpha8Astc4x4x4)
_c(Astc4x4x4RGBAF, RGBAAstc4x4x4)
_c(Astc5x4x4RGBAUnorm, RGBAAstc5x4x4)
_c(Astc5x4x4RGBASrgb, SRGB8Alpha8Astc5x4x4)
_c(Astc5x4x4RGBAF, RGBAAstc5x4x4)
_c(Astc5x5x4RGBAUnorm, RGBAAstc5x5x4)
_c(Astc5x5x4RGBASrgb, SRGB8Alpha8Astc5x5x4)
_c(Astc5x5x4RGBAF, RGBAAstc5x5x4)
_c(Astc5x5x5RGBAUnorm, RGBAAstc5x5x5)
_c(Astc5x5x5RGBASrgb, SRGB8Alpha8Astc5x5x5)
_c(Astc5x5x5RGBAF, RGBAAstc5x5x5)
_c(Astc6x5x5RGBAUnorm, RGBAAstc6x5x5)
_c(Astc6x5x5RGBASrgb, SRGB8Alpha8Astc6x5x5)
_c(Astc6x5x5RGBAF, RGBAAstc6x5x5)
_c(Astc6x6x5RGBAUnorm, RGBAAstc6x6x5)
_c(Astc6x6x5RGBASrgb, SRGB8Alpha8Astc6x6x5)
_c(Astc6x6x5RGBAF, RGBAAstc6x6x5)
_c(Astc6x6x6RGBAUnorm, RGBAAstc6x6x6)
_c(Astc6x6x6RGBASrgb, SRGB8Alpha8Astc6x6x6)
_c(Astc6x6x6RGBAF, RGBAAstc6x6x6)
#else
_s(Astc3x3x3RGBAUnorm)
_s(Astc3x3x3RGBASrgb)
_s(Astc3x3x3RGBAF)
_s(Astc4x3x3RGBAUnorm)
_s(Astc4x3x3RGBASrgb)
_s(Astc4x3x3RGBAF)
_s(Astc4x4x3RGBAUnorm)
_s(Astc4x4x3RGBASrgb)
_s(Astc4x4x3RGBAF)
_s(Astc4x4x4RGBAUnorm)
_s(Astc4x4x4RGBASrgb)
_s(Astc4x4x4RGBAF)
_s(Astc5x4x4RGBAUnorm)
_s(Astc5x4x4RGBASrgb)
_s(Astc5x4x4RGBAF)
_s(Astc5x5x4RGBAUnorm)
_s(Astc5x5x4RGBASrgb)
_s(Astc5x5x4RGBAF)
_s(Astc5x5x5RGBAUnorm)
_s(Astc5x5x5RGBASrgb)
_s(Astc5x5x5RGBAF)
_s(Astc6x5x5RGBAUnorm)
_s(Astc6x5x5RGBASrgb)
_s(Astc6x5x5RGBAF)
_s(Astc6x6x5RGBAUnorm)
_s(Astc6x6x5RGBASrgb)
_s(Astc6x6x5RGBAF)
_s(Astc6x6x6RGBAUnorm)
_s(Astc6x6x6RGBASrgb)
_s(Astc6x6x6RGBAF)
#endif
#ifdef MAGNUM_TARGET_GLES
_c(PvrtcRGB2bppUnorm, RGBPvrtc2bppV1)

24
src/Magnum/Implementation/compressedPixelFormatMapping.hpp

@ -77,52 +77,76 @@ _c(Etc2RGBA8Srgb, 4, 4, 1, 128)
all blocks fit into 128 bits */
_c(Astc4x4RGBAUnorm, 4, 4, 1, 128)
_c(Astc4x4RGBASrgb, 4, 4, 1, 128)
_c(Astc4x4RGBAF, 4, 4, 1, 128)
_c(Astc5x4RGBAUnorm, 5, 4, 1, 128)
_c(Astc5x4RGBASrgb, 5, 4, 1, 128)
_c(Astc5x4RGBAF, 5, 4, 1, 128)
_c(Astc5x5RGBAUnorm, 5, 5, 1, 128)
_c(Astc5x5RGBASrgb, 5, 5, 1, 128)
_c(Astc5x5RGBAF, 5, 5, 1, 128)
_c(Astc6x5RGBAUnorm, 6, 5, 1, 128)
_c(Astc6x5RGBASrgb, 6, 5, 1, 128)
_c(Astc6x5RGBAF, 6, 5, 1, 128)
_c(Astc6x6RGBAUnorm, 6, 6, 1, 128)
_c(Astc6x6RGBASrgb, 6, 6, 1, 128)
_c(Astc6x6RGBAF, 6, 6, 1, 128)
_c(Astc8x5RGBAUnorm, 8, 5, 1, 128)
_c(Astc8x5RGBASrgb, 8, 5, 1, 128)
_c(Astc8x5RGBAF, 8, 5, 1, 128)
_c(Astc8x6RGBAUnorm, 8, 6, 1, 128)
_c(Astc8x6RGBASrgb, 8, 6, 1, 128)
_c(Astc8x6RGBAF, 8, 6, 1, 128)
_c(Astc8x8RGBAUnorm, 8, 8, 1, 128)
_c(Astc8x8RGBASrgb, 8, 8, 1, 128)
_c(Astc8x8RGBAF, 8, 8, 1, 128)
_c(Astc10x5RGBAUnorm, 10, 5, 1, 128)
_c(Astc10x5RGBASrgb, 10, 5, 1, 128)
_c(Astc10x5RGBAF, 10, 5, 1, 128)
_c(Astc10x6RGBAUnorm, 10, 6, 1, 128)
_c(Astc10x6RGBASrgb, 10, 6, 1, 128)
_c(Astc10x6RGBAF, 10, 6, 1, 128)
_c(Astc10x8RGBAUnorm, 10, 8, 1, 128)
_c(Astc10x8RGBASrgb, 10, 8, 1, 128)
_c(Astc10x8RGBAF, 10, 8, 1, 128)
_c(Astc10x10RGBAUnorm, 10, 10, 1, 128)
_c(Astc10x10RGBASrgb, 10, 10, 1, 128)
_c(Astc10x10RGBAF, 10, 10, 1, 128)
_c(Astc12x10RGBAUnorm, 12, 10, 1, 128)
_c(Astc12x10RGBASrgb, 12, 10, 1, 128)
_c(Astc12x10RGBAF, 12, 10, 1, 128)
_c(Astc12x12RGBAUnorm, 12, 12, 1, 128)
_c(Astc12x12RGBASrgb, 12, 12, 1, 128)
_c(Astc12x12RGBAF, 12, 12, 1, 128)
_c(Astc3x3x3RGBAUnorm, 3, 3, 3, 128)
_c(Astc3x3x3RGBASrgb, 3, 3, 3, 128)
_c(Astc3x3x3RGBAF, 3, 3, 3, 128)
_c(Astc4x3x3RGBAUnorm, 4, 3, 3, 128)
_c(Astc4x3x3RGBASrgb, 4, 3, 3, 128)
_c(Astc4x3x3RGBAF, 4, 3, 3, 128)
_c(Astc4x4x3RGBAUnorm, 4, 4, 3, 128)
_c(Astc4x4x3RGBASrgb, 4, 4, 3, 128)
_c(Astc4x4x3RGBAF, 4, 4, 3, 128)
_c(Astc4x4x4RGBAUnorm, 4, 4, 4, 128)
_c(Astc4x4x4RGBASrgb, 4, 4, 4, 128)
_c(Astc4x4x4RGBAF, 4, 4, 4, 128)
_c(Astc5x4x4RGBAUnorm, 5, 4, 4, 128)
_c(Astc5x4x4RGBASrgb, 5, 4, 4, 128)
_c(Astc5x4x4RGBAF, 5, 4, 4, 128)
_c(Astc5x5x4RGBAUnorm, 5, 5, 4, 128)
_c(Astc5x5x4RGBASrgb, 5, 5, 4, 128)
_c(Astc5x5x4RGBAF, 5, 5, 4, 128)
_c(Astc5x5x5RGBAUnorm, 5, 5, 5, 128)
_c(Astc5x5x5RGBASrgb, 5, 5, 5, 128)
_c(Astc5x5x5RGBAF, 5, 5, 5, 128)
_c(Astc6x5x5RGBAUnorm, 6, 5, 5, 128)
_c(Astc6x5x5RGBASrgb, 6, 5, 5, 128)
_c(Astc6x5x5RGBAF, 6, 5, 5, 128)
_c(Astc6x6x5RGBAUnorm, 6, 6, 5, 128)
_c(Astc6x6x5RGBASrgb, 6, 6, 5, 128)
_c(Astc6x6x5RGBAF, 6, 6, 5, 128)
_c(Astc6x6x6RGBAUnorm, 6, 6, 6, 128)
_c(Astc6x6x6RGBASrgb, 6, 6, 6, 128)
_c(Astc6x6x6RGBAF, 6, 6, 6, 128)
/* https://en.wikipedia.org/wiki/PVRTC */
_c(PvrtcRGB2bppUnorm, 8, 4, 1, 64)

28
src/Magnum/PixelFormat.cpp

@ -193,8 +193,8 @@ constexpr UnsignedShort CompressedBlockData[] {
/* Assuming w/h/d/s is never larger than 16 (and never zero), each number
has 1 subtracted and packed into four bits, 16 bits in total. The size
is supplied in bits, so first divide by eight and then subtract 1. For
the currently ~60 supported format that makes this table to be about 128
bytes.*/
the currently ~100 supported formats that makes this table to be about
256 bytes.*/
#define _c(format, width, height, depth, size) \
((width - 1) << 12) | \
((height - 1) << 8) | \
@ -272,52 +272,76 @@ Debug& operator<<(Debug& debug, const CompressedPixelFormat value) {
_c(Etc2RGBA8Srgb)
_c(Astc4x4RGBAUnorm)
_c(Astc4x4RGBASrgb)
_c(Astc4x4RGBAF)
_c(Astc5x4RGBAUnorm)
_c(Astc5x4RGBASrgb)
_c(Astc5x4RGBAF)
_c(Astc5x5RGBAUnorm)
_c(Astc5x5RGBASrgb)
_c(Astc5x5RGBAF)
_c(Astc6x5RGBAUnorm)
_c(Astc6x5RGBASrgb)
_c(Astc6x5RGBAF)
_c(Astc6x6RGBAUnorm)
_c(Astc6x6RGBASrgb)
_c(Astc6x6RGBAF)
_c(Astc8x5RGBAUnorm)
_c(Astc8x5RGBASrgb)
_c(Astc8x5RGBAF)
_c(Astc8x6RGBAUnorm)
_c(Astc8x6RGBASrgb)
_c(Astc8x6RGBAF)
_c(Astc8x8RGBAUnorm)
_c(Astc8x8RGBASrgb)
_c(Astc8x8RGBAF)
_c(Astc10x5RGBAUnorm)
_c(Astc10x5RGBASrgb)
_c(Astc10x5RGBAF)
_c(Astc10x6RGBAUnorm)
_c(Astc10x6RGBASrgb)
_c(Astc10x6RGBAF)
_c(Astc10x8RGBAUnorm)
_c(Astc10x8RGBASrgb)
_c(Astc10x8RGBAF)
_c(Astc10x10RGBAUnorm)
_c(Astc10x10RGBASrgb)
_c(Astc10x10RGBAF)
_c(Astc12x10RGBAUnorm)
_c(Astc12x10RGBASrgb)
_c(Astc12x10RGBAF)
_c(Astc12x12RGBAUnorm)
_c(Astc12x12RGBASrgb)
_c(Astc12x12RGBAF)
_c(Astc3x3x3RGBAUnorm)
_c(Astc3x3x3RGBASrgb)
_c(Astc3x3x3RGBAF)
_c(Astc4x3x3RGBAUnorm)
_c(Astc4x3x3RGBASrgb)
_c(Astc4x3x3RGBAF)
_c(Astc4x4x3RGBAUnorm)
_c(Astc4x4x3RGBASrgb)
_c(Astc4x4x3RGBAF)
_c(Astc4x4x4RGBAUnorm)
_c(Astc4x4x4RGBASrgb)
_c(Astc4x4x4RGBAF)
_c(Astc5x4x4RGBAUnorm)
_c(Astc5x4x4RGBASrgb)
_c(Astc5x4x4RGBAF)
_c(Astc5x5x4RGBAUnorm)
_c(Astc5x5x4RGBASrgb)
_c(Astc5x5x4RGBAF)
_c(Astc5x5x5RGBAUnorm)
_c(Astc5x5x5RGBASrgb)
_c(Astc5x5x5RGBAF)
_c(Astc6x5x5RGBAUnorm)
_c(Astc6x5x5RGBASrgb)
_c(Astc6x5x5RGBAF)
_c(Astc6x6x5RGBAUnorm)
_c(Astc6x6x5RGBASrgb)
_c(Astc6x6x5RGBAF)
_c(Astc6x6x6RGBAUnorm)
_c(Astc6x6x6RGBASrgb)
_c(Astc6x6x6RGBAF)
_c(PvrtcRGB2bppUnorm)
_c(PvrtcRGB2bppSrgb)
_c(PvrtcRGBA2bppUnorm)

468
src/Magnum/PixelFormat.h

@ -1090,21 +1090,20 @@ enum class CompressedPixelFormat: UnsignedInt {
Etc2RGBA8Srgb,
/**
* 2D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, normalized unsigned byte with 4x4 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc4x4,
* @ref GL::TextureFormat::CompressedRGBAAstc4x4;
* @def_vk_keyword{FORMAT_ASTC_4x4_UNORM_BLOCK,Format} or
* @m_class{m-doc-external} [MTLPixelFormatASTC_4x4_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_4x4_ldr?language=objc) /
* @m_class{m-doc-external} [MTLPixelFormatASTC_4x4_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_4x4_hdr?language=objc).
* @m_class{m-doc-external} [MTLPixelFormatASTC_4x4_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_4x4_ldr?language=objc).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_4x4_LDR MTLPixelFormatASTC_4x4_HDR}
* @m_keywords{MTLPixelFormatASTC_4x4_LDR}
*/
Astc4x4RGBAUnorm,
/**
* 2D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed sRGB + linear alpha, normalized unsigned byte with 4x4
* blocks.
*
@ -1118,21 +1117,33 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc4x4RGBASrgb,
/**
* 2D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D HDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, half float with 4x4 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc4x4,
* @ref GL::TextureFormat::CompressedRGBAAstc4x4;
* @def_vk_keyword{FORMAT_ASTC_4x4_SFLOAT_BLOCK,Format} or
* @m_class{m-doc-external} [MTLPixelFormatASTC_4x4_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_4x4_hdr?language=objc).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_4x4_HDR}
*/
Astc4x4RGBAF,
/**
* 2D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, normalized unsigned byte with 5x4 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc5x4,
* @ref GL::TextureFormat::CompressedRGBAAstc5x4;
* @def_vk_keyword{FORMAT_ASTC_5x4_UNORM_BLOCK,Format} or
* @m_class{m-doc-external} [MTLPixelFormatASTC_5x4_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_5x4_ldr?language=objc) /
* @m_class{m-doc-external} [MTLPixelFormatASTC_5x4_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_5x4_hdr?language=objc).
* @m_class{m-doc-external} [MTLPixelFormatASTC_5x4_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_5x4_ldr?language=objc).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_5x4_LDR MTLPixelFormatASTC_5x4_HDR}
* @m_keywords{MTLPixelFormatASTC_5x4_LDR}
*/
Astc5x4RGBAUnorm,
/**
* 2D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed sRGB + linear alpha, normalized unsigned byte with 5x4
* blocks.
*
@ -1146,21 +1157,33 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc5x4RGBASrgb,
/**
* 2D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D HDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, half float with 5x4 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc5x4,
* @ref GL::TextureFormat::CompressedRGBAAstc5x4;
* @def_vk_keyword{FORMAT_ASTC_5x4_SFLOAT_BLOCK,Format} or
* @m_class{m-doc-external} [MTLPixelFormatASTC_5x4_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_5x4_hdr?language=objc).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_5x4_HDR}
*/
Astc5x4RGBAF,
/**
* 2D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, normalized unsigned byte with 5x5 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc5x5,
* @ref GL::TextureFormat::CompressedRGBAAstc5x5;
* @def_vk_keyword{FORMAT_ASTC_5x5_UNORM_BLOCK,Format} or
* @m_class{m-doc-external} [MTLPixelFormatASTC_5x5_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_5x5_ldr?language=objc) /
* @m_class{m-doc-external} [MTLPixelFormatASTC_5x5_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_5x5_hdr?language=objc).
* @m_class{m-doc-external} [MTLPixelFormatASTC_5x5_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_5x5_ldr?language=objc).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_5x5_LDR MTLPixelFormatASTC_5x5_HDR}
* @m_keywords{MTLPixelFormatASTC_5x5_LDR}
*/
Astc5x5RGBAUnorm,
/**
* 2D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed sRGB + linear alpha, normalized unsigned byte with 5x5
* blocks.
*
@ -1174,21 +1197,33 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc5x5RGBASrgb,
/**
* 2D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D HDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, half float with 5x5 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc5x5,
* @ref GL::TextureFormat::CompressedRGBAAstc5x5;
* @def_vk_keyword{FORMAT_ASTC_5x5_SFLOAT_BLOCK,Format} or
* @m_class{m-doc-external} [MTLPixelFormatASTC_5x5_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_5x5_hdr?language=objc).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_5x5_HDR}
*/
Astc5x5RGBAF,
/**
* 2D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, normalized unsigned byte with 6x5 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc6x5,
* @ref GL::TextureFormat::CompressedRGBAAstc6x5;
* @def_vk_keyword{FORMAT_ASTC_6x5_UNORM_BLOCK,Format} or
* @m_class{m-doc-external} [MTLPixelFormatASTC_6x5_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_6x5_ldr?language=objc) /
* @m_class{m-doc-external} [MTLPixelFormatASTC_6x5_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_6x5_hdr?language=objc).
* @m_class{m-doc-external} [MTLPixelFormatASTC_6x5_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_6x5_ldr?language=objc).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_6x5_LDR MTLPixelFormatASTC_6x5_HDR}
* @m_keywords{MTLPixelFormatASTC_6x5_LDR}
*/
Astc6x5RGBAUnorm,
/**
* 2D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed sRGB + linear alpha, normalized unsigned byte with 6x5
* blocks.
*
@ -1202,21 +1237,33 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc6x5RGBASrgb,
/**
* 2D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D HDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, half float with 6x5 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc6x5,
* @ref GL::TextureFormat::CompressedRGBAAstc6x5;
* @def_vk_keyword{FORMAT_ASTC_6x5_SFLOAT_BLOCK,Format} or
* @m_class{m-doc-external} [MTLPixelFormatASTC_6x5_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_6x5_hdr?language=objc).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_6x5_HDR}
*/
Astc6x5RGBAF,
/**
* 2D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, normalized unsigned byte with 6x6 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc6x6,
* @ref GL::TextureFormat::CompressedRGBAAstc6x6;
* @def_vk_keyword{FORMAT_ASTC_6x6_UNORM_BLOCK,Format} or
* @m_class{m-doc-external} [MTLPixelFormatASTC_6x6_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_6x6_ldr?language=objc) /
* @m_class{m-doc-external} [MTLPixelFormatASTC_6x6_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_6x6_hdr?language=objc).
* @m_class{m-doc-external} [MTLPixelFormatASTC_6x6_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_6x6_ldr?language=objc).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_6x6_LDR MTLPixelFormatASTC_6x6_HDR}
* @m_keywords{MTLPixelFormatASTC_6x6_LDR}
*/
Astc6x6RGBAUnorm,
/**
* 2D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed sRGB + linear alpha, normalized unsigned byte with 6x6
* blocks.
*
@ -1230,21 +1277,33 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc6x6RGBASrgb,
/**
* 2D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D HDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, half float with 6x6 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc6x6,
* @ref GL::TextureFormat::CompressedRGBAAstc6x6;
* @def_vk_keyword{FORMAT_ASTC_6x6_SFLOAT_BLOCK,Format} or
* @m_class{m-doc-external} [MTLPixelFormatASTC_6x6_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_6x6_hdr?language=objc).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_6x6_HDR}
*/
Astc6x6RGBAF,
/**
* 2D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, normalized unsigned byte with 8x5 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc8x5,
* @ref GL::TextureFormat::CompressedRGBAAstc8x5;
* @def_vk_keyword{FORMAT_ASTC_8x5_UNORM_BLOCK,Format} or
* @m_class{m-doc-external} [MTLPixelFormatASTC_8x5_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x5_ldr?language=objc) /
* @m_class{m-doc-external} [MTLPixelFormatASTC_8x5_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x5_hdr?language=objc).
* @m_class{m-doc-external} [MTLPixelFormatASTC_8x5_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x5_ldr?language=objc).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_8x5_LDR MTLPixelFormatASTC_8x5_HDR}
* @m_keywords{MTLPixelFormatASTC_8x5_LDR}
*/
Astc8x5RGBAUnorm,
/**
* 2D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed sRGB + linear alpha, normalized unsigned byte with 8x5
* blocks.
*
@ -1258,21 +1317,33 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc8x5RGBASrgb,
/**
* 2D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D HDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, half float with 8x5 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc8x5,
* @ref GL::TextureFormat::CompressedRGBAAstc8x5;
* @def_vk_keyword{FORMAT_ASTC_8x5_SFLOAT_BLOCK,Format} or
* @m_class{m-doc-external} [MTLPixelFormatASTC_8x5_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x5_hdr?language=objc).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_8x5_HDR}
*/
Astc8x5RGBAF,
/**
* 2D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, normalized unsigned byte with 8x6 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc8x6,
* @ref GL::TextureFormat::CompressedRGBAAstc8x6;
* @def_vk_keyword{FORMAT_ASTC_8x6_UNORM_BLOCK,Format} or
* @m_class{m-doc-external} [MTLPixelFormatASTC_8x6_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x6_ldr?language=objc) /
* @m_class{m-doc-external} [MTLPixelFormatASTC_8x6_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x6_hdr?language=objc).
* @m_class{m-doc-external} [MTLPixelFormatASTC_8x6_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x6_ldr?language=objc).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_8x6_LDR MTLPixelFormatASTC_8x6_HDR}
* @m_keywords{MTLPixelFormatASTC_8x6_LDR}
*/
Astc8x6RGBAUnorm,
/**
* 2D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed sRGB + linear alpha, normalized unsigned byte with 8x6
* blocks.
*
@ -1286,21 +1357,33 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc8x6RGBASrgb,
/**
* 2D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D HDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, half float with 8x6 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc8x6,
* @ref GL::TextureFormat::CompressedRGBAAstc8x6;
* @def_vk_keyword{FORMAT_ASTC_8x6_SFLOAT_BLOCK,Format} or
* @m_class{m-doc-external} [MTLPixelFormatASTC_8x6_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x6_hdr?language=objc).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_8x6_HDR}
*/
Astc8x6RGBAF,
/**
* 2D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, normalized unsigned byte with 8x8 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc8x8,
* @ref GL::TextureFormat::CompressedRGBAAstc8x8;
* @def_vk_keyword{FORMAT_ASTC_8x8_UNORM_BLOCK,Format} or
* @m_class{m-doc-external} [MTLPixelFormatASTC_8x8_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x8_ldr?language=objc) /
* @m_class{m-doc-external} [MTLPixelFormatASTC_8x8_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x8_hdr?language=objc).
* @m_class{m-doc-external} [MTLPixelFormatASTC_8x8_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x8_ldr?language=objc).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_8x8_LDR MTLPixelFormatASTC_8x8_HDR}
* @m_keywords{MTLPixelFormatASTC_8x8_LDR}
*/
Astc8x8RGBAUnorm,
/**
* 2D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed sRGB + linear alpha, normalized unsigned byte with 8x8
* blocks.
*
@ -1314,21 +1397,33 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc8x8RGBASrgb,
/**
* 2D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D HDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, half float with 8x8 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc8x8,
* @ref GL::TextureFormat::CompressedRGBAAstc8x8;
* @def_vk_keyword{FORMAT_ASTC_8x8_SFLOAT_BLOCK,Format} or
* @m_class{m-doc-external} [MTLPixelFormatASTC_8x8_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x8_hdr?language=objc).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_8x8_HDR}
*/
Astc8x8RGBAF,
/**
* 2D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, normalized unsigned byte with 10x5 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc10x5,
* @ref GL::TextureFormat::CompressedRGBAAstc10x5;
* @def_vk_keyword{FORMAT_ASTC_10x5_UNORM_BLOCK,Format} or
* @m_class{m-doc-external} [MTLPixelFormatASTC_10x5_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x5_ldr?language=objc) /
* @m_class{m-doc-external} [MTLPixelFormatASTC_10x5_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x5_hdr?language=objc).
* @m_class{m-doc-external} [MTLPixelFormatASTC_10x5_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x5_ldr?language=objc).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x5_LDR MTLPixelFormatASTC_10x5_HDR}
* @m_keywords{MTLPixelFormatASTC_10x5_LDR}
*/
Astc10x5RGBAUnorm,
/**
* 2D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed sRGB + linear alpha, normalized unsigned byte with 10x5
* blocks.
*
@ -1342,21 +1437,33 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc10x5RGBASrgb,
/**
* 2D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D HDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, half float with 10x5 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc10x5,
* @ref GL::TextureFormat::CompressedRGBAAstc10x5;
* @def_vk_keyword{FORMAT_ASTC_10x5_SFLOAT_BLOCK,Format} or
* @m_class{m-doc-external} [MTLPixelFormatASTC_10x5_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x5_hdr?language=objc).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x5_HDR}
*/
Astc10x5RGBAF,
/**
* 2D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, normalized unsigned byte with 10x6 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc10x6,
* @ref GL::TextureFormat::CompressedRGBAAstc10x6;
* @def_vk_keyword{FORMAT_ASTC_10x6_UNORM_BLOCK,Format} or
* @m_class{m-doc-external} [MTLPixelFormatASTC_10x6_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x6_ldr?language=objc) /
* @m_class{m-doc-external} [MTLPixelFormatASTC_10x6_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x6_hdr?language=objc).
* @m_class{m-doc-external} [MTLPixelFormatASTC_10x6_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x6_ldr?language=objc).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x6_LDR MTLPixelFormatASTC_10x6_HDR}
* @m_keywords{MTLPixelFormatASTC_10x6_LDR}
*/
Astc10x6RGBAUnorm,
/**
* 2D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed sRGB + linear alpha, normalized unsigned byte with 10x6
* blocks.
*
@ -1370,21 +1477,33 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc10x6RGBASrgb,
/**
* 2D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D HDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, half float with 10x6 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc10x6,
* @ref GL::TextureFormat::CompressedRGBAAstc10x6;
* @def_vk_keyword{FORMAT_ASTC_10x6_SFLOAT_BLOCK,Format} or
* @m_class{m-doc-external} [MTLPixelFormatASTC_10x6_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x6_hdr?language=objc).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x6_HDR}
*/
Astc10x6RGBAF,
/**
* 2D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, normalized unsigned byte with 10x8 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc10x8,
* @ref GL::TextureFormat::CompressedRGBAAstc10x8;
* @def_vk_keyword{FORMAT_ASTC_10x8_UNORM_BLOCK,Format} or
* @m_class{m-doc-external} [MTLPixelFormatASTC_10x8_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x8_ldr?language=objc) /
* @m_class{m-doc-external} [MTLPixelFormatASTC_10x8_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x8_hdr?language=objc).
* @m_class{m-doc-external} [MTLPixelFormatASTC_10x8_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x8_ldr?language=objc).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x8_LDR MTLPixelFormatASTC_10x8_HDR}
* @m_keywords{MTLPixelFormatASTC_10x8_LDR}
*/
Astc10x8RGBAUnorm,
/**
* 2D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed sRGB + linear alpha, normalized unsigned byte with 10x8
* blocks.
*
@ -1398,21 +1517,33 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc10x8RGBASrgb,
/**
* 2D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D HDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, half float with 10x8 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc10x8,
* @ref GL::TextureFormat::CompressedRGBAAstc10x8;
* @def_vk_keyword{FORMAT_ASTC_10x8_SFLOAT_BLOCK,Format} or
* @m_class{m-doc-external} [MTLPixelFormatASTC_10x8_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x8_hdr?language=objc).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x8_HDR}
*/
Astc10x8RGBAF,
/**
* 2D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, normalized unsigned byte with 10x10 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc10x10,
* @ref GL::TextureFormat::CompressedRGBAAstc10x10;
* @def_vk_keyword{FORMAT_ASTC_10x10_UNORM_BLOCK,Format} or
* @m_class{m-doc-external} [MTLPixelFormatASTC_10x10_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x10_ldr?language=objc) /
* @m_class{m-doc-external} [MTLPixelFormatASTC_10x10_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x10_hdr?language=objc).
* @m_class{m-doc-external} [MTLPixelFormatASTC_10x10_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x10_ldr?language=objc).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x10_LDR MTLPixelFormatASTC_10x10_HDR}
* @m_keywords{MTLPixelFormatASTC_10x10_LDR}
*/
Astc10x10RGBAUnorm,
/**
* 2D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed sRGB + linear alpha, normalized unsigned byte with 10x10
* blocks.
*
@ -1426,21 +1557,33 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc10x10RGBASrgb,
/**
* 2D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D HDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, half float with 10x10 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc10x10,
* @ref GL::TextureFormat::CompressedRGBAAstc10x10;
* @def_vk_keyword{FORMAT_ASTC_10x10_SFLOAT_BLOCK,Format} or
* @m_class{m-doc-external} [MTLPixelFormatASTC_10x10_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x10_hdr?language=objc).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x10_HDR}
*/
Astc10x10RGBAF,
/**
* 2D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, normalized unsigned byte with 12x10 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc12x10,
* @ref GL::TextureFormat::CompressedRGBAAstc12x10;
* @def_vk_keyword{FORMAT_ASTC_12x10_UNORM_BLOCK,Format} or
* @m_class{m-doc-external} [MTLPixelFormatASTC_12x10_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_12x10_ldr?language=objc) /
* @m_class{m-doc-external} [MTLPixelFormatASTC_12x10_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_12x10_hdr?language=objc).
* @m_class{m-doc-external} [MTLPixelFormatASTC_12x10_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_12x10_ldr?language=objc).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_12x10_LDR MTLPixelFormatASTC_12x10_HDR}
* @m_keywords{MTLPixelFormatASTC_12x10_LDR}
*/
Astc12x10RGBAUnorm,
/**
* 2D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed sRGB + linear alpha, normalized unsigned byte with 12x10
* blocks.
*
@ -1454,21 +1597,33 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc12x10RGBASrgb,
/**
* 2D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D HDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, half float with 12x10 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc12x10,
* @ref GL::TextureFormat::CompressedRGBAAstc12x10;
* @def_vk_keyword{FORMAT_ASTC_12x10_SFLOAT_BLOCK,Format} or
* @m_class{m-doc-external} [MTLPixelFormatASTC_12x10_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_12x10_hdr?language=objc).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_12x10_HDR}
*/
Astc12x10RGBAF,
/**
* 2D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, normalized unsigned byte with 12x12 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc12x12,
* @ref GL::TextureFormat::CompressedRGBAAstc12x12;
* @def_vk_keyword{FORMAT_ASTC_12x12_UNORM_BLOCK,Format} or
* @m_class{m-doc-external} [MTLPixelFormatASTC_12x12_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_12x12_ldr?language=objc) /
* @m_class{m-doc-external} [MTLPixelFormatASTC_12x12_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_12x12_hdr?language=objc).
* @m_class{m-doc-external} [MTLPixelFormatASTC_12x12_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_12x12_ldr?language=objc).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_12x12_LDR MTLPixelFormatASTC_12x12_HDR}
* @m_keywords{MTLPixelFormatASTC_12x12_LDR}
*/
Astc12x12RGBAUnorm,
/**
* 2D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed sRGB + linear alpha, normalized unsigned byte with 12x12
* blocks.
*
@ -1482,7 +1637,20 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc12x12RGBASrgb,
/**
* 3D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 2D HDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, half float with 12x12 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc12x12,
* @ref GL::TextureFormat::CompressedRGBAAstc12x12;
* @def_vk_keyword{FORMAT_ASTC_12x12_SFLOAT_BLOCK,Format} or
* @m_class{m-doc-external} [MTLPixelFormatASTC_12x12_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_12x12_hdr?language=objc).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_12x12_HDR}
*/
Astc12x12RGBAF,
/**
* 3D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, normalized unsigned byte with 3x3x3 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc3x3x3,
@ -1494,7 +1662,7 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc3x3x3RGBAUnorm,
/**
* 3D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 3D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed sRGB + linear alpha, normalized unsigned byte with 3x3x3
* blocks.
*
@ -1507,7 +1675,19 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc3x3x3RGBASrgb,
/**
* 3D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 3D HDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, half float with 3x3x3 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc3x3x3,
* @ref GL::TextureFormat::CompressedRGBAAstc3x3x3;
* and @def_vk_keyword{FORMAT_ASTC_3x3x3_SFLOAT_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D.
*/
Astc3x3x3RGBAF,
/**
* 3D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, normalized unsigned byte with 4x3x3 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc4x3x3,
@ -1519,7 +1699,7 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc4x3x3RGBAUnorm,
/**
* 3D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 3D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed sRGB + linear alpha, normalized unsigned byte with 4x3x3
* blocks.
*
@ -1532,7 +1712,19 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc4x3x3RGBASrgb,
/**
* 3D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 3D HDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, half float with 4x3x3 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc4x3x3,
* @ref GL::TextureFormat::CompressedRGBAAstc4x3x3;
* and @def_vk_keyword{FORMAT_ASTC_4x3x3_SFLOAT_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D.
*/
Astc4x3x3RGBAF,
/**
* 3D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, normalized unsigned byte with 4x4x3 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc4x4x3,
@ -1544,7 +1736,7 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc4x4x3RGBAUnorm,
/**
* 3D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 3D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed sRGB + linear alpha, normalized unsigned byte with 4x4x3
* blocks.
*
@ -1557,7 +1749,19 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc4x4x3RGBASrgb,
/**
* 3D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 3D HDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, half float with 4x4x3 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc4x4x3,
* @ref GL::TextureFormat::CompressedRGBAAstc4x4x3;
* and @def_vk_keyword{FORMAT_ASTC_4x4x3_SFLOAT_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D.
*/
Astc4x4x3RGBAF,
/**
* 3D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, normalized unsigned byte with 4x4x4 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc4x4x4,
@ -1569,7 +1773,7 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc4x4x4RGBAUnorm,
/**
* 3D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 3D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed sRGB + linear alpha, normalized unsigned byte with 4x4x4
* blocks.
*
@ -1582,7 +1786,19 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc4x4x4RGBASrgb,
/**
* 3D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 3D HDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, half float with 4x4x4 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc4x4x4,
* @ref GL::TextureFormat::CompressedRGBAAstc4x4x4;
* and @def_vk_keyword{FORMAT_ASTC_4x4x4_SFLOAT_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D.
*/
Astc4x4x4RGBAF,
/**
* 3D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, normalized unsigned byte with 5x4x4 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc5x4x4,
@ -1594,7 +1810,7 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc5x4x4RGBAUnorm,
/**
* 3D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 3D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed sRGB + linear alpha, normalized unsigned byte with 5x4x4
* blocks.
*
@ -1607,7 +1823,19 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc5x4x4RGBASrgb,
/**
* 3D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 3D HDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, half float with 5x4x4 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc5x4x4,
* @ref GL::TextureFormat::CompressedRGBAAstc5x4x4;
* and @def_vk_keyword{FORMAT_ASTC_5x4x4_SFLOAT_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D.
*/
Astc5x4x4RGBAF,
/**
* 3D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, normalized unsigned byte with 5x5x4 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc5x5x4,
@ -1619,7 +1847,7 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc5x5x4RGBAUnorm,
/**
* 3D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 3D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed sRGB + linear alpha, normalized unsigned byte with 5x5x4
* blocks.
*
@ -1632,7 +1860,19 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc5x5x4RGBASrgb,
/**
* 3D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 3D HDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, half float with 5x5x4 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc5x5x4,
* @ref GL::TextureFormat::CompressedRGBAAstc5x5x4;
* and @def_vk_keyword{FORMAT_ASTC_5x5x4_SFLOAT_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D.
*/
Astc5x5x4RGBAF,
/**
* 3D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, normalized unsigned byte with 5x5x5 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc5x5x5,
@ -1644,7 +1884,7 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc5x5x5RGBAUnorm,
/**
* 3D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 3D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed sRGB + linear alpha, normalized unsigned byte with 5x5x5
* blocks.
*
@ -1657,7 +1897,19 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc5x5x5RGBASrgb,
/**
* 3D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 3D HDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, half float with 5x5x5 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc5x5x5,
* @ref GL::TextureFormat::CompressedRGBAAstc5x5x5;
* and @def_vk_keyword{FORMAT_ASTC_5x5x5_SFLOAT_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D.
*/
Astc5x5x5RGBAF,
/**
* 3D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, normalized unsigned byte with 6x5x5 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc6x5x5,
@ -1669,7 +1921,7 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc6x5x5RGBAUnorm,
/**
* 3D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 3D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed sRGB + linear alpha, normalized unsigned byte with 6x5x5
* blocks.
*
@ -1682,7 +1934,19 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc6x5x5RGBASrgb,
/**
* 3D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 3D HDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, half float with 6x5x5 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc6x5x5,
* @ref GL::TextureFormat::CompressedRGBAAstc6x5x5;
* and @def_vk_keyword{FORMAT_ASTC_6x5x5_SFLOAT_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D.
*/
Astc6x5x5RGBAF,
/**
* 3D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, normalized unsigned byte with 6x6x5 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc6x6x5,
@ -1694,7 +1958,7 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc6x6x5RGBAUnorm,
/**
* 3D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 3D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed sRGB + linear alpha, normalized unsigned byte with 6x6x5
* blocks.
*
@ -1707,7 +1971,19 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc6x6x5RGBASrgb,
/**
* 3D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 3D HDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, half float with 6x6x5 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc6x6x5,
* @ref GL::TextureFormat::CompressedRGBAAstc6x6x5;
* and @def_vk_keyword{FORMAT_ASTC_6x6x5_SFLOAT_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D.
*/
Astc6x6x5RGBAF,
/**
* 3D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, normalized unsigned byte with 6x6x6 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc6x6x6,
@ -1719,7 +1995,7 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc6x6x6RGBAUnorm,
/**
* 3D [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* 3D LDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed sRGB + linear alpha, normalized unsigned byte with 6x6x6
* blocks.
*
@ -1731,6 +2007,18 @@ enum class CompressedPixelFormat: UnsignedInt {
*/
Astc6x6x6RGBASrgb,
/**
* 3D HDR [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression)
* compressed RGBA, half float with 6x6x6 blocks.
*
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc6x6x6,
* @ref GL::TextureFormat::CompressedRGBAAstc6x6x6;
* and @def_vk_keyword{FORMAT_ASTC_6x6x6_SFLOAT_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D.
*/
Astc6x6x6RGBAF,
/* See https://github.com/KhronosGroup/Vulkan-Docs/issues/512#issuecomment-307768667
for Vulkan mapping. Ugh. */

25
src/Magnum/Vk/Implementation/compressedFormatMapping.hpp

@ -53,54 +53,79 @@ _c(Etc2RGBA8Unorm, ETC2_R8G8B8A8_UNORM_BLOCK)
_c(Etc2RGBA8Srgb, ETC2_R8G8B8A8_SRGB_BLOCK)
_c(Astc4x4RGBAUnorm, ASTC_4x4_UNORM_BLOCK)
_c(Astc4x4RGBASrgb, ASTC_4x4_SRGB_BLOCK)
_c(Astc4x4RGBAF, ASTC_4x4_SFLOAT_BLOCK_EXT)
_c(Astc5x4RGBAUnorm, ASTC_5x4_UNORM_BLOCK)
_c(Astc5x4RGBASrgb, ASTC_5x4_SRGB_BLOCK)
_c(Astc5x4RGBAF, ASTC_5x4_SFLOAT_BLOCK_EXT)
_c(Astc5x5RGBAUnorm, ASTC_5x5_UNORM_BLOCK)
_c(Astc5x5RGBASrgb, ASTC_5x5_SRGB_BLOCK)
_c(Astc5x5RGBAF, ASTC_5x5_SFLOAT_BLOCK_EXT)
_c(Astc6x5RGBAUnorm, ASTC_6x5_UNORM_BLOCK)
_c(Astc6x5RGBASrgb, ASTC_6x5_SRGB_BLOCK)
_c(Astc6x5RGBAF, ASTC_6x5_SFLOAT_BLOCK_EXT)
_c(Astc6x6RGBAUnorm, ASTC_6x6_UNORM_BLOCK)
_c(Astc6x6RGBASrgb, ASTC_6x6_SRGB_BLOCK)
_c(Astc6x6RGBAF, ASTC_6x6_SFLOAT_BLOCK_EXT)
_c(Astc8x5RGBAUnorm, ASTC_8x5_UNORM_BLOCK)
_c(Astc8x5RGBASrgb, ASTC_8x5_SRGB_BLOCK)
_c(Astc8x5RGBAF, ASTC_8x5_SFLOAT_BLOCK_EXT)
_c(Astc8x6RGBAUnorm, ASTC_8x6_UNORM_BLOCK)
_c(Astc8x6RGBASrgb, ASTC_8x6_SRGB_BLOCK)
_c(Astc8x6RGBAF, ASTC_8x6_SFLOAT_BLOCK_EXT)
_c(Astc8x8RGBAUnorm, ASTC_8x8_UNORM_BLOCK)
_c(Astc8x8RGBASrgb, ASTC_8x8_SRGB_BLOCK)
_c(Astc8x8RGBAF, ASTC_8x8_SFLOAT_BLOCK_EXT)
_c(Astc10x5RGBAUnorm, ASTC_10x5_UNORM_BLOCK)
_c(Astc10x5RGBASrgb, ASTC_10x5_SRGB_BLOCK)
_c(Astc10x5RGBAF, ASTC_10x5_SFLOAT_BLOCK_EXT)
_c(Astc10x6RGBAUnorm, ASTC_10x6_UNORM_BLOCK)
_c(Astc10x6RGBASrgb, ASTC_10x6_SRGB_BLOCK)
_c(Astc10x6RGBAF, ASTC_10x6_SFLOAT_BLOCK_EXT)
_c(Astc10x8RGBAUnorm, ASTC_10x8_UNORM_BLOCK)
_c(Astc10x8RGBASrgb, ASTC_10x8_SRGB_BLOCK)
_c(Astc10x8RGBAF, ASTC_10x8_SFLOAT_BLOCK_EXT)
_c(Astc10x10RGBAUnorm, ASTC_10x10_UNORM_BLOCK)
_c(Astc10x10RGBASrgb, ASTC_10x10_SRGB_BLOCK)
_c(Astc10x10RGBAF, ASTC_10x10_SFLOAT_BLOCK_EXT)
_c(Astc12x10RGBAUnorm, ASTC_12x10_UNORM_BLOCK)
_c(Astc12x10RGBASrgb, ASTC_12x10_SRGB_BLOCK)
_c(Astc12x10RGBAF, ASTC_12x10_SFLOAT_BLOCK_EXT)
_c(Astc12x12RGBAUnorm, ASTC_12x12_UNORM_BLOCK)
_c(Astc12x12RGBASrgb, ASTC_12x12_SRGB_BLOCK)
_c(Astc12x12RGBAF, ASTC_12x12_SFLOAT_BLOCK_EXT)
/* https://github.com/KhronosGroup/KTX-Specification/pull/97 */
_s(Astc3x3x3RGBAUnorm) //, ASTC_3x3x3_UNORM_BLOCK)
_s(Astc3x3x3RGBASrgb) //, ASTC_3x3x3_SRGB_BLOCK)
_s(Astc3x3x3RGBAF) //, ASTC_3x3x3_SFLOAT_BLOCK_EXT)
_s(Astc4x3x3RGBAUnorm) //, ASTC_4x3x3_UNORM_BLOCK)
_s(Astc4x3x3RGBASrgb) //, ASTC_4x3x3_SRGB_BLOCK)
_s(Astc4x3x3RGBAF) //, ASTC_4x3x3_SFLOAT_BLOCK_EXT)
_s(Astc4x4x3RGBAUnorm) //, ASTC_4x4x3_UNORM_BLOCK)
_s(Astc4x4x3RGBASrgb) //, ASTC_4x4x3_SRGB_BLOCK)
_s(Astc4x4x3RGBAF) //, ASTC_4x4x3_SFLOAT_BLOCK_EXT)
_s(Astc4x4x4RGBAUnorm) //, ASTC_4x4x4_UNORM_BLOCK)
_s(Astc4x4x4RGBASrgb) //, ASTC_4x4x4_SRGB_BLOCK)
_s(Astc4x4x4RGBAF) //, ASTC_4x4x4_SFLOAT_BLOCK_EXT)
_s(Astc5x4x4RGBAUnorm) //, ASTC_5x4x4_UNORM_BLOCK)
_s(Astc5x4x4RGBASrgb) //, ASTC_5x4x4_SRGB_BLOCK)
_s(Astc5x4x4RGBAF) //, ASTC_5x4x4_SFLOAT_BLOCK_EXT)
_s(Astc5x5x4RGBAUnorm) //, ASTC_5x5x4_UNORM_BLOCK)
_s(Astc5x5x4RGBASrgb) //, ASTC_5x5x4_SRGB_BLOCK)
_s(Astc5x5x4RGBAF) //, ASTC_5x5x4_SFLOAT_BLOCK_EXT)
_s(Astc5x5x5RGBAUnorm) //, ASTC_5x5x5_UNORM_BLOCK)
_s(Astc5x5x5RGBASrgb) //, ASTC_5x5x5_SRGB_BLOCK)
_s(Astc5x5x5RGBAF) //, ASTC_5x5x5_SFLOAT_BLOCK_EXT)
_s(Astc6x5x5RGBAUnorm) //, ASTC_6x5x5_UNORM_BLOCK)
_s(Astc6x5x5RGBASrgb) //, ASTC_6x5x5_SRGB_BLOCK)
_s(Astc6x5x5RGBAF) //, ASTC_6x5x5_SFLOAT_BLOCK_EXT)
_s(Astc6x6x5RGBAUnorm) //, ASTC_6x6x5_UNORM_BLOCK)
_s(Astc6x6x5RGBASrgb) //, ASTC_6x6x5_SRGB_BLOCK)
_s(Astc6x6x5RGBAF) //, ASTC_6x6x5_SFLOAT_BLOCK_EXT)
_s(Astc6x6x6RGBAUnorm) //, ASTC_6x6x6_UNORM_BLOCK)
_s(Astc6x6x6RGBASrgb) //, ASTC_6x6x6_SRGB_BLOCK)
_s(Astc6x6x6RGBAF) //, ASTC_6x6x6_SFLOAT_BLOCK_EXT)
/* https://github.com/KhronosGroup/Vulkan-Docs/issues/512 */
_c(PvrtcRGB2bppUnorm, PVRTC1_2BPP_UNORM_BLOCK_IMG)
_c(PvrtcRGB2bppSrgb, PVRTC1_2BPP_SRGB_BLOCK_IMG)

2
src/MagnumExternal/Vulkan/extensions.txt vendored

@ -24,6 +24,8 @@ extension KHR_shader_draw_parameters optional
extension KHR_storage_buffer_storage_class optional
extension KHR_variable_pointers optional
extension EXT_texture_compression_astc_hdr optional
extension IMG_format_pvrtc optional
# kate: hl python

30
src/MagnumExternal/Vulkan/flextVk.h vendored

@ -234,6 +234,11 @@ extern "C" {
#define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
#define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
/* VK_EXT_texture_compression_astc_hdr */
#define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
#define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
/* VK_IMG_format_pvrtc */
#define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
@ -251,7 +256,7 @@ extern "C" {
// Vulkan 1.1 version number
#define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0)// Patch version should always be set to 0
// Version of this file
#define VK_HEADER_VERSION 121
#define VK_HEADER_VERSION 123
#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
#if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE)
#if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
@ -808,6 +813,20 @@ typedef enum {
VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = 1000066000,
VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = 1000066001,
VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = 1000066002,
VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = 1000066003,
VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = 1000066004,
VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = 1000066005,
VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = 1000066006,
VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = 1000066007,
VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = 1000066008,
VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = 1000066009,
VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = 1000066010,
VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011,
VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012,
VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013,
VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
@ -1326,7 +1345,8 @@ typedef enum {
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000
} VkStructureType;
typedef enum {
@ -3318,6 +3338,12 @@ typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
VkStructureType sType;
const void* pNext;
VkBool32 textureCompressionASTC_HDR;
} VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
/* I'll bite the bullet and expect that vkCreateInstance(),
vkEnumerateInstanceExtensionProperties() and vkEnumerateInstanceLayerProperties()
functions can be loaded statically to avoid the need for a global

Loading…
Cancel
Save