radv/winsys: make use of radeon_emit()
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Thu, 5 Jul 2018 15:07:07 +0000 (17:07 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Thu, 5 Jul 2018 15:23:25 +0000 (17:23 +0200)
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c

index 848e81924ff9f3d9972313d509e9ac4d461f927f..2741fc0f3b117d294f83c3aee0b8d4ea5bd61a66 100644 (file)
@@ -355,7 +355,7 @@ static void radv_amdgpu_cs_grow(struct radeon_cmdbuf *_cs, size_t min_size)
        ib_size = MIN2(ib_size, 0xfffff);
 
        while (!cs->base.cdw || (cs->base.cdw & 7) != 4)
-               cs->base.buf[cs->base.cdw++] = 0xffff1000;
+               radeon_emit(&cs->base, 0xffff1000);
 
        *cs->ib_size_ptr |= cs->base.cdw + 4;
 
@@ -389,11 +389,12 @@ static void radv_amdgpu_cs_grow(struct radeon_cmdbuf *_cs, size_t min_size)
 
        cs->ws->base.cs_add_buffer(&cs->base, cs->ib_buffer, 8);
 
-       cs->base.buf[cs->base.cdw++] = PKT3(PKT3_INDIRECT_BUFFER_CIK, 2, 0);
-       cs->base.buf[cs->base.cdw++] = radv_amdgpu_winsys_bo(cs->ib_buffer)->base.va;
-       cs->base.buf[cs->base.cdw++] = radv_amdgpu_winsys_bo(cs->ib_buffer)->base.va >> 32;
-       cs->ib_size_ptr = cs->base.buf + cs->base.cdw;
-       cs->base.buf[cs->base.cdw++] = S_3F2_CHAIN(1) | S_3F2_VALID(1);
+       radeon_emit(&cs->base, PKT3(PKT3_INDIRECT_BUFFER_CIK, 2, 0));
+       radeon_emit(&cs->base, radv_amdgpu_winsys_bo(cs->ib_buffer)->base.va);
+       radeon_emit(&cs->base, radv_amdgpu_winsys_bo(cs->ib_buffer)->base.va >> 32);
+       radeon_emit(&cs->base, S_3F2_CHAIN(1) | S_3F2_VALID(1));
+
+       cs->ib_size_ptr = cs->base.buf + cs->base.cdw - 1;
 
        cs->base.buf = (uint32_t *)cs->ib_mapped;
        cs->base.cdw = 0;
@@ -407,7 +408,7 @@ static bool radv_amdgpu_cs_finalize(struct radeon_cmdbuf *_cs)
 
        if (cs->ws->use_ib_bos) {
                while (!cs->base.cdw || (cs->base.cdw & 7) != 0)
-                       cs->base.buf[cs->base.cdw++] = 0xffff1000;
+                       radeon_emit(&cs->base, 0xffff1000);
 
                *cs->ib_size_ptr |= cs->base.cdw;
 
@@ -590,10 +591,10 @@ static void radv_amdgpu_cs_execute_secondary(struct radeon_cmdbuf *_parent,
                if (parent->base.cdw + 4 > parent->base.max_dw)
                        radv_amdgpu_cs_grow(&parent->base, 4);
 
-               parent->base.buf[parent->base.cdw++] = PKT3(PKT3_INDIRECT_BUFFER_CIK, 2, 0);
-               parent->base.buf[parent->base.cdw++] = child->ib.ib_mc_address;
-               parent->base.buf[parent->base.cdw++] = child->ib.ib_mc_address >> 32;
-               parent->base.buf[parent->base.cdw++] = child->ib.size;
+               radeon_emit(&parent->base, PKT3(PKT3_INDIRECT_BUFFER_CIK, 2, 0));
+               radeon_emit(&parent->base, child->ib.ib_mc_address);
+               radeon_emit(&parent->base, child->ib.ib_mc_address >> 32);
+               radeon_emit(&parent->base, child->ib.size);
        } else {
                if (parent->base.cdw + child->base.cdw > parent->base.max_dw)
                        radv_amdgpu_cs_grow(&parent->base, child->base.cdw);