diff options
author | Michal Krol <[email protected]> | 2006-03-14 11:23:16 +0000 |
---|---|---|
committer | Michal Krol <[email protected]> | 2006-03-14 11:23:16 +0000 |
commit | 8af48fc4d62798dbcc00bcfbbd8bc8f3b47982c7 (patch) | |
tree | d663fe97399b7564f5f8e21b6a3f695c004babc8 /src/mesa/shader/slang/slang_link.h | |
parent | e9484e40858ffd4474571b27136e7ea0f2b682db (diff) |
More GLSL code:
- add texture sampling support;
- fix assembly codegen bugs;
Diffstat (limited to 'src/mesa/shader/slang/slang_link.h')
-rw-r--r-- | src/mesa/shader/slang/slang_link.h | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/src/mesa/shader/slang/slang_link.h b/src/mesa/shader/slang/slang_link.h index 5f8c4e73351..faebae625ea 100644 --- a/src/mesa/shader/slang/slang_link.h +++ b/src/mesa/shader/slang/slang_link.h @@ -42,7 +42,7 @@ typedef struct {
slang_export_data_quant *quant;
char *name;
- GLuint address[SLANG_UNIFORM_BINDING_MAX];
+ GLuint address[SLANG_SHADER_MAX];
} slang_uniform_binding;
typedef struct
@@ -63,6 +63,21 @@ typedef struct GLuint count;
} slang_active_uniforms;
+typedef struct
+{
+ slang_export_data_quant *quant;
+ GLuint frag_address;
+} slang_texture_usage;
+
+typedef struct
+{
+ slang_texture_usage *table;
+ GLuint count;
+} slang_texture_usages;
+
+GLvoid slang_texture_usages_ctr (slang_texture_usages *);
+GLvoid slang_texture_usages_dtr (slang_texture_usages *);
+
enum
{
SLANG_COMMON_FIXED_MODELVIEWMATRIX,
@@ -148,16 +163,23 @@ enum SLANG_FRAGMENT_FIXED_MAX
};
+enum
+{
+ SLANG_COMMON_CODE_MAIN,
+ SLANG_COMMON_CODE_MAX
+};
+
typedef struct
{
slang_uniform_bindings uniforms;
slang_active_uniforms active_uniforms;
- GLuint common_fixed_entries[SLANG_UNIFORM_BINDING_MAX][SLANG_COMMON_FIXED_MAX];
+ slang_texture_usages texture_usage;
+ GLuint common_fixed_entries[SLANG_SHADER_MAX][SLANG_COMMON_FIXED_MAX];
GLuint vertex_fixed_entries[SLANG_VERTEX_FIXED_MAX];
GLuint fragment_fixed_entries[SLANG_FRAGMENT_FIXED_MAX];
- GLuint code[SLANG_UNIFORM_BINDING_MAX];
- slang_machine *machines[SLANG_UNIFORM_BINDING_MAX];
- slang_assembly_file *assemblies[SLANG_UNIFORM_BINDING_MAX];
+ GLuint code[SLANG_SHADER_MAX][SLANG_COMMON_CODE_MAX];
+ slang_machine *machines[SLANG_SHADER_MAX];
+ slang_assembly_file *assemblies[SLANG_SHADER_MAX];
} slang_program;
GLvoid slang_program_ctr (slang_program *);
|