diff options
author | Alan Hourihane <alanh@tungstengraphics.com> | 2008-11-01 22:57:26 +0000 |
---|---|---|
committer | Alan Hourihane <alanh@tungstengraphics.com> | 2008-11-01 22:57:26 +0000 |
commit | 81c862205e32b163a9f5ecf3f59e4cdcccee36c6 (patch) | |
tree | 50a5f45f1a0823758e72968d1f1dfd6e0d1098e0 /src/mesa/shader/slang/slang_vartable.c | |
parent | 14e1505cce24ee294cb98683504cc4537c20f34a (diff) | |
parent | bbffed0857634912c7a1f13882eba303ae2bf4e1 (diff) |
Merge commit 'origin/master' into gallium-0.2
Conflicts:
src/mesa/shader/slang/library/slang_vertex_builtin_gc.h
Diffstat (limited to 'src/mesa/shader/slang/slang_vartable.c')
-rw-r--r-- | src/mesa/shader/slang/slang_vartable.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/mesa/shader/slang/slang_vartable.c b/src/mesa/shader/slang/slang_vartable.c index 9b607e6403..95971a70a9 100644 --- a/src/mesa/shader/slang/slang_vartable.c +++ b/src/mesa/shader/slang/slang_vartable.c @@ -115,6 +115,11 @@ _slang_pop_var_table(slang_var_table *vt) store->Index, _mesa_swizzle_string(store->Swizzle, 0, 0)); + if (store->File == PROGRAM_SAMPLER) { + /* samplers have no storage */ + continue; + } + if (store->Size == 1) comp = GET_SWZ(store->Swizzle, 0); else @@ -241,7 +246,15 @@ GLboolean _slang_alloc_var(slang_var_table *vt, slang_ir_storage *store) { struct table *t = vt->Top; - const int i = alloc_reg(vt, store->Size, GL_FALSE); + int i; + + if (store->File == PROGRAM_SAMPLER) { + /* don't really allocate storage */ + store->Index = 0; + return GL_TRUE; + } + + i = alloc_reg(vt, store->Size, GL_FALSE); if (i < 0) return GL_FALSE; |