diff options
author | Brian <brian@yutani.localnet.net> | 2007-02-20 16:56:49 -0700 |
---|---|---|
committer | Brian <brian@yutani.localnet.net> | 2007-02-20 16:56:49 -0700 |
commit | 760c114b24fd679bb5c5d386c5935f53ef03e8e5 (patch) | |
tree | 3fce0ba95f817842a89c950bb587b266ca7b3186 /src/mesa/shader/slang/slang_emit.c | |
parent | 10f42ddb9ea75fcce05d5777e8c64cdf42152ff2 (diff) |
alloc IR_FIELD's Storage in codegen, like IR_ELEMENT
Diffstat (limited to 'src/mesa/shader/slang/slang_emit.c')
-rw-r--r-- | src/mesa/shader/slang/slang_emit.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/mesa/shader/slang/slang_emit.c b/src/mesa/shader/slang/slang_emit.c index 67cf9c32d4..c174f7b6b4 100644 --- a/src/mesa/shader/slang/slang_emit.c +++ b/src/mesa/shader/slang/slang_emit.c @@ -1319,16 +1319,17 @@ emit_field(slang_var_table *vt, slang_ir_node *n, struct gl_program *prog) /* state variable sub-field */ GLint pos; GLuint swizzle; + assert(n->Children[0]->Opcode == IR_VAR); pos = _slang_lookup_statevar_field((char *) n->Children[0]->Var->a_name, n->Target, prog->Parameters, &swizzle); if (pos < 0) { RETURN_ERROR2("Undefined structure member", n->Target, 0); } - - n->Store = _slang_new_ir_storage(PROGRAM_STATE_VAR, pos, 4);/*XXX size*/ - if (n->Store) - n->Store->Swizzle = swizzle; + assert(n->Store); + assert(n->Store->File == PROGRAM_STATE_VAR); + n->Store->Index = pos; + n->Store->Swizzle = swizzle; } /* |