radv/amdgpu: simplify cs_execute_ib()

It's only used for executing IB2 on GFX.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30809>
This commit is contained in:
Samuel Pitoiset
2024-10-01 15:02:06 +02:00
committed by Marge Bot
parent c1b2cb6ef7
commit d686ba36a9
+5 -23
View File
@@ -805,30 +805,12 @@ radv_amdgpu_cs_execute_ib(struct radeon_cmdbuf *_cs, struct radeon_winsys_bo *bo
return;
assert(ib_va && ib_va % cs->ws->info.ip[cs->hw_ip].ib_alignment == 0);
assert(cs->hw_ip == AMD_IP_GFX && cdw <= ~C_3F2_IB_SIZE);
if (cs->hw_ip == AMD_IP_GFX && cs->use_ib) {
assert(cdw <= ~C_3F2_IB_SIZE);
radeon_emit(&cs->base, PKT3(PKT3_INDIRECT_BUFFER, 2, predicate));
radeon_emit(&cs->base, ib_va);
radeon_emit(&cs->base, ib_va >> 32);
radeon_emit(&cs->base, cdw);
} else {
const uint32_t ib_size = radv_amdgpu_cs_get_initial_size(cs->ws, cs->hw_ip);
VkResult result;
/* Finalize the current CS without chaining to execute the external IB. */
radv_amdgpu_cs_finalize(_cs);
radv_amdgpu_cs_add_ib_buffer(cs, bo, ib_va, cdw);
/* Start a new CS which isn't chained to any previous CS. */
result = radv_amdgpu_cs_get_new_ib(_cs, ib_size);
if (result != VK_SUCCESS) {
cs->base.cdw = 0;
cs->status = result;
}
}
radeon_emit(&cs->base, PKT3(PKT3_INDIRECT_BUFFER, 2, predicate));
radeon_emit(&cs->base, ib_va);
radeon_emit(&cs->base, ib_va >> 32);
radeon_emit(&cs->base, cdw);
}
static void