summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/slang_emit.c
diff options
context:
space:
mode:
authorBrian <brian@yutani.localnet.net>2007-03-08 15:45:25 -0700
committerBrian <brian@yutani.localnet.net>2007-03-08 15:45:25 -0700
commit3e0fbc7efcebdbef5698a270bd0192335a2d556b (patch)
tree07bd12e3e84ba2ae403505822931641b1235a81f /src/mesa/shader/slang/slang_emit.c
parent19a90505487e69a50a947ed932b024c0f5ff2c5d (diff)
fix tmp storage problem for IR_I_TO_F
Diffstat (limited to 'src/mesa/shader/slang/slang_emit.c')
-rw-r--r--src/mesa/shader/slang/slang_emit.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mesa/shader/slang/slang_emit.c b/src/mesa/shader/slang/slang_emit.c
index a134bb9711..c90bf34183 100644
--- a/src/mesa/shader/slang/slang_emit.c
+++ b/src/mesa/shader/slang/slang_emit.c
@@ -1456,6 +1456,10 @@ emit(slang_emit_info *emitInfo, slang_ir_node *n)
/* just move */
emit(emitInfo, n->Children[0]);
inst = new_instruction(emitInfo, OPCODE_MOV);
+ if (!n->Store) {
+ if (!alloc_temp_storage(emitInfo, n, 1))
+ return NULL;
+ }
storage_to_dst_reg(&inst->DstReg, n->Store, n->Writemask);
storage_to_src_reg(&inst->SrcReg[0], n->Children[0]->Store);
if (emitInfo->EmitComments)