WebGLInternalFormatsTable.h 5.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. // intentionally no include guard here.
  2. #ifndef HANDLE_WEBGL_INTERNAL_FORMAT
  3. #error This header is meant to be included by other files defining HANDLE_WEBGL_INTERNAL_FORMAT.
  4. #endif
  5. #define WEBGL_INTERNAL_FORMAT(effectiveinternalformat, unsizedinternalformat, type) \
  6. HANDLE_WEBGL_INTERNAL_FORMAT(LOCAL_GL_##effectiveinternalformat, \
  7. LOCAL_GL_##unsizedinternalformat, \
  8. LOCAL_GL_##type)
  9. // OpenGL ES 3.0.3, Table 3.2
  10. //
  11. // Maps effective internal formats to (unsized internal format, type) pairs.
  12. //
  13. // Effective int. fmt. Unsized int. fmt. Type
  14. WEBGL_INTERNAL_FORMAT(ALPHA8, ALPHA, UNSIGNED_BYTE)
  15. WEBGL_INTERNAL_FORMAT(LUMINANCE8, LUMINANCE, UNSIGNED_BYTE)
  16. WEBGL_INTERNAL_FORMAT(LUMINANCE8_ALPHA8, LUMINANCE_ALPHA, UNSIGNED_BYTE)
  17. WEBGL_INTERNAL_FORMAT(RGB8, RGB, UNSIGNED_BYTE)
  18. WEBGL_INTERNAL_FORMAT(RGBA4, RGBA, UNSIGNED_SHORT_4_4_4_4)
  19. WEBGL_INTERNAL_FORMAT(RGB5_A1, RGBA, UNSIGNED_SHORT_5_5_5_1)
  20. WEBGL_INTERNAL_FORMAT(RGBA8, RGBA, UNSIGNED_BYTE)
  21. WEBGL_INTERNAL_FORMAT(RGB10_A2, RGBA, UNSIGNED_INT_2_10_10_10_REV)
  22. WEBGL_INTERNAL_FORMAT(DEPTH_COMPONENT16, DEPTH_COMPONENT, UNSIGNED_SHORT)
  23. WEBGL_INTERNAL_FORMAT(DEPTH_COMPONENT24, DEPTH_COMPONENT, UNSIGNED_INT)
  24. WEBGL_INTERNAL_FORMAT(R8, RED, UNSIGNED_BYTE)
  25. WEBGL_INTERNAL_FORMAT(RG8, RG, UNSIGNED_BYTE)
  26. WEBGL_INTERNAL_FORMAT(R16F, RED, HALF_FLOAT)
  27. WEBGL_INTERNAL_FORMAT(R32F, RED, FLOAT)
  28. WEBGL_INTERNAL_FORMAT(RG16F, RG, HALF_FLOAT)
  29. WEBGL_INTERNAL_FORMAT(RG32F, RG, FLOAT)
  30. WEBGL_INTERNAL_FORMAT(R8I, RED_INTEGER, BYTE)
  31. WEBGL_INTERNAL_FORMAT(R8UI, RED_INTEGER, UNSIGNED_BYTE)
  32. WEBGL_INTERNAL_FORMAT(R16I, RED_INTEGER, SHORT)
  33. WEBGL_INTERNAL_FORMAT(R16UI, RED_INTEGER, UNSIGNED_SHORT)
  34. WEBGL_INTERNAL_FORMAT(R32I, RED_INTEGER, INT)
  35. WEBGL_INTERNAL_FORMAT(R32UI, RED_INTEGER, UNSIGNED_INT)
  36. WEBGL_INTERNAL_FORMAT(RG8I, RG_INTEGER, BYTE)
  37. WEBGL_INTERNAL_FORMAT(RG8UI, RG_INTEGER, UNSIGNED_BYTE)
  38. WEBGL_INTERNAL_FORMAT(RG16I, RG_INTEGER, SHORT)
  39. WEBGL_INTERNAL_FORMAT(RG16UI, RG_INTEGER, UNSIGNED_SHORT)
  40. WEBGL_INTERNAL_FORMAT(RG32I, RG_INTEGER, INT)
  41. WEBGL_INTERNAL_FORMAT(RG32UI, RG_INTEGER, UNSIGNED_INT)
  42. WEBGL_INTERNAL_FORMAT(RGBA32F, RGBA, FLOAT)
  43. WEBGL_INTERNAL_FORMAT(RGB32F, RGB, FLOAT)
  44. WEBGL_INTERNAL_FORMAT(ALPHA32F_EXT, ALPHA, FLOAT)
  45. WEBGL_INTERNAL_FORMAT(LUMINANCE32F_EXT, LUMINANCE, FLOAT)
  46. WEBGL_INTERNAL_FORMAT(LUMINANCE_ALPHA32F_EXT, LUMINANCE_ALPHA, FLOAT)
  47. WEBGL_INTERNAL_FORMAT(RGBA16F, RGBA, HALF_FLOAT)
  48. WEBGL_INTERNAL_FORMAT(RGB16F, RGB, HALF_FLOAT)
  49. WEBGL_INTERNAL_FORMAT(ALPHA16F_EXT, ALPHA, HALF_FLOAT)
  50. WEBGL_INTERNAL_FORMAT(LUMINANCE16F_EXT, LUMINANCE, HALF_FLOAT)
  51. WEBGL_INTERNAL_FORMAT(LUMINANCE_ALPHA16F_EXT, LUMINANCE_ALPHA, HALF_FLOAT)
  52. WEBGL_INTERNAL_FORMAT(DEPTH24_STENCIL8, DEPTH_STENCIL, UNSIGNED_INT_24_8)
  53. WEBGL_INTERNAL_FORMAT(R11F_G11F_B10F, RGB, UNSIGNED_INT_10F_11F_11F_REV)
  54. WEBGL_INTERNAL_FORMAT(RGB9_E5, RGB, UNSIGNED_INT_5_9_9_9_REV)
  55. WEBGL_INTERNAL_FORMAT(SRGB8, SRGB, UNSIGNED_BYTE)
  56. WEBGL_INTERNAL_FORMAT(SRGB8_ALPHA8, SRGB_ALPHA, UNSIGNED_BYTE)
  57. WEBGL_INTERNAL_FORMAT(DEPTH_COMPONENT32F, DEPTH_COMPONENT, FLOAT)
  58. WEBGL_INTERNAL_FORMAT(DEPTH32F_STENCIL8, DEPTH_STENCIL, FLOAT_32_UNSIGNED_INT_24_8_REV)
  59. WEBGL_INTERNAL_FORMAT(RGB565, RGB, UNSIGNED_SHORT_5_6_5)
  60. WEBGL_INTERNAL_FORMAT(RGBA32UI, RGBA_INTEGER, UNSIGNED_INT)
  61. WEBGL_INTERNAL_FORMAT(RGB32UI, RGB_INTEGER, UNSIGNED_INT)
  62. WEBGL_INTERNAL_FORMAT(RGBA16UI, RGBA_INTEGER, UNSIGNED_SHORT)
  63. WEBGL_INTERNAL_FORMAT(RGB16UI, RGB_INTEGER, UNSIGNED_SHORT)
  64. WEBGL_INTERNAL_FORMAT(RGBA8UI, RGBA_INTEGER, UNSIGNED_BYTE)
  65. WEBGL_INTERNAL_FORMAT(RGB8UI, RGB_INTEGER, UNSIGNED_BYTE)
  66. WEBGL_INTERNAL_FORMAT(RGBA32I, RGBA_INTEGER, INT)
  67. WEBGL_INTERNAL_FORMAT(RGB32I, RGB_INTEGER, INT)
  68. WEBGL_INTERNAL_FORMAT(RGBA16I, RGBA_INTEGER, SHORT)
  69. WEBGL_INTERNAL_FORMAT(RGB16I, RGB_INTEGER, SHORT)
  70. WEBGL_INTERNAL_FORMAT(RGBA8I, RGBA_INTEGER, BYTE)
  71. WEBGL_INTERNAL_FORMAT(RGB8I, RGB_INTEGER, BYTE)
  72. WEBGL_INTERNAL_FORMAT(R8_SNORM, RED, BYTE)
  73. WEBGL_INTERNAL_FORMAT(RG8_SNORM, RG, BYTE)
  74. WEBGL_INTERNAL_FORMAT(RGB8_SNORM, RGB, BYTE)
  75. WEBGL_INTERNAL_FORMAT(RGBA8_SNORM, RGBA, BYTE)
  76. WEBGL_INTERNAL_FORMAT(RGB10_A2UI, RGBA_INTEGER, UNSIGNED_INT_2_10_10_10_REV)
  77. #undef WEBGL_INTERNAL_FORMAT
  78. #undef HANDLE_WEBGL_INTERNAL_FORMAT