[Mesa-dev] [PATCH 16/18] winsys/amdgpu: consolidate IB size management in amdgpu_ib_finalize

Nicolai Hähnle nhaehnle at gmail.com
Mon May 9 23:21:34 UTC 2016


From: Nicolai Hähnle <nicolai.haehnle at amd.com>

---
 src/gallium/winsys/amdgpu/drm/amdgpu_cs.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c b/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c
index af28cdc..0aa200e 100644
--- a/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c
+++ b/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c
@@ -435,6 +435,12 @@ static bool amdgpu_get_new_ib(struct radeon_winsys *ws, struct amdgpu_cs *cs,
    return true;
 }
 
+static void amdgpu_ib_finalize(struct amdgpu_ib *ib)
+{
+   ib->used_ib_space += ib->base.current.cdw * 4;
+   ib->max_ib_size = MAX2(ib->max_ib_size, ib->base.prev_dw + ib->base.current.cdw);
+}
+
 static boolean amdgpu_init_cs_context(struct amdgpu_cs_context *cs,
                                       enum ring_type ring_type)
 {
@@ -883,22 +889,16 @@ static void amdgpu_cs_flush(struct radeon_winsys_cs *rcs,
 
       /* Set IB sizes. */
       cur->ib[IB_MAIN].size = cs->main.base.current.cdw;
-      cs->main.used_ib_space += cs->main.base.current.cdw * 4;
-      cs->main.max_ib_size = MAX2(cs->main.max_ib_size, cs->main.base.prev_dw + cs->main.base.current.cdw);
+      amdgpu_ib_finalize(&cs->main);
 
       if (cs->const_ib.ib_mapped) {
          cur->ib[IB_CONST].size = cs->const_ib.base.current.cdw;
-         cs->const_ib.used_ib_space += cs->const_ib.base.current.cdw * 4;
-         cs->const_ib.max_ib_size =
-            MAX2(cs->const_ib.max_ib_size, cs->main.base.prev_dw + cs->const_ib.base.current.cdw);
+         amdgpu_ib_finalize(&cs->const_ib);
       }
 
       if (cs->const_preamble_ib.ib_mapped) {
          cur->ib[IB_CONST_PREAMBLE].size = cs->const_preamble_ib.base.current.cdw;
-         cs->const_preamble_ib.used_ib_space += cs->const_preamble_ib.base.current.cdw * 4;
-         cs->const_preamble_ib.max_ib_size =
-            MAX2(cs->const_preamble_ib.max_ib_size,
-                 cs->const_preamble_ib.base.prev_dw + cs->const_preamble_ib.base.current.cdw);
+         amdgpu_ib_finalize(&cs->const_preamble_ib);
       }
 
       /* Create a fence. */
-- 
2.7.4



More information about the mesa-dev mailing list