For all instructions with 3 sources (like OP_SLCT), src2 needs to be destroyed because srcExists(2) will return true although it's actually undefined.
Spotted with my ADD3 series. Signed-off-by: Samuel Pitoiset <[email protected]> --- src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp index 9cf6ddc..ef31436 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp @@ -772,6 +772,7 @@ ConstantFolding::expr(Instruction *i, break; default: i->op = i->saturate ? OP_SAT : OP_MOV; /* SAT handled by unary() */ + i->setSrc(2, NULL); break; } i->subOp = 0; -- 2.10.2 _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
