gfxStringEnumTranslate.cpp 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419
  1. //-----------------------------------------------------------------------------
  2. // Copyright (c) 2012 GarageGames, LLC
  3. //
  4. // Permission is hereby granted, free of charge, to any person obtaining a copy
  5. // of this software and associated documentation files (the "Software"), to
  6. // deal in the Software without restriction, including without limitation the
  7. // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
  8. // sell copies of the Software, and to permit persons to whom the Software is
  9. // furnished to do so, subject to the following conditions:
  10. //
  11. // The above copyright notice and this permission notice shall be included in
  12. // all copies or substantial portions of the Software.
  13. //
  14. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  15. // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  16. // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  17. // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  18. // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  19. // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
  20. // IN THE SOFTWARE.
  21. //-----------------------------------------------------------------------------
  22. #include "core/strings/stringFunctions.h"
  23. #include "gfx/gfxStringEnumTranslate.h"
  24. #include "gfx/gfxAPI.h"
  25. #include "console/console.h"
  26. //------------------------------------------------------------------------------
  27. const char *GFXStringIndexFormat[GFXIndexFormat_COUNT];
  28. const char *GFXStringSamplerState[GFXSAMP_COUNT];
  29. const char *GFXStringTextureFormat[GFXFormat_COUNT];
  30. const char *GFXStringTiledTextureFormat[GFXFormat_COUNT];
  31. const char *GFXStringRenderTargetFormat[GFXFormat_COUNT];
  32. const char *GFXStringRenderState[GFXRenderState_COUNT];
  33. const char *GFXStringTextureFilter[GFXTextureFilter_COUNT];
  34. const char *GFXStringBlend[GFXBlend_COUNT];
  35. const char *GFXStringBlendOp[GFXBlendOp_COUNT];
  36. const char *GFXStringStencilOp[GFXStencilOp_COUNT];
  37. const char *GFXStringCmpFunc[GFXCmp_COUNT];
  38. const char *GFXStringCullMode[GFXCull_COUNT];
  39. const char *GFXStringPrimType[GFXPT_COUNT];
  40. const char *GFXStringTextureStageState[GFXTSS_COUNT];
  41. const char *GFXStringTextureAddress[GFXAddress_COUNT];
  42. const char *GFXStringTextureOp[GFXTOP_COUNT];
  43. const char *GFXStringFillMode[GFXFill_COUNT];
  44. StringValueLookupFn GFXStringRenderStateValueLookup[GFXRenderState_COUNT];
  45. StringValueLookupFn GFXStringSamplerStateValueLookup[GFXSAMP_COUNT];
  46. StringValueLookupFn GFXStringTextureStageStateValueLookup[GFXTSS_COUNT];
  47. //------------------------------------------------------------------------------
  48. const char *defaultStringValueLookup( const U32 &value )
  49. {
  50. static char retbuffer[256];
  51. dSprintf( retbuffer, sizeof( retbuffer ), "%d", value );
  52. return retbuffer;
  53. }
  54. #define _STRING_VALUE_LOOKUP_FXN( table ) \
  55. const char * table##_lookup( const U32 &value ) { return table[value]; }
  56. _STRING_VALUE_LOOKUP_FXN(GFXStringTextureAddress);
  57. _STRING_VALUE_LOOKUP_FXN(GFXStringTextureFilter);
  58. _STRING_VALUE_LOOKUP_FXN(GFXStringBlend);
  59. _STRING_VALUE_LOOKUP_FXN(GFXStringTextureOp);
  60. _STRING_VALUE_LOOKUP_FXN(GFXStringCmpFunc);
  61. _STRING_VALUE_LOOKUP_FXN(GFXStringStencilOp);
  62. _STRING_VALUE_LOOKUP_FXN(GFXStringCullMode);
  63. _STRING_VALUE_LOOKUP_FXN(GFXStringBlendOp);
  64. //------------------------------------------------------------------------------
  65. #define INIT_LOOKUPTABLE( tablearray, enumprefix, type ) \
  66. for( S32 i = enumprefix##_FIRST; i < enumprefix##_COUNT; i++ ) \
  67. tablearray[i] = (type)GFX_UNINIT_VAL;
  68. #define INIT_LOOKUPTABLE_EX( tablearray, enumprefix, type, typeTable ) \
  69. for( S32 i = enumprefix##_FIRST; i < enumprefix##_COUNT; i++ ) \
  70. {\
  71. tablearray[i] = (type)GFX_UNINIT_VAL;\
  72. typeTable[i] = &defaultStringValueLookup;\
  73. }
  74. #define VALIDATE_LOOKUPTABLE( tablearray, enumprefix ) \
  75. for( S32 i = enumprefix##_FIRST; i < enumprefix##_COUNT; i++ ) \
  76. if( (intptr_t)tablearray[i] == GFX_UNINIT_VAL ) \
  77. Con::warnf( "GFXStringEnumTranslate: Unassigned value in " #tablearray ": %i", i ); \
  78. else if( (intptr_t)tablearray[i] == GFX_UNSUPPORTED_VAL ) \
  79. Con::warnf( "GFXStringEnumTranslate: Unsupported value in " #tablearray ": %i", i );
  80. //------------------------------------------------------------------------------
  81. #define GFX_STRING_ASSIGN_MACRO( table, indexEnum ) table[indexEnum] = #indexEnum;
  82. #define GFX_STRING_ASSIGN_MACRO_EX( table, indexEnum, typeTable ) table[indexEnum] = #indexEnum; table##ValueLookup[indexEnum] = &typeTable##_lookup;
  83. void GFXStringEnumTranslate::init()
  84. {
  85. static bool sInitCalled = false;
  86. if( sInitCalled )
  87. return;
  88. sInitCalled = true;
  89. INIT_LOOKUPTABLE( GFXStringIndexFormat, GFXIndexFormat, const char * );
  90. GFX_STRING_ASSIGN_MACRO( GFXStringIndexFormat, GFXIndexFormat16 );
  91. GFX_STRING_ASSIGN_MACRO( GFXStringIndexFormat, GFXIndexFormat32 );
  92. VALIDATE_LOOKUPTABLE( GFXStringIndexFormat, GFXIndexFormat );
  93. //------------------------------------------------------------------------------
  94. //------------------------------------------------------------------------------
  95. INIT_LOOKUPTABLE_EX( GFXStringSamplerState, GFXSAMP, const char *, GFXStringSamplerStateValueLookup );
  96. GFX_STRING_ASSIGN_MACRO_EX( GFXStringSamplerState, GFXSAMPAddressU, GFXStringTextureAddress );
  97. GFX_STRING_ASSIGN_MACRO_EX( GFXStringSamplerState, GFXSAMPAddressV, GFXStringTextureAddress );
  98. GFX_STRING_ASSIGN_MACRO_EX( GFXStringSamplerState, GFXSAMPAddressW, GFXStringTextureAddress );
  99. GFX_STRING_ASSIGN_MACRO( GFXStringSamplerState, GFXSAMPBorderColor );
  100. GFX_STRING_ASSIGN_MACRO_EX( GFXStringSamplerState, GFXSAMPMagFilter, GFXStringTextureFilter );
  101. GFX_STRING_ASSIGN_MACRO_EX( GFXStringSamplerState, GFXSAMPMinFilter, GFXStringTextureFilter );
  102. GFX_STRING_ASSIGN_MACRO_EX( GFXStringSamplerState, GFXSAMPMipFilter, GFXStringTextureFilter );
  103. GFX_STRING_ASSIGN_MACRO( GFXStringSamplerState, GFXSAMPMipMapLODBias );
  104. GFX_STRING_ASSIGN_MACRO( GFXStringSamplerState, GFXSAMPMaxMipLevel );
  105. GFX_STRING_ASSIGN_MACRO( GFXStringSamplerState, GFXSAMPMaxAnisotropy );
  106. GFX_STRING_ASSIGN_MACRO( GFXStringSamplerState, GFXSAMPSRGBTexture );
  107. GFX_STRING_ASSIGN_MACRO( GFXStringSamplerState, GFXSAMPElementIndex );
  108. GFX_STRING_ASSIGN_MACRO( GFXStringSamplerState, GFXSAMPDMapOffset );
  109. VALIDATE_LOOKUPTABLE( GFXStringSamplerState, GFXSAMP );
  110. //------------------------------------------------------------------------------
  111. //------------------------------------------------------------------------------
  112. INIT_LOOKUPTABLE( GFXStringTextureFormat, GFXFormat, const char * );
  113. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatR8G8B8 );
  114. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatR8G8B8A8 );
  115. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatR8G8B8X8 );
  116. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatB8G8R8A8 );
  117. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatR32F );
  118. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatR5G6B5 );
  119. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatR5G5B5A1 );
  120. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatR5G5B5X1 );
  121. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatA4L4 );
  122. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatA8L8 );
  123. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatA8 );
  124. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatL8 );
  125. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatDXT1 );
  126. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatDXT2 );
  127. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatDXT3 );
  128. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatDXT4 );
  129. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatDXT5 );
  130. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatD32 );
  131. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatD24X8 );
  132. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatD24S8 );
  133. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatD24FS8 );
  134. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatD16 );
  135. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatR32G32B32A32F );
  136. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatR16G16B16A16F );
  137. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatL16 );
  138. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatR16G16B16A16 );
  139. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatR16G16 );
  140. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatR16F );
  141. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatR16G16F );
  142. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFormat, GFXFormatR10G10B10A2 );
  143. VALIDATE_LOOKUPTABLE( GFXStringTextureFormat, GFXFormat);
  144. //------------------------------------------------------------------------------
  145. //------------------------------------------------------------------------------
  146. INIT_LOOKUPTABLE_EX( GFXStringRenderState, GFXRenderState, const char *, GFXStringRenderStateValueLookup );
  147. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSZEnable );
  148. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSFillMode );
  149. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSZWriteEnable );
  150. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSAlphaTestEnable );
  151. GFX_STRING_ASSIGN_MACRO_EX( GFXStringRenderState, GFXRSSrcBlend, GFXStringBlend );
  152. GFX_STRING_ASSIGN_MACRO_EX( GFXStringRenderState, GFXRSDestBlend, GFXStringBlend );
  153. GFX_STRING_ASSIGN_MACRO_EX( GFXStringRenderState, GFXRSCullMode, GFXStringCullMode );
  154. GFX_STRING_ASSIGN_MACRO_EX( GFXStringRenderState, GFXRSZFunc, GFXStringCmpFunc );
  155. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSAlphaRef );
  156. GFX_STRING_ASSIGN_MACRO_EX( GFXStringRenderState, GFXRSAlphaFunc, GFXStringCmpFunc );
  157. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSAlphaBlendEnable );
  158. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSStencilEnable );
  159. GFX_STRING_ASSIGN_MACRO_EX( GFXStringRenderState, GFXRSStencilFail, GFXStringStencilOp );
  160. GFX_STRING_ASSIGN_MACRO_EX( GFXStringRenderState, GFXRSStencilZFail, GFXStringStencilOp );
  161. GFX_STRING_ASSIGN_MACRO_EX( GFXStringRenderState, GFXRSStencilPass, GFXStringStencilOp );
  162. GFX_STRING_ASSIGN_MACRO_EX( GFXStringRenderState, GFXRSStencilFunc, GFXStringCmpFunc );
  163. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSStencilRef );
  164. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSStencilMask );
  165. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSStencilWriteMask );
  166. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSWrap0 );
  167. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSWrap1 );
  168. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSWrap2 );
  169. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSWrap3 );
  170. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSWrap4 );
  171. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSWrap5 );
  172. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSWrap6 );
  173. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSWrap7 );
  174. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSClipPlaneEnable );
  175. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSPointSize );
  176. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSPointSizeMin );
  177. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSPointSize_Max );
  178. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSPointSpriteEnable );
  179. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSMultiSampleantiAlias );
  180. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSMultiSampleMask );
  181. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSShadeMode );
  182. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSLastPixel );
  183. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSClipping );
  184. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSPointScaleEnable );
  185. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSPointScale_A );
  186. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSPointScale_B );
  187. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSPointScale_C );
  188. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSLighting );
  189. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSAmbient );
  190. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSFogVertexMode );
  191. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSColorVertex );
  192. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSLocalViewer );
  193. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSNormalizeNormals );
  194. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSDiffuseMaterialSource );
  195. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSSpecularMaterialSource );
  196. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSAmbientMaterialSource );
  197. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSEmissiveMaterialSource );
  198. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSVertexBlend );
  199. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSFogEnable );
  200. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSSpecularEnable );
  201. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSFogColor );
  202. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSFogTableMode );
  203. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSFogStart );
  204. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSFogEnd );
  205. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSFogDensity );
  206. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSRangeFogEnable );
  207. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSDebugMonitorToken );
  208. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSIndexedVertexBlendEnable );
  209. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSTweenFactor );
  210. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSTextureFactor );
  211. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSPatchEdgeStyle );
  212. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSDitherEnable );
  213. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSColorWriteEnable );
  214. GFX_STRING_ASSIGN_MACRO_EX( GFXStringRenderState, GFXRSBlendOp, GFXStringBlendOp );
  215. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSPositionDegree );
  216. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSNormalDegree );
  217. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSAntiAliasedLineEnable );
  218. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSAdaptiveTess_X );
  219. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSAdaptiveTess_Y );
  220. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSdaptiveTess_Z );
  221. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSAdaptiveTess_W );
  222. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSEnableAdaptiveTesselation );
  223. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSScissorTestEnable );
  224. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSSlopeScaleDepthBias );
  225. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSMinTessellationLevel );
  226. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSMaxTessellationLevel );
  227. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSTwoSidedStencilMode );
  228. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSCCWStencilFail );
  229. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSCCWStencilZFail );
  230. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSCCWStencilPass );
  231. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSCCWStencilFunc );
  232. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSColorWriteEnable1 );
  233. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSColorWriteEnable2 );
  234. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSolorWriteEnable3 );
  235. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSBlendFactor );
  236. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSSRGBWriteEnable );
  237. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSDepthBias );
  238. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSWrap8 );
  239. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSWrap9 );
  240. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSWrap10 );
  241. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSWrap11 );
  242. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSWrap12 );
  243. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSWrap13 );
  244. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSWrap14 );
  245. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSWrap15 );
  246. GFX_STRING_ASSIGN_MACRO( GFXStringRenderState, GFXRSSeparateAlphaBlendEnable );
  247. GFX_STRING_ASSIGN_MACRO_EX( GFXStringRenderState, GFXRSSrcBlendAlpha, GFXStringBlend );
  248. GFX_STRING_ASSIGN_MACRO_EX( GFXStringRenderState, GFXRSDestBlendAlpha, GFXStringBlend );
  249. GFX_STRING_ASSIGN_MACRO_EX( GFXStringRenderState, GFXRSBlendOpAlpha, GFXStringBlendOp );
  250. VALIDATE_LOOKUPTABLE( GFXStringRenderState, GFXRenderState );
  251. //------------------------------------------------------------------------------
  252. //------------------------------------------------------------------------------
  253. INIT_LOOKUPTABLE( GFXStringTextureFilter, GFXTextureFilter, const char * );
  254. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFilter, GFXTextureFilterNone );
  255. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFilter, GFXTextureFilterPoint );
  256. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFilter, GFXTextureFilterLinear );
  257. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFilter, GFXTextureFilterAnisotropic );
  258. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFilter, GFXTextureFilterPyramidalQuad );
  259. GFX_STRING_ASSIGN_MACRO( GFXStringTextureFilter, GFXTextureFilterGaussianQuad );
  260. VALIDATE_LOOKUPTABLE( GFXStringTextureFilter, GFXTextureFilter );
  261. //------------------------------------------------------------------------------
  262. //------------------------------------------------------------------------------
  263. INIT_LOOKUPTABLE( GFXStringBlend, GFXBlend, const char * );
  264. GFX_STRING_ASSIGN_MACRO( GFXStringBlend, GFXBlendZero );
  265. GFX_STRING_ASSIGN_MACRO( GFXStringBlend, GFXBlendOne );
  266. GFX_STRING_ASSIGN_MACRO( GFXStringBlend, GFXBlendSrcColor );
  267. GFX_STRING_ASSIGN_MACRO( GFXStringBlend, GFXBlendInvSrcColor );
  268. GFX_STRING_ASSIGN_MACRO( GFXStringBlend, GFXBlendSrcAlpha );
  269. GFX_STRING_ASSIGN_MACRO( GFXStringBlend, GFXBlendInvSrcAlpha );
  270. GFX_STRING_ASSIGN_MACRO( GFXStringBlend, GFXBlendDestAlpha );
  271. GFX_STRING_ASSIGN_MACRO( GFXStringBlend, GFXBlendInvDestAlpha );
  272. GFX_STRING_ASSIGN_MACRO( GFXStringBlend, GFXBlendDestColor );
  273. GFX_STRING_ASSIGN_MACRO( GFXStringBlend, GFXBlendInvDestColor );
  274. GFX_STRING_ASSIGN_MACRO( GFXStringBlend, GFXBlendSrcAlphaSat );
  275. VALIDATE_LOOKUPTABLE( GFXStringBlend, GFXBlend );
  276. //------------------------------------------------------------------------------
  277. //------------------------------------------------------------------------------
  278. INIT_LOOKUPTABLE( GFXStringBlendOp, GFXBlendOp, const char * );
  279. GFX_STRING_ASSIGN_MACRO( GFXStringBlendOp, GFXBlendOpAdd );
  280. GFX_STRING_ASSIGN_MACRO( GFXStringBlendOp, GFXBlendOpSubtract );
  281. GFX_STRING_ASSIGN_MACRO( GFXStringBlendOp, GFXBlendOpRevSubtract );
  282. GFX_STRING_ASSIGN_MACRO( GFXStringBlendOp, GFXBlendOpMin );
  283. GFX_STRING_ASSIGN_MACRO( GFXStringBlendOp, GFXBlendOpMax );
  284. VALIDATE_LOOKUPTABLE( GFXStringBlendOp, GFXBlendOp );
  285. //------------------------------------------------------------------------------
  286. //------------------------------------------------------------------------------
  287. INIT_LOOKUPTABLE( GFXStringStencilOp, GFXStencilOp, const char * );
  288. GFX_STRING_ASSIGN_MACRO( GFXStringStencilOp, GFXStencilOpKeep );
  289. GFX_STRING_ASSIGN_MACRO( GFXStringStencilOp, GFXStencilOpZero );
  290. GFX_STRING_ASSIGN_MACRO( GFXStringStencilOp, GFXStencilOpReplace );
  291. GFX_STRING_ASSIGN_MACRO( GFXStringStencilOp, GFXStencilOpIncrSat );
  292. GFX_STRING_ASSIGN_MACRO( GFXStringStencilOp, GFXStencilOpDecrSat );
  293. GFX_STRING_ASSIGN_MACRO( GFXStringStencilOp, GFXStencilOpInvert );
  294. GFX_STRING_ASSIGN_MACRO( GFXStringStencilOp, GFXStencilOpIncr );
  295. GFX_STRING_ASSIGN_MACRO( GFXStringStencilOp, GFXStencilOpDecr );
  296. VALIDATE_LOOKUPTABLE( GFXStringStencilOp, GFXStencilOp );
  297. //------------------------------------------------------------------------------
  298. //------------------------------------------------------------------------------
  299. INIT_LOOKUPTABLE( GFXStringCmpFunc, GFXCmp, const char * );
  300. GFX_STRING_ASSIGN_MACRO( GFXStringCmpFunc, GFXCmpNever );
  301. GFX_STRING_ASSIGN_MACRO( GFXStringCmpFunc, GFXCmpLess );
  302. GFX_STRING_ASSIGN_MACRO( GFXStringCmpFunc, GFXCmpEqual );
  303. GFX_STRING_ASSIGN_MACRO( GFXStringCmpFunc, GFXCmpLessEqual );
  304. GFX_STRING_ASSIGN_MACRO( GFXStringCmpFunc, GFXCmpGreater );
  305. GFX_STRING_ASSIGN_MACRO( GFXStringCmpFunc, GFXCmpNotEqual );
  306. GFX_STRING_ASSIGN_MACRO( GFXStringCmpFunc, GFXCmpGreaterEqual );
  307. GFX_STRING_ASSIGN_MACRO( GFXStringCmpFunc, GFXCmpAlways );
  308. VALIDATE_LOOKUPTABLE( GFXStringCmpFunc, GFXCmp );
  309. //------------------------------------------------------------------------------
  310. //------------------------------------------------------------------------------
  311. INIT_LOOKUPTABLE( GFXStringCullMode, GFXCull, const char * );
  312. GFX_STRING_ASSIGN_MACRO( GFXStringCullMode, GFXCullNone );
  313. GFX_STRING_ASSIGN_MACRO( GFXStringCullMode, GFXCullCW );
  314. GFX_STRING_ASSIGN_MACRO( GFXStringCullMode, GFXCullCCW );
  315. VALIDATE_LOOKUPTABLE( GFXStringCullMode, GFXCull );
  316. //------------------------------------------------------------------------------
  317. //------------------------------------------------------------------------------
  318. INIT_LOOKUPTABLE( GFXStringPrimType, GFXPT, const char * );
  319. GFX_STRING_ASSIGN_MACRO( GFXStringPrimType, GFXPointList );
  320. GFX_STRING_ASSIGN_MACRO( GFXStringPrimType, GFXLineList );
  321. GFX_STRING_ASSIGN_MACRO( GFXStringPrimType, GFXLineStrip );
  322. GFX_STRING_ASSIGN_MACRO( GFXStringPrimType, GFXTriangleList );
  323. GFX_STRING_ASSIGN_MACRO( GFXStringPrimType, GFXTriangleStrip );
  324. GFX_STRING_ASSIGN_MACRO( GFXStringPrimType, GFXTriangleFan );
  325. VALIDATE_LOOKUPTABLE( GFXStringPrimType, GFXPT );
  326. //------------------------------------------------------------------------------
  327. //------------------------------------------------------------------------------
  328. INIT_LOOKUPTABLE_EX( GFXStringTextureStageState, GFXTSS, const char *, GFXStringTextureStageStateValueLookup );
  329. GFX_STRING_ASSIGN_MACRO_EX( GFXStringTextureStageState, GFXTSSColorOp, GFXStringTextureOp );
  330. GFX_STRING_ASSIGN_MACRO( GFXStringTextureStageState, GFXTSSColorArg1 );
  331. GFX_STRING_ASSIGN_MACRO( GFXStringTextureStageState, GFXTSSColorArg2 );
  332. GFX_STRING_ASSIGN_MACRO_EX( GFXStringTextureStageState, GFXTSSAlphaOp, GFXStringTextureOp );
  333. GFX_STRING_ASSIGN_MACRO( GFXStringTextureStageState, GFXTSSAlphaArg1 );
  334. GFX_STRING_ASSIGN_MACRO( GFXStringTextureStageState, GFXTSSAlphaArg2 );
  335. GFX_STRING_ASSIGN_MACRO( GFXStringTextureStageState, GFXTSSBumpEnvMat00 );
  336. GFX_STRING_ASSIGN_MACRO( GFXStringTextureStageState, GFXTSSBumpEnvMat01 );
  337. GFX_STRING_ASSIGN_MACRO( GFXStringTextureStageState, GFXTSSBumpEnvMat10 );
  338. GFX_STRING_ASSIGN_MACRO( GFXStringTextureStageState, GFXTSSBumpEnvMat11 );
  339. GFX_STRING_ASSIGN_MACRO( GFXStringTextureStageState, GFXTSSTexCoordIndex );
  340. GFX_STRING_ASSIGN_MACRO( GFXStringTextureStageState, GFXTSSBumpEnvlScale );
  341. GFX_STRING_ASSIGN_MACRO( GFXStringTextureStageState, GFXTSSBumpEnvlOffset );
  342. GFX_STRING_ASSIGN_MACRO( GFXStringTextureStageState, GFXTSSTextureTransformFlags );
  343. GFX_STRING_ASSIGN_MACRO( GFXStringTextureStageState, GFXTSSColorArg0 );
  344. GFX_STRING_ASSIGN_MACRO( GFXStringTextureStageState, GFXTSSAlphaArg0 );
  345. GFX_STRING_ASSIGN_MACRO( GFXStringTextureStageState, GFXTSSResultArg );
  346. GFX_STRING_ASSIGN_MACRO( GFXStringTextureStageState, GFXTSSConstant );
  347. VALIDATE_LOOKUPTABLE( GFXStringTextureStageState, GFXTSS );
  348. //------------------------------------------------------------------------------
  349. //------------------------------------------------------------------------------
  350. INIT_LOOKUPTABLE( GFXStringTextureAddress, GFXAddress, const char * );
  351. GFX_STRING_ASSIGN_MACRO( GFXStringTextureAddress, GFXAddressWrap );
  352. GFX_STRING_ASSIGN_MACRO( GFXStringTextureAddress, GFXAddressMirror );
  353. GFX_STRING_ASSIGN_MACRO( GFXStringTextureAddress, GFXAddressClamp );
  354. GFX_STRING_ASSIGN_MACRO( GFXStringTextureAddress, GFXAddressBorder );
  355. GFX_STRING_ASSIGN_MACRO( GFXStringTextureAddress, GFXAddressMirrorOnce );
  356. VALIDATE_LOOKUPTABLE(GFXStringTextureAddress, GFXAddress );
  357. //------------------------------------------------------------------------------
  358. //------------------------------------------------------------------------------
  359. INIT_LOOKUPTABLE( GFXStringTextureOp, GFXTOP, const char * );
  360. GFX_STRING_ASSIGN_MACRO( GFXStringTextureOp, GFXTOPDisable );
  361. GFX_STRING_ASSIGN_MACRO( GFXStringTextureOp, GFXTOPSelectARG1 );
  362. GFX_STRING_ASSIGN_MACRO( GFXStringTextureOp, GFXTOPSelectARG2 );
  363. GFX_STRING_ASSIGN_MACRO( GFXStringTextureOp, GFXTOPModulate );
  364. GFX_STRING_ASSIGN_MACRO( GFXStringTextureOp, GFXTOPModulate2X );
  365. GFX_STRING_ASSIGN_MACRO( GFXStringTextureOp, GFXTOPModulate4X );
  366. GFX_STRING_ASSIGN_MACRO( GFXStringTextureOp, GFXTOPAdd );
  367. GFX_STRING_ASSIGN_MACRO( GFXStringTextureOp, GFXTOPAddSigned );
  368. GFX_STRING_ASSIGN_MACRO( GFXStringTextureOp, GFXTOPAddSigned2X );
  369. GFX_STRING_ASSIGN_MACRO( GFXStringTextureOp, GFXTOPSubtract );
  370. GFX_STRING_ASSIGN_MACRO( GFXStringTextureOp, GFXTOPAddSmooth );
  371. GFX_STRING_ASSIGN_MACRO( GFXStringTextureOp, GFXTOPBlendDiffuseAlpha );
  372. GFX_STRING_ASSIGN_MACRO( GFXStringTextureOp, GFXTOPBlendTextureAlpha );
  373. GFX_STRING_ASSIGN_MACRO( GFXStringTextureOp, GFXTOPBlendFactorAlpha );
  374. GFX_STRING_ASSIGN_MACRO( GFXStringTextureOp, GFXTOPBlendTextureAlphaPM );
  375. GFX_STRING_ASSIGN_MACRO( GFXStringTextureOp, GFXTOPBlendCURRENTALPHA );
  376. GFX_STRING_ASSIGN_MACRO( GFXStringTextureOp, GFXTOPPreModulate );
  377. GFX_STRING_ASSIGN_MACRO( GFXStringTextureOp, GFXTOPModulateAlphaAddColor );
  378. GFX_STRING_ASSIGN_MACRO( GFXStringTextureOp, GFXTOPModulateColorAddAlpha );
  379. GFX_STRING_ASSIGN_MACRO( GFXStringTextureOp, GFXTOPModulateInvAlphaAddColor );
  380. GFX_STRING_ASSIGN_MACRO( GFXStringTextureOp, GFXTOPModulateInvColorAddAlpha );
  381. GFX_STRING_ASSIGN_MACRO( GFXStringTextureOp, GFXTOPBumpEnvMap );
  382. GFX_STRING_ASSIGN_MACRO( GFXStringTextureOp, GFXTOPBumpEnvMapLuminance );
  383. GFX_STRING_ASSIGN_MACRO( GFXStringTextureOp, GFXTOPDotProduct3 );
  384. GFX_STRING_ASSIGN_MACRO( GFXStringTextureOp, GFXTOPLERP );
  385. VALIDATE_LOOKUPTABLE( GFXStringTextureOp, GFXTOP );
  386. INIT_LOOKUPTABLE( GFXStringFillMode, GFXFill, const char * );
  387. GFX_STRING_ASSIGN_MACRO( GFXStringFillMode, GFXFillPoint );
  388. GFX_STRING_ASSIGN_MACRO( GFXStringFillMode, GFXFillWireframe );
  389. GFX_STRING_ASSIGN_MACRO( GFXStringFillMode, GFXFillSolid );
  390. VALIDATE_LOOKUPTABLE( GFXStringFillMode, GFXFill );
  391. }