mojoshader.c
changeset 1255 0135d797e287
parent 1254 422f68756c9f
child 1261 3405ca546164
--- a/mojoshader.c	Mon May 04 09:55:32 2020 -0400
+++ b/mojoshader.c	Thu May 21 12:00:55 2020 -0400
@@ -236,6 +236,15 @@
 PREDECLARE_PROFILE(D3D)
 #endif
 
+#if !SUPPORT_PROFILE_HLSL
+#define PROFILE_EMITTER_HLSL(op)
+#else
+#undef AT_LEAST_ONE_PROFILE
+#define AT_LEAST_ONE_PROFILE 1
+#define PROFILE_EMITTER_HLSL(op) emit_HLSL_##op,
+PREDECLARE_PROFILE(HLSL)
+#endif
+
 #if !SUPPORT_PROFILE_GLSL
 #define PROFILE_EMITTER_GLSL(op)
 #else
@@ -300,6 +309,9 @@
 #if SUPPORT_PROFILE_BYTECODE
     DEFINE_PROFILE(BYTECODE)
 #endif
+#if SUPPORT_PROFILE_HLSL
+    DEFINE_PROFILE(HLSL)
+#endif
 #if SUPPORT_PROFILE_GLSL
     DEFINE_PROFILE(GLSL)
 #endif
@@ -331,6 +343,7 @@
 #define PROFILE_EMITTERS(op) { \
      PROFILE_EMITTER_D3D(op) \
      PROFILE_EMITTER_BYTECODE(op) \
+     PROFILE_EMITTER_HLSL(op) \
      PROFILE_EMITTER_GLSL(op) \
      PROFILE_EMITTER_ARB1(op) \
      PROFILE_EMITTER_METAL(op) \
@@ -3866,6 +3879,7 @@
     #define PROFILE_SHADER_MODEL(p,v) if (strcmp(profile, p) == 0) return v;
     PROFILE_SHADER_MODEL(MOJOSHADER_PROFILE_D3D, 3);
     PROFILE_SHADER_MODEL(MOJOSHADER_PROFILE_BYTECODE, 3);
+    PROFILE_SHADER_MODEL(MOJOSHADER_PROFILE_HLSL, 3);
     PROFILE_SHADER_MODEL(MOJOSHADER_PROFILE_GLSL, 3);
     PROFILE_SHADER_MODEL(MOJOSHADER_PROFILE_GLSL120, 3);
     PROFILE_SHADER_MODEL(MOJOSHADER_PROFILE_GLSLES, 3);