summaryrefslogtreecommitdiff
path: root/sc/sh_enums.h
diff options
context:
space:
mode:
Diffstat (limited to 'sc/sh_enums.h')
-rw-r--r--sc/sh_enums.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/sc/sh_enums.h b/sc/sh_enums.h
new file mode 100644
index 0000000..8f3c2a5
--- /dev/null
+++ b/sc/sh_enums.h
@@ -0,0 +1,41 @@
+#ifndef sh_enums_h
+#define sh_enums_h
+
+#define shader_type_xmacro() \
+ x(fragment) \
+ x(vertex)
+
+typedef enum {
+#define x(n) shader_type_ ## n,
+shader_type_xmacro()
+#undef x
+ shader_type_count
+} Shader_Type;
+
+#define sprogram_type_xmacro() \
+ x(graphics)
+
+typedef enum {
+#define x(n) sprogram_type_ ## n,
+sprogram_type_xmacro()
+#undef x
+ sprogram_type_count
+} SProgram_Type;
+
+#define svariable_type_xmacro() \
+ x(float) \
+ x(vec2) \
+ x(vec3) \
+ x(vec4) \
+ x(mat2) \
+ x(mat3) \
+ x(mat4)
+
+typedef enum {
+#define x(n) svariable_type_ ## n,
+svariable_type_xmacro()
+#undef x
+ svariable_type_count
+} SVariable_Type;
+
+#endif