diff options
author | Brian Paul <brianp@vmware.com> | 2009-01-02 16:32:26 -0700 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2009-01-02 16:32:26 -0700 |
commit | 0815ebccfc0a12d8f3e831928f1c4210b7f75ad8 (patch) | |
tree | 1e7db7e1d44e741215e5b4b11d33df91fe5b39a0 /src/mesa/shader/slang/slang_emit.c | |
parent | eb9bbc5265562cb6f93688fc027ea76f91601e37 (diff) | |
parent | 1fad6ccb756ae33ca3115f59c99ca8abbeb0321e (diff) |
Merge commit 'origin/master' into gallium-0.2
Conflicts:
src/mesa/main/ffvertex_prog.c
src/mesa/main/texenvprogram.c
Diffstat (limited to 'src/mesa/shader/slang/slang_emit.c')
-rw-r--r-- | src/mesa/shader/slang/slang_emit.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/mesa/shader/slang/slang_emit.c b/src/mesa/shader/slang/slang_emit.c index 500112b6f6..b7a3cfb617 100644 --- a/src/mesa/shader/slang/slang_emit.c +++ b/src/mesa/shader/slang/slang_emit.c @@ -1290,6 +1290,7 @@ emit_tex(slang_emit_info *emitInfo, slang_ir_node *n) /* Child[0] is the sampler (a uniform which'll indicate the texture unit) */ assert(n->Children[0]->Store); + assert(n->Children[0]->Store->File == PROGRAM_SAMPLER); /* Store->Index is the sampler index */ assert(n->Children[0]->Store->Index >= 0); /* Store->Size is the texture target */ @@ -1299,6 +1300,10 @@ emit_tex(slang_emit_info *emitInfo, slang_ir_node *n) inst->TexSrcTarget = n->Children[0]->Store->Size; inst->TexSrcUnit = n->Children[0]->Store->Index; /* i.e. uniform's index */ + /* mark the sampler as being used */ + _mesa_use_uniform(emitInfo->prog->Parameters, + (char *) n->Children[0]->Var->a_name); + return inst; } @@ -2104,7 +2109,8 @@ emit_var_ref(slang_emit_info *emitInfo, slang_ir_node *n) n->Store->Index = index; } - else if (n->Store->File == PROGRAM_UNIFORM) { + else if (n->Store->File == PROGRAM_UNIFORM || + n->Store->File == PROGRAM_SAMPLER) { /* mark var as used */ _mesa_use_uniform(emitInfo->prog->Parameters, (char *) n->Var->a_name); } |