From 22a1ba0403bf40c1684d23d53ddbe1982901ae8b Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 26 Jul 2018 16:48:30 -0700 Subject: [PATCH] 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 036a39ea579..d87dcea8c49 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 d795591c01a..ae7daf9375e 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; -- 2.30.2