Module: Mesa
Branch: main
Commit: d74de6506922b71fc2f7435a7e9735e0ab0393c6
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d74de6506922b71fc2f7435a7e9735e0ab0393c6

Author: Samuel Pitoiset <[email protected]>
Date:   Wed Jun 21 13:44:09 2023 +0200

radv/amdgpu: use cs_finalize() when growing a CS

Signed-off-by: Samuel Pitoiset <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23727>

---

 src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c | 24 +-----------------------
 1 file changed, 1 insertion(+), 23 deletions(-)

diff --git a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c 
b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c
index 92daf438d43..c9073daaa21 100644
--- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c
+++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c
@@ -349,30 +349,8 @@ radv_amdgpu_cs_grow(struct radeon_cmdbuf *_cs, size_t 
min_size)
 
    enum amd_ip_type ip_type = cs->hw_ip;
    uint32_t ib_pad_dw_mask = MAX2(3, cs->ws->info.ib_pad_dw_mask[ip_type]);
-   uint32_t nop_packet = get_nop_packet(cs);
-
-   if (cs->use_ib) {
-      /* Ensure that with the 4 dword reservation we subtract from max_dw we 
always
-       * have 4 nops at the end for chaining.
-       */
-      while (!cs->base.cdw || (cs->base.cdw & ib_pad_dw_mask) != 
ib_pad_dw_mask - 3)
-         radeon_emit_unchecked(&cs->base, nop_packet);
-
-      radeon_emit_unchecked(&cs->base, nop_packet);
-      radeon_emit_unchecked(&cs->base, nop_packet);
-      radeon_emit_unchecked(&cs->base, nop_packet);
-      radeon_emit_unchecked(&cs->base, nop_packet);
 
-      *cs->ib_size_ptr |= cs->base.cdw;
-   } else {
-      /* Pad the CS with NOP packets. */
-      while (!cs->base.cdw || (cs->base.cdw & ib_pad_dw_mask))
-         radeon_emit_unchecked(&cs->base, nop_packet);
-   }
-
-   radv_amdgpu_cs_add_old_ib_buffer(cs);
-   if (cs->status != VK_SUCCESS)
-      return;
+   cs->ws->base.cs_finalize(_cs);
 
    uint64_t ib_size = MAX2(min_size * 4 + 16, cs->base.max_dw * 4 * 2);
 

Reply via email to