summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nv50/nv50_pc_optimize.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/nv50/nv50_pc_optimize.c')
-rw-r--r--src/gallium/drivers/nv50/nv50_pc_optimize.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/gallium/drivers/nv50/nv50_pc_optimize.c b/src/gallium/drivers/nv50/nv50_pc_optimize.c
index fb95da30f2..1ed5032175 100644
--- a/src/gallium/drivers/nv50/nv50_pc_optimize.c
+++ b/src/gallium/drivers/nv50/nv50_pc_optimize.c
@@ -636,6 +636,15 @@ constant_operand(struct nv_pc *pc,
default:
break;
}
+
+ if (nvi->opcode == NV_OP_MOV && nvi->flags_def) {
+ struct nv_instruction *cvt = new_instruction_at(pc, nvi, NV_OP_CVT);
+
+ nv_reference(pc, &cvt->src[0], nvi->def[0]);
+
+ cvt->flags_def = nvi->flags_def;
+ nvi->flags_def = NULL;
+ }
}
static int