summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/slang_link.h
diff options
context:
space:
mode:
authorMichal Krol <mjkrol@gmail.org>2006-03-14 11:23:16 +0000
committerMichal Krol <mjkrol@gmail.org>2006-03-14 11:23:16 +0000
commit8af48fc4d62798dbcc00bcfbbd8bc8f3b47982c7 (patch)
treed663fe97399b7564f5f8e21b6a3f695c004babc8 /src/mesa/shader/slang/slang_link.h
parente9484e40858ffd4474571b27136e7ea0f2b682db (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.h32
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 5f8c4e7335..faebae625e 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 *);