Mesa (master): nv50/ir: OP_JOIN is a flow instruction

Ilia Mirkin imirkin at kemper.freedesktop.org
Mon Jun 15 15:52:41 UTC 2015


Module: Mesa
Branch: master
Commit: 2e42deb29c878fb4c52aed6d2d54833aacba18ae
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2e42deb29c878fb4c52aed6d2d54833aacba18ae

Author: Jürgen Rühle <j-r at online.de>
Date:   Sat Jun  6 18:37:20 2015 +0200

nv50/ir: OP_JOIN is a flow instruction

OP_JOIN instructions are assumed to be flow instructions and mercilessly
casted to FlowInstruction.

This patch fixes an instance where an OP_JOIN is created as a plain
instruction. This can cause crashes in the ir printer.

[imirkin: add ->fixed = 1]
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>

---

 src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp
index 1ad0860..2c7f7e3 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp
@@ -887,7 +887,7 @@ NV50LoweringPreSSA::handleTXL(TexInstruction *i)
       }
    }
    bld.setPosition(joinBB, false);
-   bld.mkOp(OP_JOIN, TYPE_NONE, NULL);
+   bld.mkFlow(OP_JOIN, NULL, CC_ALWAYS, NULL)->fixed = 1;
    return true;
 }
 




More information about the mesa-commit mailing list