updated some printfs, added comment about sched_yield
[mesa.git] / src / mesa / shader / slang / slang_link.h
index 2f4fd254ceca4b62612465aa6fd4c23c5177a39f..1592aefe2ecf88c801f62e0827eadfa799f4e302 100644 (file)
 extern "C" {\r
 #endif\r
 \r
-typedef enum\r
+enum\r
 {\r
-       SLANG_UNIFORM_BINDING_VERTEX,\r
-       SLANG_UNIFORM_BINDING_FRAGMENT,\r
-       SLANG_UNIFORM_BINDING_MAX\r
+       SLANG_SHADER_VERTEX,\r
+       SLANG_SHADER_FRAGMENT,\r
+       SLANG_SHADER_MAX\r
 };\r
 \r
 typedef struct\r
 {\r
        slang_export_data_quant *quant;\r
        char *name;\r
-       GLuint address[SLANG_UNIFORM_BINDING_MAX];\r
+       GLuint address[SLANG_SHADER_MAX];\r
 } slang_uniform_binding;\r
 \r
 typedef struct\r
@@ -63,7 +63,22 @@ typedef struct
        GLuint count;\r
 } slang_active_uniforms;\r
 \r
-typedef enum\r
+typedef struct\r
+{\r
+       slang_export_data_quant *quant;\r
+       GLuint frag_address;\r
+} slang_texture_usage;\r
+\r
+typedef struct\r
+{\r
+       slang_texture_usage *table;\r
+       GLuint count;\r
+} slang_texture_usages;\r
+\r
+GLvoid slang_texture_usages_ctr (slang_texture_usages *);\r
+GLvoid slang_texture_usages_dtr (slang_texture_usages *);\r
+\r
+enum\r
 {\r
        SLANG_COMMON_FIXED_MODELVIEWMATRIX,\r
        SLANG_COMMON_FIXED_PROJECTIONMATRIX,\r
@@ -107,7 +122,7 @@ typedef enum
        SLANG_COMMON_FIXED_MAX\r
 };\r
 \r
-typedef enum\r
+enum\r
 {\r
        SLANG_VERTEX_FIXED_POSITION,\r
        SLANG_VERTEX_FIXED_POINTSIZE,\r
@@ -134,7 +149,7 @@ typedef enum
        SLANG_VERTEX_FIXED_MAX\r
 };\r
 \r
-typedef enum\r
+enum\r
 {\r
        SLANG_FRAGMENT_FIXED_FRAGCOORD,\r
        SLANG_FRAGMENT_FIXED_FRONTFACING,\r
@@ -148,16 +163,23 @@ typedef enum
        SLANG_FRAGMENT_FIXED_MAX\r
 };\r
 \r
+enum\r
+{\r
+       SLANG_COMMON_CODE_MAIN,\r
+       SLANG_COMMON_CODE_MAX\r
+};\r
+\r
 typedef struct\r
 {\r
        slang_uniform_bindings uniforms;\r
        slang_active_uniforms active_uniforms;\r
-       GLuint common_fixed_entries[SLANG_UNIFORM_BINDING_MAX][SLANG_COMMON_FIXED_MAX];\r
+       slang_texture_usages texture_usage;\r
+       GLuint common_fixed_entries[SLANG_SHADER_MAX][SLANG_COMMON_FIXED_MAX];\r
        GLuint vertex_fixed_entries[SLANG_VERTEX_FIXED_MAX];\r
        GLuint fragment_fixed_entries[SLANG_FRAGMENT_FIXED_MAX];\r
-       GLuint code[SLANG_UNIFORM_BINDING_MAX];\r
-       slang_machine *machines[SLANG_UNIFORM_BINDING_MAX];\r
-       slang_assembly_file *assemblies[SLANG_UNIFORM_BINDING_MAX];\r
+       GLuint code[SLANG_SHADER_MAX][SLANG_COMMON_CODE_MAX];\r
+       slang_machine *machines[SLANG_SHADER_MAX];\r
+       slang_assembly_file *assemblies[SLANG_SHADER_MAX];\r
 } slang_program;\r
 \r
 GLvoid slang_program_ctr (slang_program *);\r