Module: Mesa Branch: 10.5 Commit: 4ab83eee98f48d9b48160da9bbe589750984297e URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4ab83eee98f48d9b48160da9bbe589750984297e
Author: Ilia Mirkin <[email protected]> Date: Wed Jun 17 22:18:09 2015 -0400 nvc0/ir: can't have a join on a load with an indirect source Triggers an INVALID_OPCODE warning on GK208. Seems rare enough to not warrant verification on other chips. Fixes the new piglits: ubo_array_indexing/fs-nonuniform-control-flow.shader_test ubo_array_indexing/vs-nonuniform-control-flow.shader_test Signed-off-by: Ilia Mirkin <[email protected]> Cc: "10.5 10.6" <[email protected]> (cherry picked from commit 36e3eb6a957f8f20ed187ec88a067fc65cb81432) --- src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp index 85ebd1c..6643d96 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp @@ -2203,7 +2203,7 @@ FlatteningPass::visit(BasicBlock *bb) insn->op != OP_LINTERP && // probably just nve4 insn->op != OP_PINTERP && // probably just nve4 ((insn->op != OP_LOAD && insn->op != OP_STORE) || - typeSizeof(insn->dType) <= 4) && + (typeSizeof(insn->dType) <= 4 && !insn->src(0).isIndirect(0))) && !insn->isNop()) { insn->join = 1; bb->remove(bb->getExit()); _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
