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 #endif
_c(Astc4x4RGBAUnorm, RGBAAstc4x4) _c(Astc4x4RGBAUnorm, RGBAAstc4x4)
_c(Astc4x4RGBASrgb, SRGB8Alpha8Astc4x4) _c(Astc4x4RGBASrgb, SRGB8Alpha8Astc4x4)
_c(Astc4x4RGBAF, RGBAAstc4x4)
_c(Astc5x4RGBAUnorm, RGBAAstc5x4) _c(Astc5x4RGBAUnorm, RGBAAstc5x4)
_c(Astc5x4RGBASrgb, SRGB8Alpha8Astc5x4) _c(Astc5x4RGBASrgb, SRGB8Alpha8Astc5x4)
_c(Astc5x4RGBAF, RGBAAstc5x4)
_c(Astc5x5RGBAUnorm, RGBAAstc5x5) _c(Astc5x5RGBAUnorm, RGBAAstc5x5)
_c(Astc5x5RGBASrgb, SRGB8Alpha8Astc5x5) _c(Astc5x5RGBASrgb, SRGB8Alpha8Astc5x5)
_c(Astc5x5RGBAF, RGBAAstc5x5)
_c(Astc6x5RGBAUnorm, RGBAAstc6x5) _c(Astc6x5RGBAUnorm, RGBAAstc6x5)
_c(Astc6x5RGBASrgb, SRGB8Alpha8Astc6x5) _c(Astc6x5RGBASrgb, SRGB8Alpha8Astc6x5)
_c(Astc6x5RGBAF, RGBAAstc6x5)
_c(Astc6x6RGBAUnorm, RGBAAstc6x6) _c(Astc6x6RGBAUnorm, RGBAAstc6x6)
_c(Astc6x6RGBASrgb, SRGB8Alpha8Astc6x6) _c(Astc6x6RGBASrgb, SRGB8Alpha8Astc6x6)
_c(Astc6x6RGBAF, RGBAAstc6x6)
_c(Astc8x5RGBAUnorm, RGBAAstc8x5) _c(Astc8x5RGBAUnorm, RGBAAstc8x5)
_c(Astc8x5RGBASrgb, SRGB8Alpha8Astc8x5) _c(Astc8x5RGBASrgb, SRGB8Alpha8Astc8x5)
_c(Astc8x5RGBAF, RGBAAstc8x5)
_c(Astc8x6RGBAUnorm, RGBAAstc8x6) _c(Astc8x6RGBAUnorm, RGBAAstc8x6)
_c(Astc8x6RGBASrgb, SRGB8Alpha8Astc8x6) _c(Astc8x6RGBASrgb, SRGB8Alpha8Astc8x6)
_c(Astc8x6RGBAF, RGBAAstc8x6)
_c(Astc8x8RGBAUnorm, RGBAAstc8x8) _c(Astc8x8RGBAUnorm, RGBAAstc8x8)
_c(Astc8x8RGBASrgb, SRGB8Alpha8Astc8x8) _c(Astc8x8RGBASrgb, SRGB8Alpha8Astc8x8)
_c(Astc8x8RGBAF, RGBAAstc8x8)
_c(Astc10x5RGBAUnorm, RGBAAstc10x5) _c(Astc10x5RGBAUnorm, RGBAAstc10x5)
_c(Astc10x5RGBASrgb, SRGB8Alpha8Astc10x5) _c(Astc10x5RGBASrgb, SRGB8Alpha8Astc10x5)
_c(Astc10x5RGBAF, RGBAAstc10x5)
_c(Astc10x6RGBAUnorm, RGBAAstc10x6) _c(Astc10x6RGBAUnorm, RGBAAstc10x6)
_c(Astc10x6RGBASrgb, SRGB8Alpha8Astc10x6) _c(Astc10x6RGBASrgb, SRGB8Alpha8Astc10x6)
_c(Astc10x6RGBAF, RGBAAstc10x6)
_c(Astc10x8RGBAUnorm, RGBAAstc10x8) _c(Astc10x8RGBAUnorm, RGBAAstc10x8)
_c(Astc10x8RGBASrgb, SRGB8Alpha8Astc10x8) _c(Astc10x8RGBASrgb, SRGB8Alpha8Astc10x8)
_c(Astc10x8RGBAF, RGBAAstc10x8)
_c(Astc10x10RGBAUnorm, RGBAAstc10x10) _c(Astc10x10RGBAUnorm, RGBAAstc10x10)
_c(Astc10x10RGBASrgb, SRGB8Alpha8Astc10x10) _c(Astc10x10RGBASrgb, SRGB8Alpha8Astc10x10)
_c(Astc10x10RGBAF, RGBAAstc10x10)
_c(Astc12x10RGBAUnorm, RGBAAstc12x10) _c(Astc12x10RGBAUnorm, RGBAAstc12x10)
_c(Astc12x10RGBASrgb, SRGB8Alpha8Astc12x10) _c(Astc12x10RGBASrgb, SRGB8Alpha8Astc12x10)
_c(Astc12x10RGBAF, RGBAAstc12x10)
_c(Astc12x12RGBAUnorm, RGBAAstc12x12) _c(Astc12x12RGBAUnorm, RGBAAstc12x12)
_c(Astc12x12RGBASrgb, SRGB8Alpha8Astc12x12) _c(Astc12x12RGBASrgb, SRGB8Alpha8Astc12x12)
_c(Astc12x12RGBAF, RGBAAstc12x12)
#if defined(MAGNUM_TARGET_GLES) && !defined(MAGNUM_TARGET_GLES2) && !defined(MAGNUM_TARGET_WEBGL) #if defined(MAGNUM_TARGET_GLES) && !defined(MAGNUM_TARGET_GLES2) && !defined(MAGNUM_TARGET_WEBGL)
_c(Astc3x3x3RGBAUnorm, RGBAAstc3x3x3) _c(Astc3x3x3RGBAUnorm, RGBAAstc3x3x3)
_c(Astc3x3x3RGBASrgb, SRGB8Alpha8Astc3x3x3) _c(Astc3x3x3RGBASrgb, SRGB8Alpha8Astc3x3x3)
_c(Astc3x3x3RGBAF, RGBAAstc3x3x3)
_c(Astc4x3x3RGBAUnorm, RGBAAstc4x3x3) _c(Astc4x3x3RGBAUnorm, RGBAAstc4x3x3)
_c(Astc4x3x3RGBASrgb, SRGB8Alpha8Astc4x3x3) _c(Astc4x3x3RGBASrgb, SRGB8Alpha8Astc4x3x3)
_c(Astc4x3x3RGBAF, RGBAAstc4x3x3)
_c(Astc4x4x3RGBAUnorm, RGBAAstc4x4x3) _c(Astc4x4x3RGBAUnorm, RGBAAstc4x4x3)
_c(Astc4x4x3RGBASrgb, SRGB8Alpha8Astc4x4x3) _c(Astc4x4x3RGBASrgb, SRGB8Alpha8Astc4x4x3)
_c(Astc4x4x3RGBAF, RGBAAstc4x4x3)
_c(Astc4x4x4RGBAUnorm, RGBAAstc4x4x4) _c(Astc4x4x4RGBAUnorm, RGBAAstc4x4x4)
_c(Astc4x4x4RGBASrgb, SRGB8Alpha8Astc4x4x4) _c(Astc4x4x4RGBASrgb, SRGB8Alpha8Astc4x4x4)
_c(Astc4x4x4RGBAF, RGBAAstc4x4x4)
_c(Astc5x4x4RGBAUnorm, RGBAAstc5x4x4) _c(Astc5x4x4RGBAUnorm, RGBAAstc5x4x4)
_c(Astc5x4x4RGBASrgb, SRGB8Alpha8Astc5x4x4) _c(Astc5x4x4RGBASrgb, SRGB8Alpha8Astc5x4x4)
_c(Astc5x4x4RGBAF, RGBAAstc5x4x4)
_c(Astc5x5x4RGBAUnorm, RGBAAstc5x5x4) _c(Astc5x5x4RGBAUnorm, RGBAAstc5x5x4)
_c(Astc5x5x4RGBASrgb, SRGB8Alpha8Astc5x5x4) _c(Astc5x5x4RGBASrgb, SRGB8Alpha8Astc5x5x4)
_c(Astc5x5x4RGBAF, RGBAAstc5x5x4)
_c(Astc5x5x5RGBAUnorm, RGBAAstc5x5x5) _c(Astc5x5x5RGBAUnorm, RGBAAstc5x5x5)
_c(Astc5x5x5RGBASrgb, SRGB8Alpha8Astc5x5x5) _c(Astc5x5x5RGBASrgb, SRGB8Alpha8Astc5x5x5)
_c(Astc5x5x5RGBAF, RGBAAstc5x5x5)
_c(Astc6x5x5RGBAUnorm, RGBAAstc6x5x5) _c(Astc6x5x5RGBAUnorm, RGBAAstc6x5x5)
_c(Astc6x5x5RGBASrgb, SRGB8Alpha8Astc6x5x5) _c(Astc6x5x5RGBASrgb, SRGB8Alpha8Astc6x5x5)
_c(Astc6x5x5RGBAF, RGBAAstc6x5x5)
_c(Astc6x6x5RGBAUnorm, RGBAAstc6x6x5) _c(Astc6x6x5RGBAUnorm, RGBAAstc6x6x5)
_c(Astc6x6x5RGBASrgb, SRGB8Alpha8Astc6x6x5) _c(Astc6x6x5RGBASrgb, SRGB8Alpha8Astc6x6x5)
_c(Astc6x6x5RGBAF, RGBAAstc6x6x5)
_c(Astc6x6x6RGBAUnorm, RGBAAstc6x6x6) _c(Astc6x6x6RGBAUnorm, RGBAAstc6x6x6)
_c(Astc6x6x6RGBASrgb, SRGB8Alpha8Astc6x6x6) _c(Astc6x6x6RGBASrgb, SRGB8Alpha8Astc6x6x6)
_c(Astc6x6x6RGBAF, RGBAAstc6x6x6)
#else #else
_s(Astc3x3x3RGBAUnorm) _s(Astc3x3x3RGBAUnorm)
_s(Astc3x3x3RGBASrgb) _s(Astc3x3x3RGBASrgb)
_s(Astc3x3x3RGBAF)
_s(Astc4x3x3RGBAUnorm) _s(Astc4x3x3RGBAUnorm)
_s(Astc4x3x3RGBASrgb) _s(Astc4x3x3RGBASrgb)
_s(Astc4x3x3RGBAF)
_s(Astc4x4x3RGBAUnorm) _s(Astc4x4x3RGBAUnorm)
_s(Astc4x4x3RGBASrgb) _s(Astc4x4x3RGBASrgb)
_s(Astc4x4x3RGBAF)
_s(Astc4x4x4RGBAUnorm) _s(Astc4x4x4RGBAUnorm)
_s(Astc4x4x4RGBASrgb) _s(Astc4x4x4RGBASrgb)
_s(Astc4x4x4RGBAF)
_s(Astc5x4x4RGBAUnorm) _s(Astc5x4x4RGBAUnorm)
_s(Astc5x4x4RGBASrgb) _s(Astc5x4x4RGBASrgb)
_s(Astc5x4x4RGBAF)
_s(Astc5x5x4RGBAUnorm) _s(Astc5x5x4RGBAUnorm)
_s(Astc5x5x4RGBASrgb) _s(Astc5x5x4RGBASrgb)
_s(Astc5x5x4RGBAF)
_s(Astc5x5x5RGBAUnorm) _s(Astc5x5x5RGBAUnorm)
_s(Astc5x5x5RGBASrgb) _s(Astc5x5x5RGBASrgb)
_s(Astc5x5x5RGBAF)
_s(Astc6x5x5RGBAUnorm) _s(Astc6x5x5RGBAUnorm)
_s(Astc6x5x5RGBASrgb) _s(Astc6x5x5RGBASrgb)
_s(Astc6x5x5RGBAF)
_s(Astc6x6x5RGBAUnorm) _s(Astc6x6x5RGBAUnorm)
_s(Astc6x6x5RGBASrgb) _s(Astc6x6x5RGBASrgb)
_s(Astc6x6x5RGBAF)
_s(Astc6x6x6RGBAUnorm) _s(Astc6x6x6RGBAUnorm)
_s(Astc6x6x6RGBASrgb) _s(Astc6x6x6RGBASrgb)
_s(Astc6x6x6RGBAF)
#endif #endif
#ifdef MAGNUM_TARGET_GLES #ifdef MAGNUM_TARGET_GLES
_c(PvrtcRGB2bppUnorm, RGBPvrtc2bppV1) _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 */ all blocks fit into 128 bits */
_c(Astc4x4RGBAUnorm, 4, 4, 1, 128) _c(Astc4x4RGBAUnorm, 4, 4, 1, 128)
_c(Astc4x4RGBASrgb, 4, 4, 1, 128) _c(Astc4x4RGBASrgb, 4, 4, 1, 128)
_c(Astc4x4RGBAF, 4, 4, 1, 128)
_c(Astc5x4RGBAUnorm, 5, 4, 1, 128) _c(Astc5x4RGBAUnorm, 5, 4, 1, 128)
_c(Astc5x4RGBASrgb, 5, 4, 1, 128) _c(Astc5x4RGBASrgb, 5, 4, 1, 128)
_c(Astc5x4RGBAF, 5, 4, 1, 128)
_c(Astc5x5RGBAUnorm, 5, 5, 1, 128) _c(Astc5x5RGBAUnorm, 5, 5, 1, 128)
_c(Astc5x5RGBASrgb, 5, 5, 1, 128) _c(Astc5x5RGBASrgb, 5, 5, 1, 128)
_c(Astc5x5RGBAF, 5, 5, 1, 128)
_c(Astc6x5RGBAUnorm, 6, 5, 1, 128) _c(Astc6x5RGBAUnorm, 6, 5, 1, 128)
_c(Astc6x5RGBASrgb, 6, 5, 1, 128) _c(Astc6x5RGBASrgb, 6, 5, 1, 128)
_c(Astc6x5RGBAF, 6, 5, 1, 128)
_c(Astc6x6RGBAUnorm, 6, 6, 1, 128) _c(Astc6x6RGBAUnorm, 6, 6, 1, 128)
_c(Astc6x6RGBASrgb, 6, 6, 1, 128) _c(Astc6x6RGBASrgb, 6, 6, 1, 128)
_c(Astc6x6RGBAF, 6, 6, 1, 128)
_c(Astc8x5RGBAUnorm, 8, 5, 1, 128) _c(Astc8x5RGBAUnorm, 8, 5, 1, 128)
_c(Astc8x5RGBASrgb, 8, 5, 1, 128) _c(Astc8x5RGBASrgb, 8, 5, 1, 128)
_c(Astc8x5RGBAF, 8, 5, 1, 128)
_c(Astc8x6RGBAUnorm, 8, 6, 1, 128) _c(Astc8x6RGBAUnorm, 8, 6, 1, 128)
_c(Astc8x6RGBASrgb, 8, 6, 1, 128) _c(Astc8x6RGBASrgb, 8, 6, 1, 128)
_c(Astc8x6RGBAF, 8, 6, 1, 128)
_c(Astc8x8RGBAUnorm, 8, 8, 1, 128) _c(Astc8x8RGBAUnorm, 8, 8, 1, 128)
_c(Astc8x8RGBASrgb, 8, 8, 1, 128) _c(Astc8x8RGBASrgb, 8, 8, 1, 128)
_c(Astc8x8RGBAF, 8, 8, 1, 128)
_c(Astc10x5RGBAUnorm, 10, 5, 1, 128) _c(Astc10x5RGBAUnorm, 10, 5, 1, 128)
_c(Astc10x5RGBASrgb, 10, 5, 1, 128) _c(Astc10x5RGBASrgb, 10, 5, 1, 128)
_c(Astc10x5RGBAF, 10, 5, 1, 128)
_c(Astc10x6RGBAUnorm, 10, 6, 1, 128) _c(Astc10x6RGBAUnorm, 10, 6, 1, 128)
_c(Astc10x6RGBASrgb, 10, 6, 1, 128) _c(Astc10x6RGBASrgb, 10, 6, 1, 128)
_c(Astc10x6RGBAF, 10, 6, 1, 128)
_c(Astc10x8RGBAUnorm, 10, 8, 1, 128) _c(Astc10x8RGBAUnorm, 10, 8, 1, 128)
_c(Astc10x8RGBASrgb, 10, 8, 1, 128) _c(Astc10x8RGBASrgb, 10, 8, 1, 128)
_c(Astc10x8RGBAF, 10, 8, 1, 128)
_c(Astc10x10RGBAUnorm, 10, 10, 1, 128) _c(Astc10x10RGBAUnorm, 10, 10, 1, 128)
_c(Astc10x10RGBASrgb, 10, 10, 1, 128) _c(Astc10x10RGBASrgb, 10, 10, 1, 128)
_c(Astc10x10RGBAF, 10, 10, 1, 128)
_c(Astc12x10RGBAUnorm, 12, 10, 1, 128) _c(Astc12x10RGBAUnorm, 12, 10, 1, 128)
_c(Astc12x10RGBASrgb, 12, 10, 1, 128) _c(Astc12x10RGBASrgb, 12, 10, 1, 128)
_c(Astc12x10RGBAF, 12, 10, 1, 128)
_c(Astc12x12RGBAUnorm, 12, 12, 1, 128) _c(Astc12x12RGBAUnorm, 12, 12, 1, 128)
_c(Astc12x12RGBASrgb, 12, 12, 1, 128) _c(Astc12x12RGBASrgb, 12, 12, 1, 128)
_c(Astc12x12RGBAF, 12, 12, 1, 128)
_c(Astc3x3x3RGBAUnorm, 3, 3, 3, 128) _c(Astc3x3x3RGBAUnorm, 3, 3, 3, 128)
_c(Astc3x3x3RGBASrgb, 3, 3, 3, 128) _c(Astc3x3x3RGBASrgb, 3, 3, 3, 128)
_c(Astc3x3x3RGBAF, 3, 3, 3, 128)
_c(Astc4x3x3RGBAUnorm, 4, 3, 3, 128) _c(Astc4x3x3RGBAUnorm, 4, 3, 3, 128)
_c(Astc4x3x3RGBASrgb, 4, 3, 3, 128) _c(Astc4x3x3RGBASrgb, 4, 3, 3, 128)
_c(Astc4x3x3RGBAF, 4, 3, 3, 128)
_c(Astc4x4x3RGBAUnorm, 4, 4, 3, 128) _c(Astc4x4x3RGBAUnorm, 4, 4, 3, 128)
_c(Astc4x4x3RGBASrgb, 4, 4, 3, 128) _c(Astc4x4x3RGBASrgb, 4, 4, 3, 128)
_c(Astc4x4x3RGBAF, 4, 4, 3, 128)
_c(Astc4x4x4RGBAUnorm, 4, 4, 4, 128) _c(Astc4x4x4RGBAUnorm, 4, 4, 4, 128)
_c(Astc4x4x4RGBASrgb, 4, 4, 4, 128) _c(Astc4x4x4RGBASrgb, 4, 4, 4, 128)
_c(Astc4x4x4RGBAF, 4, 4, 4, 128)
_c(Astc5x4x4RGBAUnorm, 5, 4, 4, 128) _c(Astc5x4x4RGBAUnorm, 5, 4, 4, 128)
_c(Astc5x4x4RGBASrgb, 5, 4, 4, 128) _c(Astc5x4x4RGBASrgb, 5, 4, 4, 128)
_c(Astc5x4x4RGBAF, 5, 4, 4, 128)
_c(Astc5x5x4RGBAUnorm, 5, 5, 4, 128) _c(Astc5x5x4RGBAUnorm, 5, 5, 4, 128)
_c(Astc5x5x4RGBASrgb, 5, 5, 4, 128) _c(Astc5x5x4RGBASrgb, 5, 5, 4, 128)
_c(Astc5x5x4RGBAF, 5, 5, 4, 128)
_c(Astc5x5x5RGBAUnorm, 5, 5, 5, 128) _c(Astc5x5x5RGBAUnorm, 5, 5, 5, 128)
_c(Astc5x5x5RGBASrgb, 5, 5, 5, 128) _c(Astc5x5x5RGBASrgb, 5, 5, 5, 128)
_c(Astc5x5x5RGBAF, 5, 5, 5, 128)
_c(Astc6x5x5RGBAUnorm, 6, 5, 5, 128) _c(Astc6x5x5RGBAUnorm, 6, 5, 5, 128)
_c(Astc6x5x5RGBASrgb, 6, 5, 5, 128) _c(Astc6x5x5RGBASrgb, 6, 5, 5, 128)
_c(Astc6x5x5RGBAF, 6, 5, 5, 128)
_c(Astc6x6x5RGBAUnorm, 6, 6, 5, 128) _c(Astc6x6x5RGBAUnorm, 6, 6, 5, 128)
_c(Astc6x6x5RGBASrgb, 6, 6, 5, 128) _c(Astc6x6x5RGBASrgb, 6, 6, 5, 128)
_c(Astc6x6x5RGBAF, 6, 6, 5, 128)
_c(Astc6x6x6RGBAUnorm, 6, 6, 6, 128) _c(Astc6x6x6RGBAUnorm, 6, 6, 6, 128)
_c(Astc6x6x6RGBASrgb, 6, 6, 6, 128) _c(Astc6x6x6RGBASrgb, 6, 6, 6, 128)
_c(Astc6x6x6RGBAF, 6, 6, 6, 128)
/* https://en.wikipedia.org/wiki/PVRTC */ /* https://en.wikipedia.org/wiki/PVRTC */
_c(PvrtcRGB2bppUnorm, 8, 4, 1, 64) _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 /* 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 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 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 the currently ~100 supported formats that makes this table to be about
bytes.*/ 256 bytes.*/
#define _c(format, width, height, depth, size) \ #define _c(format, width, height, depth, size) \
((width - 1) << 12) | \ ((width - 1) << 12) | \
((height - 1) << 8) | \ ((height - 1) << 8) | \
@ -272,52 +272,76 @@ Debug& operator<<(Debug& debug, const CompressedPixelFormat value) {
_c(Etc2RGBA8Srgb) _c(Etc2RGBA8Srgb)
_c(Astc4x4RGBAUnorm) _c(Astc4x4RGBAUnorm)
_c(Astc4x4RGBASrgb) _c(Astc4x4RGBASrgb)
_c(Astc4x4RGBAF)
_c(Astc5x4RGBAUnorm) _c(Astc5x4RGBAUnorm)
_c(Astc5x4RGBASrgb) _c(Astc5x4RGBASrgb)
_c(Astc5x4RGBAF)
_c(Astc5x5RGBAUnorm) _c(Astc5x5RGBAUnorm)
_c(Astc5x5RGBASrgb) _c(Astc5x5RGBASrgb)
_c(Astc5x5RGBAF)
_c(Astc6x5RGBAUnorm) _c(Astc6x5RGBAUnorm)
_c(Astc6x5RGBASrgb) _c(Astc6x5RGBASrgb)
_c(Astc6x5RGBAF)
_c(Astc6x6RGBAUnorm) _c(Astc6x6RGBAUnorm)
_c(Astc6x6RGBASrgb) _c(Astc6x6RGBASrgb)
_c(Astc6x6RGBAF)
_c(Astc8x5RGBAUnorm) _c(Astc8x5RGBAUnorm)
_c(Astc8x5RGBASrgb) _c(Astc8x5RGBASrgb)
_c(Astc8x5RGBAF)
_c(Astc8x6RGBAUnorm) _c(Astc8x6RGBAUnorm)
_c(Astc8x6RGBASrgb) _c(Astc8x6RGBASrgb)
_c(Astc8x6RGBAF)
_c(Astc8x8RGBAUnorm) _c(Astc8x8RGBAUnorm)
_c(Astc8x8RGBASrgb) _c(Astc8x8RGBASrgb)
_c(Astc8x8RGBAF)
_c(Astc10x5RGBAUnorm) _c(Astc10x5RGBAUnorm)
_c(Astc10x5RGBASrgb) _c(Astc10x5RGBASrgb)
_c(Astc10x5RGBAF)
_c(Astc10x6RGBAUnorm) _c(Astc10x6RGBAUnorm)
_c(Astc10x6RGBASrgb) _c(Astc10x6RGBASrgb)
_c(Astc10x6RGBAF)
_c(Astc10x8RGBAUnorm) _c(Astc10x8RGBAUnorm)
_c(Astc10x8RGBASrgb) _c(Astc10x8RGBASrgb)
_c(Astc10x8RGBAF)
_c(Astc10x10RGBAUnorm) _c(Astc10x10RGBAUnorm)
_c(Astc10x10RGBASrgb) _c(Astc10x10RGBASrgb)
_c(Astc10x10RGBAF)
_c(Astc12x10RGBAUnorm) _c(Astc12x10RGBAUnorm)
_c(Astc12x10RGBASrgb) _c(Astc12x10RGBASrgb)
_c(Astc12x10RGBAF)
_c(Astc12x12RGBAUnorm) _c(Astc12x12RGBAUnorm)
_c(Astc12x12RGBASrgb) _c(Astc12x12RGBASrgb)
_c(Astc12x12RGBAF)
_c(Astc3x3x3RGBAUnorm) _c(Astc3x3x3RGBAUnorm)
_c(Astc3x3x3RGBASrgb) _c(Astc3x3x3RGBASrgb)
_c(Astc3x3x3RGBAF)
_c(Astc4x3x3RGBAUnorm) _c(Astc4x3x3RGBAUnorm)
_c(Astc4x3x3RGBASrgb) _c(Astc4x3x3RGBASrgb)
_c(Astc4x3x3RGBAF)
_c(Astc4x4x3RGBAUnorm) _c(Astc4x4x3RGBAUnorm)
_c(Astc4x4x3RGBASrgb) _c(Astc4x4x3RGBASrgb)
_c(Astc4x4x3RGBAF)
_c(Astc4x4x4RGBAUnorm) _c(Astc4x4x4RGBAUnorm)
_c(Astc4x4x4RGBASrgb) _c(Astc4x4x4RGBASrgb)
_c(Astc4x4x4RGBAF)
_c(Astc5x4x4RGBAUnorm) _c(Astc5x4x4RGBAUnorm)
_c(Astc5x4x4RGBASrgb) _c(Astc5x4x4RGBASrgb)
_c(Astc5x4x4RGBAF)
_c(Astc5x5x4RGBAUnorm) _c(Astc5x5x4RGBAUnorm)
_c(Astc5x5x4RGBASrgb) _c(Astc5x5x4RGBASrgb)
_c(Astc5x5x4RGBAF)
_c(Astc5x5x5RGBAUnorm) _c(Astc5x5x5RGBAUnorm)
_c(Astc5x5x5RGBASrgb) _c(Astc5x5x5RGBASrgb)
_c(Astc5x5x5RGBAF)
_c(Astc6x5x5RGBAUnorm) _c(Astc6x5x5RGBAUnorm)
_c(Astc6x5x5RGBASrgb) _c(Astc6x5x5RGBASrgb)
_c(Astc6x5x5RGBAF)
_c(Astc6x6x5RGBAUnorm) _c(Astc6x6x5RGBAUnorm)
_c(Astc6x6x5RGBASrgb) _c(Astc6x6x5RGBASrgb)
_c(Astc6x6x5RGBAF)
_c(Astc6x6x6RGBAUnorm) _c(Astc6x6x6RGBAUnorm)
_c(Astc6x6x6RGBASrgb) _c(Astc6x6x6RGBASrgb)
_c(Astc6x6x6RGBAF)
_c(PvrtcRGB2bppUnorm) _c(PvrtcRGB2bppUnorm)
_c(PvrtcRGB2bppSrgb) _c(PvrtcRGB2bppSrgb)
_c(PvrtcRGBA2bppUnorm) _c(PvrtcRGBA2bppUnorm)

468
src/Magnum/PixelFormat.h

@ -1090,21 +1090,20 @@ enum class CompressedPixelFormat: UnsignedInt {
Etc2RGBA8Srgb, 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. * compressed RGBA, normalized unsigned byte with 4x4 blocks.
* *
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc4x4, * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc4x4,
* @ref GL::TextureFormat::CompressedRGBAAstc4x4; * @ref GL::TextureFormat::CompressedRGBAAstc4x4;
* @def_vk_keyword{FORMAT_ASTC_4x4_UNORM_BLOCK,Format} or * @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_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).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_4x4_LDR MTLPixelFormatASTC_4x4_HDR} * @m_keywords{MTLPixelFormatASTC_4x4_LDR}
*/ */
Astc4x4RGBAUnorm, 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 * compressed sRGB + linear alpha, normalized unsigned byte with 4x4
* blocks. * blocks.
* *
@ -1118,21 +1117,33 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc4x4RGBASrgb, 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. * compressed RGBA, normalized unsigned byte with 5x4 blocks.
* *
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc5x4, * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc5x4,
* @ref GL::TextureFormat::CompressedRGBAAstc5x4; * @ref GL::TextureFormat::CompressedRGBAAstc5x4;
* @def_vk_keyword{FORMAT_ASTC_5x4_UNORM_BLOCK,Format} or * @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_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).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_5x4_LDR MTLPixelFormatASTC_5x4_HDR} * @m_keywords{MTLPixelFormatASTC_5x4_LDR}
*/ */
Astc5x4RGBAUnorm, 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 * compressed sRGB + linear alpha, normalized unsigned byte with 5x4
* blocks. * blocks.
* *
@ -1146,21 +1157,33 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc5x4RGBASrgb, 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. * compressed RGBA, normalized unsigned byte with 5x5 blocks.
* *
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc5x5, * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc5x5,
* @ref GL::TextureFormat::CompressedRGBAAstc5x5; * @ref GL::TextureFormat::CompressedRGBAAstc5x5;
* @def_vk_keyword{FORMAT_ASTC_5x5_UNORM_BLOCK,Format} or * @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_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).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_5x5_LDR MTLPixelFormatASTC_5x5_HDR} * @m_keywords{MTLPixelFormatASTC_5x5_LDR}
*/ */
Astc5x5RGBAUnorm, 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 * compressed sRGB + linear alpha, normalized unsigned byte with 5x5
* blocks. * blocks.
* *
@ -1174,21 +1197,33 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc5x5RGBASrgb, 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. * compressed RGBA, normalized unsigned byte with 6x5 blocks.
* *
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc6x5, * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc6x5,
* @ref GL::TextureFormat::CompressedRGBAAstc6x5; * @ref GL::TextureFormat::CompressedRGBAAstc6x5;
* @def_vk_keyword{FORMAT_ASTC_6x5_UNORM_BLOCK,Format} or * @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_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).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_6x5_LDR MTLPixelFormatASTC_6x5_HDR} * @m_keywords{MTLPixelFormatASTC_6x5_LDR}
*/ */
Astc6x5RGBAUnorm, 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 * compressed sRGB + linear alpha, normalized unsigned byte with 6x5
* blocks. * blocks.
* *
@ -1202,21 +1237,33 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc6x5RGBASrgb, 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. * compressed RGBA, normalized unsigned byte with 6x6 blocks.
* *
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc6x6, * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc6x6,
* @ref GL::TextureFormat::CompressedRGBAAstc6x6; * @ref GL::TextureFormat::CompressedRGBAAstc6x6;
* @def_vk_keyword{FORMAT_ASTC_6x6_UNORM_BLOCK,Format} or * @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_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).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_6x6_LDR MTLPixelFormatASTC_6x6_HDR} * @m_keywords{MTLPixelFormatASTC_6x6_LDR}
*/ */
Astc6x6RGBAUnorm, 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 * compressed sRGB + linear alpha, normalized unsigned byte with 6x6
* blocks. * blocks.
* *
@ -1230,21 +1277,33 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc6x6RGBASrgb, 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. * compressed RGBA, normalized unsigned byte with 8x5 blocks.
* *
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc8x5, * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc8x5,
* @ref GL::TextureFormat::CompressedRGBAAstc8x5; * @ref GL::TextureFormat::CompressedRGBAAstc8x5;
* @def_vk_keyword{FORMAT_ASTC_8x5_UNORM_BLOCK,Format} or * @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_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).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_8x5_LDR MTLPixelFormatASTC_8x5_HDR} * @m_keywords{MTLPixelFormatASTC_8x5_LDR}
*/ */
Astc8x5RGBAUnorm, 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 * compressed sRGB + linear alpha, normalized unsigned byte with 8x5
* blocks. * blocks.
* *
@ -1258,21 +1317,33 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc8x5RGBASrgb, 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. * compressed RGBA, normalized unsigned byte with 8x6 blocks.
* *
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc8x6, * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc8x6,
* @ref GL::TextureFormat::CompressedRGBAAstc8x6; * @ref GL::TextureFormat::CompressedRGBAAstc8x6;
* @def_vk_keyword{FORMAT_ASTC_8x6_UNORM_BLOCK,Format} or * @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_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).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_8x6_LDR MTLPixelFormatASTC_8x6_HDR} * @m_keywords{MTLPixelFormatASTC_8x6_LDR}
*/ */
Astc8x6RGBAUnorm, 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 * compressed sRGB + linear alpha, normalized unsigned byte with 8x6
* blocks. * blocks.
* *
@ -1286,21 +1357,33 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc8x6RGBASrgb, 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. * compressed RGBA, normalized unsigned byte with 8x8 blocks.
* *
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc8x8, * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc8x8,
* @ref GL::TextureFormat::CompressedRGBAAstc8x8; * @ref GL::TextureFormat::CompressedRGBAAstc8x8;
* @def_vk_keyword{FORMAT_ASTC_8x8_UNORM_BLOCK,Format} or * @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_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).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_8x8_LDR MTLPixelFormatASTC_8x8_HDR} * @m_keywords{MTLPixelFormatASTC_8x8_LDR}
*/ */
Astc8x8RGBAUnorm, 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 * compressed sRGB + linear alpha, normalized unsigned byte with 8x8
* blocks. * blocks.
* *
@ -1314,21 +1397,33 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc8x8RGBASrgb, 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. * compressed RGBA, normalized unsigned byte with 10x5 blocks.
* *
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc10x5, * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc10x5,
* @ref GL::TextureFormat::CompressedRGBAAstc10x5; * @ref GL::TextureFormat::CompressedRGBAAstc10x5;
* @def_vk_keyword{FORMAT_ASTC_10x5_UNORM_BLOCK,Format} or * @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_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).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x5_LDR MTLPixelFormatASTC_10x5_HDR} * @m_keywords{MTLPixelFormatASTC_10x5_LDR}
*/ */
Astc10x5RGBAUnorm, 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 * compressed sRGB + linear alpha, normalized unsigned byte with 10x5
* blocks. * blocks.
* *
@ -1342,21 +1437,33 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc10x5RGBASrgb, 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. * compressed RGBA, normalized unsigned byte with 10x6 blocks.
* *
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc10x6, * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc10x6,
* @ref GL::TextureFormat::CompressedRGBAAstc10x6; * @ref GL::TextureFormat::CompressedRGBAAstc10x6;
* @def_vk_keyword{FORMAT_ASTC_10x6_UNORM_BLOCK,Format} or * @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_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).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x6_LDR MTLPixelFormatASTC_10x6_HDR} * @m_keywords{MTLPixelFormatASTC_10x6_LDR}
*/ */
Astc10x6RGBAUnorm, 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 * compressed sRGB + linear alpha, normalized unsigned byte with 10x6
* blocks. * blocks.
* *
@ -1370,21 +1477,33 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc10x6RGBASrgb, 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. * compressed RGBA, normalized unsigned byte with 10x8 blocks.
* *
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc10x8, * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc10x8,
* @ref GL::TextureFormat::CompressedRGBAAstc10x8; * @ref GL::TextureFormat::CompressedRGBAAstc10x8;
* @def_vk_keyword{FORMAT_ASTC_10x8_UNORM_BLOCK,Format} or * @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_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).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x8_LDR MTLPixelFormatASTC_10x8_HDR} * @m_keywords{MTLPixelFormatASTC_10x8_LDR}
*/ */
Astc10x8RGBAUnorm, 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 * compressed sRGB + linear alpha, normalized unsigned byte with 10x8
* blocks. * blocks.
* *
@ -1398,21 +1517,33 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc10x8RGBASrgb, 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. * compressed RGBA, normalized unsigned byte with 10x10 blocks.
* *
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc10x10, * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc10x10,
* @ref GL::TextureFormat::CompressedRGBAAstc10x10; * @ref GL::TextureFormat::CompressedRGBAAstc10x10;
* @def_vk_keyword{FORMAT_ASTC_10x10_UNORM_BLOCK,Format} or * @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_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).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x10_LDR MTLPixelFormatASTC_10x10_HDR} * @m_keywords{MTLPixelFormatASTC_10x10_LDR}
*/ */
Astc10x10RGBAUnorm, 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 * compressed sRGB + linear alpha, normalized unsigned byte with 10x10
* blocks. * blocks.
* *
@ -1426,21 +1557,33 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc10x10RGBASrgb, 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. * compressed RGBA, normalized unsigned byte with 12x10 blocks.
* *
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc12x10, * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc12x10,
* @ref GL::TextureFormat::CompressedRGBAAstc12x10; * @ref GL::TextureFormat::CompressedRGBAAstc12x10;
* @def_vk_keyword{FORMAT_ASTC_12x10_UNORM_BLOCK,Format} or * @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_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).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_12x10_LDR MTLPixelFormatASTC_12x10_HDR} * @m_keywords{MTLPixelFormatASTC_12x10_LDR}
*/ */
Astc12x10RGBAUnorm, 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 * compressed sRGB + linear alpha, normalized unsigned byte with 12x10
* blocks. * blocks.
* *
@ -1454,21 +1597,33 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc12x10RGBASrgb, 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. * compressed RGBA, normalized unsigned byte with 12x12 blocks.
* *
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc12x12, * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc12x12,
* @ref GL::TextureFormat::CompressedRGBAAstc12x12; * @ref GL::TextureFormat::CompressedRGBAAstc12x12;
* @def_vk_keyword{FORMAT_ASTC_12x12_UNORM_BLOCK,Format} or * @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_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).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_12x12_LDR MTLPixelFormatASTC_12x12_HDR} * @m_keywords{MTLPixelFormatASTC_12x12_LDR}
*/ */
Astc12x12RGBAUnorm, 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 * compressed sRGB + linear alpha, normalized unsigned byte with 12x12
* blocks. * blocks.
* *
@ -1482,7 +1637,20 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc12x12RGBASrgb, 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. * compressed RGBA, normalized unsigned byte with 3x3x3 blocks.
* *
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc3x3x3, * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc3x3x3,
@ -1494,7 +1662,7 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc3x3x3RGBAUnorm, 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 * compressed sRGB + linear alpha, normalized unsigned byte with 3x3x3
* blocks. * blocks.
* *
@ -1507,7 +1675,19 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc3x3x3RGBASrgb, 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. * compressed RGBA, normalized unsigned byte with 4x3x3 blocks.
* *
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc4x3x3, * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc4x3x3,
@ -1519,7 +1699,7 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc4x3x3RGBAUnorm, 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 * compressed sRGB + linear alpha, normalized unsigned byte with 4x3x3
* blocks. * blocks.
* *
@ -1532,7 +1712,19 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc4x3x3RGBASrgb, 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. * compressed RGBA, normalized unsigned byte with 4x4x3 blocks.
* *
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc4x4x3, * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc4x4x3,
@ -1544,7 +1736,7 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc4x4x3RGBAUnorm, 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 * compressed sRGB + linear alpha, normalized unsigned byte with 4x4x3
* blocks. * blocks.
* *
@ -1557,7 +1749,19 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc4x4x3RGBASrgb, 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. * compressed RGBA, normalized unsigned byte with 4x4x4 blocks.
* *
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc4x4x4, * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc4x4x4,
@ -1569,7 +1773,7 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc4x4x4RGBAUnorm, 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 * compressed sRGB + linear alpha, normalized unsigned byte with 4x4x4
* blocks. * blocks.
* *
@ -1582,7 +1786,19 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc4x4x4RGBASrgb, 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. * compressed RGBA, normalized unsigned byte with 5x4x4 blocks.
* *
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc5x4x4, * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc5x4x4,
@ -1594,7 +1810,7 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc5x4x4RGBAUnorm, 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 * compressed sRGB + linear alpha, normalized unsigned byte with 5x4x4
* blocks. * blocks.
* *
@ -1607,7 +1823,19 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc5x4x4RGBASrgb, 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. * compressed RGBA, normalized unsigned byte with 5x5x4 blocks.
* *
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc5x5x4, * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc5x5x4,
@ -1619,7 +1847,7 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc5x5x4RGBAUnorm, 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 * compressed sRGB + linear alpha, normalized unsigned byte with 5x5x4
* blocks. * blocks.
* *
@ -1632,7 +1860,19 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc5x5x4RGBASrgb, 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. * compressed RGBA, normalized unsigned byte with 5x5x5 blocks.
* *
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc5x5x5, * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc5x5x5,
@ -1644,7 +1884,7 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc5x5x5RGBAUnorm, 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 * compressed sRGB + linear alpha, normalized unsigned byte with 5x5x5
* blocks. * blocks.
* *
@ -1657,7 +1897,19 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc5x5x5RGBASrgb, 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. * compressed RGBA, normalized unsigned byte with 6x5x5 blocks.
* *
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc6x5x5, * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc6x5x5,
@ -1669,7 +1921,7 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc6x5x5RGBAUnorm, 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 * compressed sRGB + linear alpha, normalized unsigned byte with 6x5x5
* blocks. * blocks.
* *
@ -1682,7 +1934,19 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc6x5x5RGBASrgb, 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. * compressed RGBA, normalized unsigned byte with 6x6x5 blocks.
* *
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc6x6x5, * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc6x6x5,
@ -1694,7 +1958,7 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc6x6x5RGBAUnorm, 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 * compressed sRGB + linear alpha, normalized unsigned byte with 6x6x5
* blocks. * blocks.
* *
@ -1707,7 +1971,19 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc6x6x5RGBASrgb, 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. * compressed RGBA, normalized unsigned byte with 6x6x6 blocks.
* *
* Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc6x6x6, * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc6x6x6,
@ -1719,7 +1995,7 @@ enum class CompressedPixelFormat: UnsignedInt {
Astc6x6x6RGBAUnorm, 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 * compressed sRGB + linear alpha, normalized unsigned byte with 6x6x6
* blocks. * blocks.
* *
@ -1731,6 +2007,18 @@ enum class CompressedPixelFormat: UnsignedInt {
*/ */
Astc6x6x6RGBASrgb, 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 /* See https://github.com/KhronosGroup/Vulkan-Docs/issues/512#issuecomment-307768667
for Vulkan mapping. Ugh. */ 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(Etc2RGBA8Srgb, ETC2_R8G8B8A8_SRGB_BLOCK)
_c(Astc4x4RGBAUnorm, ASTC_4x4_UNORM_BLOCK) _c(Astc4x4RGBAUnorm, ASTC_4x4_UNORM_BLOCK)
_c(Astc4x4RGBASrgb, ASTC_4x4_SRGB_BLOCK) _c(Astc4x4RGBASrgb, ASTC_4x4_SRGB_BLOCK)
_c(Astc4x4RGBAF, ASTC_4x4_SFLOAT_BLOCK_EXT)
_c(Astc5x4RGBAUnorm, ASTC_5x4_UNORM_BLOCK) _c(Astc5x4RGBAUnorm, ASTC_5x4_UNORM_BLOCK)
_c(Astc5x4RGBASrgb, ASTC_5x4_SRGB_BLOCK) _c(Astc5x4RGBASrgb, ASTC_5x4_SRGB_BLOCK)
_c(Astc5x4RGBAF, ASTC_5x4_SFLOAT_BLOCK_EXT)
_c(Astc5x5RGBAUnorm, ASTC_5x5_UNORM_BLOCK) _c(Astc5x5RGBAUnorm, ASTC_5x5_UNORM_BLOCK)
_c(Astc5x5RGBASrgb, ASTC_5x5_SRGB_BLOCK) _c(Astc5x5RGBASrgb, ASTC_5x5_SRGB_BLOCK)
_c(Astc5x5RGBAF, ASTC_5x5_SFLOAT_BLOCK_EXT)
_c(Astc6x5RGBAUnorm, ASTC_6x5_UNORM_BLOCK) _c(Astc6x5RGBAUnorm, ASTC_6x5_UNORM_BLOCK)
_c(Astc6x5RGBASrgb, ASTC_6x5_SRGB_BLOCK) _c(Astc6x5RGBASrgb, ASTC_6x5_SRGB_BLOCK)
_c(Astc6x5RGBAF, ASTC_6x5_SFLOAT_BLOCK_EXT)
_c(Astc6x6RGBAUnorm, ASTC_6x6_UNORM_BLOCK) _c(Astc6x6RGBAUnorm, ASTC_6x6_UNORM_BLOCK)
_c(Astc6x6RGBASrgb, ASTC_6x6_SRGB_BLOCK) _c(Astc6x6RGBASrgb, ASTC_6x6_SRGB_BLOCK)
_c(Astc6x6RGBAF, ASTC_6x6_SFLOAT_BLOCK_EXT)
_c(Astc8x5RGBAUnorm, ASTC_8x5_UNORM_BLOCK) _c(Astc8x5RGBAUnorm, ASTC_8x5_UNORM_BLOCK)
_c(Astc8x5RGBASrgb, ASTC_8x5_SRGB_BLOCK) _c(Astc8x5RGBASrgb, ASTC_8x5_SRGB_BLOCK)
_c(Astc8x5RGBAF, ASTC_8x5_SFLOAT_BLOCK_EXT)
_c(Astc8x6RGBAUnorm, ASTC_8x6_UNORM_BLOCK) _c(Astc8x6RGBAUnorm, ASTC_8x6_UNORM_BLOCK)
_c(Astc8x6RGBASrgb, ASTC_8x6_SRGB_BLOCK) _c(Astc8x6RGBASrgb, ASTC_8x6_SRGB_BLOCK)
_c(Astc8x6RGBAF, ASTC_8x6_SFLOAT_BLOCK_EXT)
_c(Astc8x8RGBAUnorm, ASTC_8x8_UNORM_BLOCK) _c(Astc8x8RGBAUnorm, ASTC_8x8_UNORM_BLOCK)
_c(Astc8x8RGBASrgb, ASTC_8x8_SRGB_BLOCK) _c(Astc8x8RGBASrgb, ASTC_8x8_SRGB_BLOCK)
_c(Astc8x8RGBAF, ASTC_8x8_SFLOAT_BLOCK_EXT)
_c(Astc10x5RGBAUnorm, ASTC_10x5_UNORM_BLOCK) _c(Astc10x5RGBAUnorm, ASTC_10x5_UNORM_BLOCK)
_c(Astc10x5RGBASrgb, ASTC_10x5_SRGB_BLOCK) _c(Astc10x5RGBASrgb, ASTC_10x5_SRGB_BLOCK)
_c(Astc10x5RGBAF, ASTC_10x5_SFLOAT_BLOCK_EXT)
_c(Astc10x6RGBAUnorm, ASTC_10x6_UNORM_BLOCK) _c(Astc10x6RGBAUnorm, ASTC_10x6_UNORM_BLOCK)
_c(Astc10x6RGBASrgb, ASTC_10x6_SRGB_BLOCK) _c(Astc10x6RGBASrgb, ASTC_10x6_SRGB_BLOCK)
_c(Astc10x6RGBAF, ASTC_10x6_SFLOAT_BLOCK_EXT)
_c(Astc10x8RGBAUnorm, ASTC_10x8_UNORM_BLOCK) _c(Astc10x8RGBAUnorm, ASTC_10x8_UNORM_BLOCK)
_c(Astc10x8RGBASrgb, ASTC_10x8_SRGB_BLOCK) _c(Astc10x8RGBASrgb, ASTC_10x8_SRGB_BLOCK)
_c(Astc10x8RGBAF, ASTC_10x8_SFLOAT_BLOCK_EXT)
_c(Astc10x10RGBAUnorm, ASTC_10x10_UNORM_BLOCK) _c(Astc10x10RGBAUnorm, ASTC_10x10_UNORM_BLOCK)
_c(Astc10x10RGBASrgb, ASTC_10x10_SRGB_BLOCK) _c(Astc10x10RGBASrgb, ASTC_10x10_SRGB_BLOCK)
_c(Astc10x10RGBAF, ASTC_10x10_SFLOAT_BLOCK_EXT)
_c(Astc12x10RGBAUnorm, ASTC_12x10_UNORM_BLOCK) _c(Astc12x10RGBAUnorm, ASTC_12x10_UNORM_BLOCK)
_c(Astc12x10RGBASrgb, ASTC_12x10_SRGB_BLOCK) _c(Astc12x10RGBASrgb, ASTC_12x10_SRGB_BLOCK)
_c(Astc12x10RGBAF, ASTC_12x10_SFLOAT_BLOCK_EXT)
_c(Astc12x12RGBAUnorm, ASTC_12x12_UNORM_BLOCK) _c(Astc12x12RGBAUnorm, ASTC_12x12_UNORM_BLOCK)
_c(Astc12x12RGBASrgb, ASTC_12x12_SRGB_BLOCK) _c(Astc12x12RGBASrgb, ASTC_12x12_SRGB_BLOCK)
_c(Astc12x12RGBAF, ASTC_12x12_SFLOAT_BLOCK_EXT)
/* https://github.com/KhronosGroup/KTX-Specification/pull/97 */ /* https://github.com/KhronosGroup/KTX-Specification/pull/97 */
_s(Astc3x3x3RGBAUnorm) //, ASTC_3x3x3_UNORM_BLOCK) _s(Astc3x3x3RGBAUnorm) //, ASTC_3x3x3_UNORM_BLOCK)
_s(Astc3x3x3RGBASrgb) //, ASTC_3x3x3_SRGB_BLOCK) _s(Astc3x3x3RGBASrgb) //, ASTC_3x3x3_SRGB_BLOCK)
_s(Astc3x3x3RGBAF) //, ASTC_3x3x3_SFLOAT_BLOCK_EXT)
_s(Astc4x3x3RGBAUnorm) //, ASTC_4x3x3_UNORM_BLOCK) _s(Astc4x3x3RGBAUnorm) //, ASTC_4x3x3_UNORM_BLOCK)
_s(Astc4x3x3RGBASrgb) //, ASTC_4x3x3_SRGB_BLOCK) _s(Astc4x3x3RGBASrgb) //, ASTC_4x3x3_SRGB_BLOCK)
_s(Astc4x3x3RGBAF) //, ASTC_4x3x3_SFLOAT_BLOCK_EXT)
_s(Astc4x4x3RGBAUnorm) //, ASTC_4x4x3_UNORM_BLOCK) _s(Astc4x4x3RGBAUnorm) //, ASTC_4x4x3_UNORM_BLOCK)
_s(Astc4x4x3RGBASrgb) //, ASTC_4x4x3_SRGB_BLOCK) _s(Astc4x4x3RGBASrgb) //, ASTC_4x4x3_SRGB_BLOCK)
_s(Astc4x4x3RGBAF) //, ASTC_4x4x3_SFLOAT_BLOCK_EXT)
_s(Astc4x4x4RGBAUnorm) //, ASTC_4x4x4_UNORM_BLOCK) _s(Astc4x4x4RGBAUnorm) //, ASTC_4x4x4_UNORM_BLOCK)
_s(Astc4x4x4RGBASrgb) //, ASTC_4x4x4_SRGB_BLOCK) _s(Astc4x4x4RGBASrgb) //, ASTC_4x4x4_SRGB_BLOCK)
_s(Astc4x4x4RGBAF) //, ASTC_4x4x4_SFLOAT_BLOCK_EXT)
_s(Astc5x4x4RGBAUnorm) //, ASTC_5x4x4_UNORM_BLOCK) _s(Astc5x4x4RGBAUnorm) //, ASTC_5x4x4_UNORM_BLOCK)
_s(Astc5x4x4RGBASrgb) //, ASTC_5x4x4_SRGB_BLOCK) _s(Astc5x4x4RGBASrgb) //, ASTC_5x4x4_SRGB_BLOCK)
_s(Astc5x4x4RGBAF) //, ASTC_5x4x4_SFLOAT_BLOCK_EXT)
_s(Astc5x5x4RGBAUnorm) //, ASTC_5x5x4_UNORM_BLOCK) _s(Astc5x5x4RGBAUnorm) //, ASTC_5x5x4_UNORM_BLOCK)
_s(Astc5x5x4RGBASrgb) //, ASTC_5x5x4_SRGB_BLOCK) _s(Astc5x5x4RGBASrgb) //, ASTC_5x5x4_SRGB_BLOCK)
_s(Astc5x5x4RGBAF) //, ASTC_5x5x4_SFLOAT_BLOCK_EXT)
_s(Astc5x5x5RGBAUnorm) //, ASTC_5x5x5_UNORM_BLOCK) _s(Astc5x5x5RGBAUnorm) //, ASTC_5x5x5_UNORM_BLOCK)
_s(Astc5x5x5RGBASrgb) //, ASTC_5x5x5_SRGB_BLOCK) _s(Astc5x5x5RGBASrgb) //, ASTC_5x5x5_SRGB_BLOCK)
_s(Astc5x5x5RGBAF) //, ASTC_5x5x5_SFLOAT_BLOCK_EXT)
_s(Astc6x5x5RGBAUnorm) //, ASTC_6x5x5_UNORM_BLOCK) _s(Astc6x5x5RGBAUnorm) //, ASTC_6x5x5_UNORM_BLOCK)
_s(Astc6x5x5RGBASrgb) //, ASTC_6x5x5_SRGB_BLOCK) _s(Astc6x5x5RGBASrgb) //, ASTC_6x5x5_SRGB_BLOCK)
_s(Astc6x5x5RGBAF) //, ASTC_6x5x5_SFLOAT_BLOCK_EXT)
_s(Astc6x6x5RGBAUnorm) //, ASTC_6x6x5_UNORM_BLOCK) _s(Astc6x6x5RGBAUnorm) //, ASTC_6x6x5_UNORM_BLOCK)
_s(Astc6x6x5RGBASrgb) //, ASTC_6x6x5_SRGB_BLOCK) _s(Astc6x6x5RGBASrgb) //, ASTC_6x6x5_SRGB_BLOCK)
_s(Astc6x6x5RGBAF) //, ASTC_6x6x5_SFLOAT_BLOCK_EXT)
_s(Astc6x6x6RGBAUnorm) //, ASTC_6x6x6_UNORM_BLOCK) _s(Astc6x6x6RGBAUnorm) //, ASTC_6x6x6_UNORM_BLOCK)
_s(Astc6x6x6RGBASrgb) //, ASTC_6x6x6_SRGB_BLOCK) _s(Astc6x6x6RGBASrgb) //, ASTC_6x6x6_SRGB_BLOCK)
_s(Astc6x6x6RGBAF) //, ASTC_6x6x6_SFLOAT_BLOCK_EXT)
/* https://github.com/KhronosGroup/Vulkan-Docs/issues/512 */ /* https://github.com/KhronosGroup/Vulkan-Docs/issues/512 */
_c(PvrtcRGB2bppUnorm, PVRTC1_2BPP_UNORM_BLOCK_IMG) _c(PvrtcRGB2bppUnorm, PVRTC1_2BPP_UNORM_BLOCK_IMG)
_c(PvrtcRGB2bppSrgb, PVRTC1_2BPP_SRGB_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_storage_buffer_storage_class optional
extension KHR_variable_pointers optional extension KHR_variable_pointers optional
extension EXT_texture_compression_astc_hdr optional
extension IMG_format_pvrtc optional extension IMG_format_pvrtc optional
# kate: hl python # 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_SPEC_VERSION 1
#define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers" #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 */ /* VK_IMG_format_pvrtc */
#define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
@ -251,7 +256,7 @@ extern "C" {
// Vulkan 1.1 version number // 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 #define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0)// Patch version should always be set to 0
// Version of this file // Version of this file
#define VK_HEADER_VERSION 121 #define VK_HEADER_VERSION 123
#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
#if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE) #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__) #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_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_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_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_2BPP_UNORM_BLOCK_IMG = 1000054000,
VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001, VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002, 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_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_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_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; } VkStructureType;
typedef enum { typedef enum {
@ -3318,6 +3338,12 @@ typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures; typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
VkStructureType sType;
const void* pNext;
VkBool32 textureCompressionASTC_HDR;
} VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
/* I'll bite the bullet and expect that vkCreateInstance(), /* I'll bite the bullet and expect that vkCreateInstance(),
vkEnumerateInstanceExtensionProperties() and vkEnumerateInstanceLayerProperties() vkEnumerateInstanceExtensionProperties() and vkEnumerateInstanceLayerProperties()
functions can be loaded statically to avoid the need for a global functions can be loaded statically to avoid the need for a global

Loading…
Cancel
Save