radv: add missing conditional rendering for indirect dispatches on GFX6

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27746>
(cherry picked from commit f21cc55dae)
This commit is contained in:
Samuel Pitoiset 2024-02-22 12:40:37 +01:00 committed by Eric Engestrom
parent b14d23014e
commit d83d9a1c80
2 changed files with 8 additions and 1 deletions

View file

@ -2144,7 +2144,7 @@
"description": "radv: add missing conditional rendering for indirect dispatches on GFX6",
"nominated": true,
"nomination_type": 0,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null,
"notes": null

View file

@ -9729,6 +9729,13 @@ radv_emit_dispatch_packets(struct radv_cmd_buffer *cmd_buffer, const struct radv
radeon_emit(cs, info->va);
radeon_emit(cs, info->va >> 32);
if (cmd_buffer->qf == RADV_QUEUE_COMPUTE) {
radv_cs_emit_compute_predication(cmd_buffer->device, &cmd_buffer->state, cs,
cmd_buffer->mec_inv_pred_va, &cmd_buffer->mec_inv_pred_emitted,
3 /* PKT3_DISPATCH_INDIRECT */);
predicating = false;
}
radeon_emit(cs, PKT3(PKT3_DISPATCH_INDIRECT, 1, predicating) | PKT3_SHADER_TYPE_S(1));
radeon_emit(cs, 0);
radeon_emit(cs, dispatch_initiator);