Mesa (master): nvc0: save some CPU cycles in nvc0_context_unreference_resources()

Samuel Pitoiset hakzsam at kemper.freedesktop.org
Thu May 12 19:37:49 UTC 2016


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

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Thu May 12 21:06:05 2016 +0200

nvc0: save some CPU cycles in nvc0_context_unreference_resources()

This reduces the number of loop iterations for invalidating buffers
and images.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>

---

 src/gallium/drivers/nouveau/nvc0/nvc0_context.c | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_context.c b/src/gallium/drivers/nouveau/nvc0/nvc0_context.c
index d51e89d..bf84371 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_context.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_context.c
@@ -150,20 +150,18 @@ nvc0_context_unreference_resources(struct nvc0_context *nvc0)
       for (i = 0; i < NVC0_MAX_PIPE_CONSTBUFS; ++i)
          if (!nvc0->constbuf[s][i].user)
             pipe_resource_reference(&nvc0->constbuf[s][i].u.buf, NULL);
-   }
-
-   for (s = 0; s < 2; ++s) {
-      for (i = 0; i < NVC0_MAX_SURFACE_SLOTS; ++i)
-         pipe_surface_reference(&nvc0->surfaces[s][i], NULL);
-   }
 
-   for (s = 0; s < 6; ++s)
       for (i = 0; i < NVC0_MAX_BUFFERS; ++i)
          pipe_resource_reference(&nvc0->buffers[s][i].buffer, NULL);
 
-   for (s = 0; s < 6; ++s)
       for (i = 0; i < NVC0_MAX_IMAGES; ++i)
          pipe_resource_reference(&nvc0->images[s][i].resource, NULL);
+   }
+
+   for (s = 0; s < 2; ++s) {
+      for (i = 0; i < NVC0_MAX_SURFACE_SLOTS; ++i)
+         pipe_surface_reference(&nvc0->surfaces[s][i], NULL);
+   }
 
    for (i = 0; i < nvc0->num_tfbbufs; ++i)
       pipe_so_target_reference(&nvc0->tfbbuf[i], NULL);




More information about the mesa-commit mailing list