ShaderVariableDataType.defs.h 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. // Copyright (C) 2009-2021, Panagiotis Christopoulos Charitos and contributors.
  2. // All rights reserved.
  3. // Code licensed under the BSD License.
  4. // http://www.anki3d.org/LICENSE
  5. // ShaderVariableDataType defines
  6. // ANKI_SVDT_MACRO(capital, varType, baseType, rowCount, columnCount)
  7. #if defined(ANKI_SVDT_MACRO)
  8. ANKI_SVDT_MACRO(I8, I8, I8, 1, 1)
  9. ANKI_SVDT_MACRO(U8, U8, U8, 1, 1)
  10. ANKI_SVDT_MACRO(I16, I16, I16, 1, 1)
  11. ANKI_SVDT_MACRO(U16, U16, U16, 1, 1)
  12. ANKI_SVDT_MACRO(I32, I32, I32, 1, 1)
  13. ANKI_SVDT_MACRO(U32, U32, U32, 1, 1)
  14. ANKI_SVDT_MACRO(I64, I64, I64, 1, 1)
  15. ANKI_SVDT_MACRO(U64, U64, U64, 1, 1)
  16. ANKI_SVDT_MACRO(F16, F16, F16, 1, 1)
  17. ANKI_SVDT_MACRO(F32, F32, F32, 1, 1)
  18. ANKI_SVDT_MACRO(I8VEC2, I8Vec2, I8, 2, 1)
  19. ANKI_SVDT_MACRO(U8VEC2, U8Vec2, U8, 2, 1)
  20. ANKI_SVDT_MACRO(I16VEC2, I16Vec2, I16, 2, 1)
  21. ANKI_SVDT_MACRO(U16VEC2, U16Vec2, U16, 2, 1)
  22. ANKI_SVDT_MACRO(IVEC2, IVec2, I32, 2, 1)
  23. ANKI_SVDT_MACRO(UVEC2, UVec2, U32, 2, 1)
  24. ANKI_SVDT_MACRO(HVEC2, HVec2, F16, 2, 1)
  25. ANKI_SVDT_MACRO(VEC2, Vec2, F32, 2, 1)
  26. ANKI_SVDT_MACRO(I8VEC3, I8Vec3, I8, 3, 1)
  27. ANKI_SVDT_MACRO(U8VEC3, U8Vec3, U8, 3, 1)
  28. ANKI_SVDT_MACRO(I16VEC3, I16Vec3, I16, 3, 1)
  29. ANKI_SVDT_MACRO(U16VEC3, U16Vec3, U16, 3, 1)
  30. ANKI_SVDT_MACRO(IVEC3, IVec3, I32, 3, 1)
  31. ANKI_SVDT_MACRO(UVEC3, UVec3, U32, 3, 1)
  32. ANKI_SVDT_MACRO(HVEC3, HVec3, F16, 3, 1)
  33. ANKI_SVDT_MACRO(VEC3, Vec3, F32, 3, 1)
  34. ANKI_SVDT_MACRO(I8VEC4, I8Vec4, I8, 4, 1)
  35. ANKI_SVDT_MACRO(U8VEC4, U8Vec4, U8, 4, 1)
  36. ANKI_SVDT_MACRO(I16VEC4, I16Vec4, I16, 4, 1)
  37. ANKI_SVDT_MACRO(U16VEC4, U16Vec4, U16, 4, 1)
  38. ANKI_SVDT_MACRO(IVEC4, IVec4, I32, 4, 1)
  39. ANKI_SVDT_MACRO(UVEC4, UVec4, U32, 4, 1)
  40. ANKI_SVDT_MACRO(HVEC4, HVec4, F16, 4, 1)
  41. ANKI_SVDT_MACRO(VEC4, Vec4, F32, 4, 1)
  42. ANKI_SVDT_MACRO(MAT3, Mat3, F32, 3, 3)
  43. ANKI_SVDT_MACRO(MAT3X4, Mat3x4, F32, 3, 4)
  44. ANKI_SVDT_MACRO(MAT4, Mat4, F32, 4, 4)
  45. #endif
  46. #if defined(ANKI_SVDT_MACRO_OPAQUE)
  47. ANKI_SVDT_MACRO_OPAQUE(TEXTURE_1D, texture1D)
  48. ANKI_SVDT_MACRO_OPAQUE(TEXTURE_1D_ARRAY, texture1DArray)
  49. ANKI_SVDT_MACRO_OPAQUE(TEXTURE_2D, texture2D)
  50. ANKI_SVDT_MACRO_OPAQUE(TEXTURE_2D_ARRAY, texture2DArray)
  51. ANKI_SVDT_MACRO_OPAQUE(TEXTURE_3D, texture3D)
  52. ANKI_SVDT_MACRO_OPAQUE(TEXTURE_CUBE, textureCube)
  53. ANKI_SVDT_MACRO_OPAQUE(TEXTURE_CUBE_ARRAY, textureCubeArray)
  54. ANKI_SVDT_MACRO_OPAQUE(IMAGE_1D, image1D)
  55. ANKI_SVDT_MACRO_OPAQUE(IMAGE_1D_ARRAY, image1DArray)
  56. ANKI_SVDT_MACRO_OPAQUE(IMAGE_2D, image2D)
  57. ANKI_SVDT_MACRO_OPAQUE(IMAGE_2D_ARRAY, image2DArray)
  58. ANKI_SVDT_MACRO_OPAQUE(IMAGE_3D, image3D)
  59. ANKI_SVDT_MACRO_OPAQUE(IMAGE_CUBE, imageCube)
  60. ANKI_SVDT_MACRO_OPAQUE(IMAGE_CUBE_ARRAY, imageCubeArray)
  61. ANKI_SVDT_MACRO_OPAQUE(SAMPLER, sampler)
  62. #endif