Module: Mesa Branch: staging/20.0 Commit: 52ad2d9bb279ecf38031bb8b5ec578379da21245 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=52ad2d9bb279ecf38031bb8b5ec578379da21245
Author: Pierre-Eric Pelloux-Prayer <[email protected]> Date: Mon May 4 10:50:47 2020 +0200 radeonsi: fix export count Fixes: 17acff01a00 ("radeonsi: skip vs output optimizations for some outputs") Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2877 Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4871> (cherry picked from commit 7e7bb38bd8b12fec09afc0e515480bb6c5a8475a) --- .pick_status.json | 2 +- src/amd/llvm/ac_llvm_build.c | 16 +++++++--------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 058c78bc0a9..f602586772a 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -391,7 +391,7 @@ "description": "radeonsi: fix export count", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "17acff01a00109c87d59b9d876fc735dd5fbe3d1" }, diff --git a/src/amd/llvm/ac_llvm_build.c b/src/amd/llvm/ac_llvm_build.c index d78110ba820..7400b2e126d 100644 --- a/src/amd/llvm/ac_llvm_build.c +++ b/src/amd/llvm/ac_llvm_build.c @@ -3125,9 +3125,6 @@ void ac_optimize_vs_outputs(struct ac_llvm_context *ctx, target -= V_008DFC_SQ_EXP_PARAM; - if ((1u << target) & skip_output_mask) - continue; - /* Parse the instruction. */ memset(&exp, 0, sizeof(exp)); exp.offset = target; @@ -3151,12 +3148,13 @@ void ac_optimize_vs_outputs(struct ac_llvm_context *ctx, } /* Eliminate constant and duplicated PARAM exports. */ - if (ac_eliminate_const_output(vs_output_param_offset, - num_outputs, &exp) || - ac_eliminate_duplicated_output(ctx, - vs_output_param_offset, - num_outputs, &exports, - &exp)) { + if (!((1u << target) & skip_output_mask) && + (ac_eliminate_const_output(vs_output_param_offset, + num_outputs, &exp) || + ac_eliminate_duplicated_output(ctx, + vs_output_param_offset, + num_outputs, &exports, + &exp))) { removed_any = true; } else { exports.exp[exports.num++] = exp; _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
