summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/slang_codegen.c
diff options
context:
space:
mode:
authorBrian Paul <brian.paul@tungstengraphics.com>2008-11-01 15:53:14 -0600
committerBrian Paul <brian.paul@tungstengraphics.com>2008-11-01 16:05:40 -0600
commit1e1ba54a94d4c0a0685c430bffad49d47cec15ca (patch)
tree7f91a6078f17632404b3647579c264179cfd5028 /src/mesa/shader/slang/slang_codegen.c
parent131d42573ce1fc120c8ef75634979b6206e1eb0a (diff)
mesa: fix assignment / parameter passing of sampler types
Diffstat (limited to 'src/mesa/shader/slang/slang_codegen.c')
-rw-r--r--src/mesa/shader/slang/slang_codegen.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/mesa/shader/slang/slang_codegen.c b/src/mesa/shader/slang/slang_codegen.c
index de7e96f167..d8a92e23c0 100644
--- a/src/mesa/shader/slang/slang_codegen.c
+++ b/src/mesa/shader/slang/slang_codegen.c
@@ -2439,12 +2439,6 @@ _slang_gen_var_decl(slang_assemble_ctx *A, slang_variable *var)
/*assert(!var->declared);*/
var->declared = GL_TRUE;
- if(is_sampler_type(&var->type)) {
- slang_info_log_error(A->log, "redeclaration of sampler '%s'",
- (char*) var->a_name);
- return NULL;
- }
-
n = new_node0(IR_VAR_DECL);
if (n) {
_slang_attach_storage(n, var);
@@ -2453,7 +2447,13 @@ _slang_gen_var_decl(slang_assemble_ctx *A, slang_variable *var)
assert(n->Store);
assert(n->Store->Index < 0);
- n->Store->File = PROGRAM_TEMPORARY;
+ if (is_sampler_type(&var->type)) {
+ n->Store->File = PROGRAM_SAMPLER;
+ }
+ else {
+ n->Store->File = PROGRAM_TEMPORARY;
+ }
+
n->Store->Size = _slang_sizeof_type_specifier(&n->Var->type.specifier);
if (n->Store->Size <= 0) {