Mesa (master): v3d: Drop the use of the semaphores.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Jul 27 20:05:44 UTC 2018


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

Author: Eric Anholt <eric at anholt.net>
Date:   Thu Jul 26 16:48:30 2018 -0700

v3d: Drop the use of the semaphores.

The kernel's scheduler doesn't rely on our emitting them, and in fact we'd
get in trouble if the kernel decided to schedule too many bins in a row
before getting around to scheduling the corresponding render.

---

 src/gallium/drivers/v3d/v3dx_job.c | 7 -------
 src/gallium/drivers/v3d/v3dx_rcl.c | 2 --
 2 files changed, 9 deletions(-)

diff --git a/src/gallium/drivers/v3d/v3dx_job.c b/src/gallium/drivers/v3d/v3dx_job.c
index 036a39ea57..d87dcea8c4 100644
--- a/src/gallium/drivers/v3d/v3dx_job.c
+++ b/src/gallium/drivers/v3d/v3dx_job.c
@@ -37,7 +37,6 @@ void v3dX(bcl_epilogue)(struct v3d_context *v3d, struct v3d_job *job)
 #if V3D_VERSION >= 41
                                                 cl_packet_length(TRANSFORM_FEEDBACK_SPECS) +
 #endif
-                                                cl_packet_length(INCREMENT_SEMAPHORE) +
                                                 cl_packet_length(FLUSH_ALL_STATE));
 
                 if (job->oq_enabled) {
@@ -61,12 +60,6 @@ void v3dX(bcl_epilogue)(struct v3d_context *v3d, struct v3d_job *job)
                 }
 #endif /* V3D_VERSION >= 41 */
 
-                /* Increment the semaphore indicating that binning is done and
-                 * unblocking the render thread.  Note that this doesn't act
-                 * until the FLUSH completes.
-                 */
-                cl_emit(&job->bcl, INCREMENT_SEMAPHORE, incr);
-
                 /* The FLUSH_ALL emits any unwritten state changes in each
                  * tile.  We can use this to reset any state that needs to be
                  * present at the start of the next tile, as we do with
diff --git a/src/gallium/drivers/v3d/v3dx_rcl.c b/src/gallium/drivers/v3d/v3dx_rcl.c
index d795591c01..ae7daf9375 100644
--- a/src/gallium/drivers/v3d/v3dx_rcl.c
+++ b/src/gallium/drivers/v3d/v3dx_rcl.c
@@ -760,8 +760,6 @@ v3dX(emit_rcl)(struct v3d_job *job)
 
         v3d_rcl_emit_generic_per_tile_list(job, nr_cbufs - 1);
 
-        cl_emit(&job->rcl, WAIT_ON_SEMAPHORE, sem);
-
         /* XXX: Use Morton order */
         uint32_t supertile_w_in_pixels = job->tile_width * supertile_w;
         uint32_t supertile_h_in_pixels = job->tile_height * supertile_h;




More information about the mesa-commit mailing list