Module: Mesa Branch: staging/20.0 Commit: cb7517be47c27478f5c12180c8ea0e8cf05d5104 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cb7517be47c27478f5c12180c8ea0e8cf05d5104
Author: Rhys Perry <[email protected]> Date: Fri Jan 31 12:40:51 2020 +0000 aco: set has_divergent_branch for discards in loops Signed-off-by: Rhys Perry <[email protected]> CC: <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3658> (cherry picked from commit f1a2e1df7882e9d3816f28d6a0827d4ac66ac8f6) --- .pick_status.json | 2 +- src/amd/compiler/aco_instruction_selection.cpp | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index 2466e1e097c..2b97427be4b 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -508,7 +508,7 @@ "description": "aco: set has_divergent_branch for discards in loops", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": null }, diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp index c5bb4f12dba..8abcb878bfb 100644 --- a/src/amd/compiler/aco_instruction_selection.cpp +++ b/src/amd/compiler/aco_instruction_selection.cpp @@ -3958,6 +3958,9 @@ void visit_discard(isel_context* ctx, nir_intrinsic_instr *instr) ctx->block->kind |= block_kind_break; unsigned idx = ctx->block->index; + ctx->cf_info.parent_loop.has_divergent_branch = true; + ctx->cf_info.nir_to_aco[instr->instr.block->index] = idx; + /* remove critical edges from linear CFG */ bld.branch(aco_opcode::p_branch); Block* break_block = ctx->program->create_and_insert_block(); _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
