fix tmp storage problem for IR_I_TO_F
authorBrian <brian@yutani.localnet.net>
Thu, 8 Mar 2007 22:45:25 +0000 (15:45 -0700)
committerBrian <brian@yutani.localnet.net>
Thu, 8 Mar 2007 22:45:25 +0000 (15:45 -0700)
src/mesa/shader/slang/slang_emit.c

index a134bb97110884ffdbb41ed54ce21ddc7f8da144..c90bf34183b3961d0127f3159c4fec93e2f5265c 100644 (file)
@@ -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)