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
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
SLANG_COMMON_FIXED_MAX\r
};\r
\r
-typedef enum\r
+enum\r
{\r
SLANG_VERTEX_FIXED_POSITION,\r
SLANG_VERTEX_FIXED_POINTSIZE,\r
SLANG_VERTEX_FIXED_MAX\r
};\r
\r
-typedef enum\r
+enum\r
{\r
SLANG_FRAGMENT_FIXED_FRAGCOORD,\r
SLANG_FRAGMENT_FIXED_FRONTFACING,\r
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