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]>2009-01-06 08:49:40 -0700
commite779e33261ca42c8acebac216e1b070782e730f2 (patch)
treed081a3ad45716255151dc44b2d3baf5f834666fb /src/mesa/shader/slang/slang_vartable.h
parentef4bd18a50ec9989fdcff97c10721e748e897c7b (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. (cherry picked from commit ae0ff8097b85d3537a7be1674d55a44a9bd6018e)
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 */