diff options
author | Brian Paul <brian.paul@tungstengraphics.com> | 2008-11-19 14:12:25 -0700 |
---|---|---|
committer | Brian Paul <brian.paul@tungstengraphics.com> | 2008-11-19 14:12:25 -0700 |
commit | ae0ff8097b85d3537a7be1674d55a44a9bd6018e (patch) | |
tree | 61c822bc84183fce03a329893daaf19d548eb278 /src/mesa/shader/program.c | |
parent | e709d68d92ef6f2392b118d0a22452e8f4c53e9a (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/program.c')
0 files changed, 0 insertions, 0 deletions