AzslcPredefinedTypes.h 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #pragma once
  9. // THIS FILE IS AUTO-GENERATED BY exportKeywords.py
  10. #include <array>
  11. #include <tuple>
  12. namespace AZ::ShaderCompiler::Predefined
  13. {
  14. static constexpr std::array<const char*, 3> Buffer = {
  15. "Buffer",
  16. "RWBuffer",
  17. "RasterizerOrderedBuffer"};
  18. static constexpr std::array<const char*, 3> ByteAddressBuffer = {
  19. "ByteAddressBuffer",
  20. "RWByteAddressBuffer",
  21. "RasterizerOrderedByteAddressBuffer"};
  22. static constexpr std::array<const char*, 2> ConstantBuffer = {
  23. "ConstantBuffer",
  24. "constantbuffer"};
  25. static constexpr std::array<const char*, 9> LibrarySubobject = {
  26. "GlobalRootSignature",
  27. "LocalRootSignature",
  28. "ProceduralPrimitiveHitGroup",
  29. "RaytracingPipelineConfig",
  30. "RaytracingPipelineConfig1",
  31. "RaytracingShaderConfig",
  32. "StateObjectConfig",
  33. "SubobjectToExportsAssociation",
  34. "TriangleHitGroup"};
  35. static constexpr std::array<const char*, 113> Matrix = {
  36. "bool1x1",
  37. "bool1x2",
  38. "bool1x3",
  39. "bool1x4",
  40. "bool2x1",
  41. "bool2x2",
  42. "bool2x3",
  43. "bool2x4",
  44. "bool3x1",
  45. "bool3x2",
  46. "bool3x3",
  47. "bool3x4",
  48. "bool4x1",
  49. "bool4x2",
  50. "bool4x3",
  51. "bool4x4",
  52. "double1x1",
  53. "double1x2",
  54. "double1x3",
  55. "double1x4",
  56. "double2x1",
  57. "double2x2",
  58. "double2x3",
  59. "double2x4",
  60. "double3x1",
  61. "double3x2",
  62. "double3x3",
  63. "double3x4",
  64. "double4x1",
  65. "double4x2",
  66. "double4x3",
  67. "double4x4",
  68. "dword1x1",
  69. "dword1x2",
  70. "dword1x3",
  71. "dword1x4",
  72. "dword2x1",
  73. "dword2x2",
  74. "dword2x3",
  75. "dword2x4",
  76. "dword3x1",
  77. "dword3x2",
  78. "dword3x3",
  79. "dword3x4",
  80. "dword4x1",
  81. "dword4x2",
  82. "dword4x3",
  83. "dword4x4",
  84. "float1x1",
  85. "float1x2",
  86. "float1x3",
  87. "float1x4",
  88. "float2x1",
  89. "float2x2",
  90. "float2x3",
  91. "float2x4",
  92. "float3x1",
  93. "float3x2",
  94. "float3x3",
  95. "float3x4",
  96. "float4x1",
  97. "float4x2",
  98. "float4x3",
  99. "float4x4",
  100. "half1x1",
  101. "half1x2",
  102. "half1x3",
  103. "half1x4",
  104. "half2x1",
  105. "half2x2",
  106. "half2x3",
  107. "half2x4",
  108. "half3x1",
  109. "half3x2",
  110. "half3x3",
  111. "half3x4",
  112. "half4x1",
  113. "half4x2",
  114. "half4x3",
  115. "half4x4",
  116. "int1x1",
  117. "int1x2",
  118. "int1x3",
  119. "int1x4",
  120. "int2x1",
  121. "int2x2",
  122. "int2x3",
  123. "int2x4",
  124. "int3x1",
  125. "int3x2",
  126. "int3x3",
  127. "int3x4",
  128. "int4x1",
  129. "int4x2",
  130. "int4x3",
  131. "int4x4",
  132. "matrix",
  133. "uint1x1",
  134. "uint1x2",
  135. "uint1x3",
  136. "uint1x4",
  137. "uint2x1",
  138. "uint2x2",
  139. "uint2x3",
  140. "uint2x4",
  141. "uint3x1",
  142. "uint3x2",
  143. "uint3x3",
  144. "uint3x4",
  145. "uint4x1",
  146. "uint4x2",
  147. "uint4x3",
  148. "uint4x4"};
  149. static constexpr std::array<const char*, 2> MultisampledTexture = {
  150. "Texture2DMS",
  151. "Texture2DMSArray"};
  152. static constexpr std::array<const char*, 2> OtherPredefined = {
  153. "BuiltInTriangleIntersectionAttributes",
  154. "RayDesc"};
  155. static constexpr std::array<const char*, 1> OtherViewBufferType = {
  156. "RaytracingAccelerationStructure"};
  157. static constexpr std::array<const char*, 4> Sampler = {
  158. "Sampler",
  159. "SamplerComparisonState",
  160. "SamplerState",
  161. "sampler"};
  162. static constexpr std::array<const char*, 8> Scalar = {
  163. "bool",
  164. "double",
  165. "dword",
  166. "float",
  167. "half",
  168. "int",
  169. "uint",
  170. "unsigned int"};
  171. static constexpr std::array<const char*, 3> StreamOutput = {
  172. "LineStream",
  173. "PointStream",
  174. "TriangleStream"};
  175. static constexpr std::array<const char*, 5> StructuredBuffer = {
  176. "AppendStructuredBuffer",
  177. "ConsumeStructuredBuffer",
  178. "RWStructuredBuffer",
  179. "RasterizerOrderedStructuredBuffer",
  180. "StructuredBuffer"};
  181. static constexpr std::array<const char*, 19> Texture = {
  182. "RWTexture1D",
  183. "RWTexture1DArray",
  184. "RWTexture2D",
  185. "RWTexture2DArray",
  186. "RWTexture3D",
  187. "RasterizerOrderedTexture1D",
  188. "RasterizerOrderedTexture1DArray",
  189. "RasterizerOrderedTexture2D",
  190. "RasterizerOrderedTexture2DArray",
  191. "RasterizerOrderedTexture3D",
  192. "SubpassInput",
  193. "SubpassInputMS",
  194. "Texture1D",
  195. "Texture1DArray",
  196. "Texture2D",
  197. "Texture2DArray",
  198. "Texture3D",
  199. "TextureCube",
  200. "TextureCubeArray"};
  201. static constexpr std::array<const char*, 29> Vector = {
  202. "bool1",
  203. "bool2",
  204. "bool3",
  205. "bool4",
  206. "double1",
  207. "double2",
  208. "double3",
  209. "double4",
  210. "dword1",
  211. "dword2",
  212. "dword3",
  213. "dword4",
  214. "float1",
  215. "float2",
  216. "float3",
  217. "float4",
  218. "half1",
  219. "half2",
  220. "half3",
  221. "half4",
  222. "int1",
  223. "int2",
  224. "int3",
  225. "int4",
  226. "uint1",
  227. "uint2",
  228. "uint3",
  229. "uint4",
  230. "vector"};
  231. static constexpr std::array<const char*, 1> Void = {
  232. "void"};
  233. template<size_t N> struct Bag { const char* m_name = nullptr; const std::array<const char*, N> m_bag; };
  234. static constexpr auto All = std::make_tuple(Bag<3>{"Buffer", Buffer},
  235. Bag<3>{"ByteAddressBuffer", ByteAddressBuffer},
  236. Bag<2>{"ConstantBuffer", ConstantBuffer},
  237. Bag<9>{"LibrarySubobject", LibrarySubobject},
  238. Bag<113>{"Matrix", Matrix},
  239. Bag<2>{"MultisampledTexture", MultisampledTexture},
  240. Bag<2>{"OtherPredefined", OtherPredefined},
  241. Bag<1>{"OtherViewBufferType", OtherViewBufferType},
  242. Bag<4>{"Sampler", Sampler},
  243. Bag<8>{"Scalar", Scalar},
  244. Bag<3>{"StreamOutput", StreamOutput},
  245. Bag<5>{"StructuredBuffer", StructuredBuffer},
  246. Bag<19>{"Texture", Texture},
  247. Bag<29>{"Vector", Vector},
  248. Bag<1>{"Void", Void});
  249. };