summaryrefslogtreecommitdiffstats
path: root/src/mesa/shader/slang/slang_vartable.h
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2008-11-19 14:12:25 -0700
committerBrian Paul <[email protected]>2008-11-19 14:12:25 -0700
commitae0ff8097b85d3537a7be1674d55a44a9bd6018e (patch)
tree61c822bc84183fce03a329893daaf19d548eb278 /src/mesa/shader/slang/slang_vartable.h
parente709d68d92ef6f2392b118d0a22452e8f4c53e9a (diff)
mesa: rework GLSL array code generation
We now express arrays in terms of indirect addressing. For example: dst = a[i]; becomes: MOV dst, TEMP[1 + TEMP[2].y]; At instruction-emit time indirect addressing is converted into ARL/ ADDR-relative form: ARL ADDR.x, TEMP[2].y; MOV dst, TEMP[1 + ADDR.x]; This fixes a number of array-related issues. Arrays of arrays and complex array/struct nesting works now. There may be some regressions, but more work is coming.
Diffstat (limited to 'src/mesa/shader/slang/slang_vartable.h')
-rw-r--r--src/mesa/shader/slang/slang_vartable.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/mesa/shader/slang/slang_vartable.h b/src/mesa/shader/slang/slang_vartable.h
index 8a3b992c969..94bcd63f45a 100644
--- a/src/mesa/shader/slang/slang_vartable.h
+++ b/src/mesa/shader/slang/slang_vartable.h
@@ -2,7 +2,7 @@
#ifndef SLANG_VARTABLE_H
#define SLANG_VARTABLE_H
-struct _slang_ir_storage;
+struct slang_ir_storage_;
typedef struct slang_var_table_ slang_var_table;
@@ -27,16 +27,16 @@ extern struct slang_variable_ *
_slang_find_variable(const slang_var_table *t, slang_atom name);
extern GLboolean
-_slang_alloc_var(slang_var_table *t, struct _slang_ir_storage *store);
+_slang_alloc_var(slang_var_table *t, struct slang_ir_storage_ *store);
extern GLboolean
-_slang_alloc_temp(slang_var_table *t, struct _slang_ir_storage *store);
+_slang_alloc_temp(slang_var_table *t, struct slang_ir_storage_ *store);
extern void
-_slang_free_temp(slang_var_table *t, struct _slang_ir_storage *store);
+_slang_free_temp(slang_var_table *t, struct slang_ir_storage_ *store);
extern GLboolean
-_slang_is_temp(const slang_var_table *t, const struct _slang_ir_storage *store);
+_slang_is_temp(const slang_var_table *t, const struct slang_ir_storage_ *store);
#endif /* SLANG_VARTABLE_H */