v3d: do not automatically flush current job for SSBOs and shader images
authorIago Toral Quiroga <itoral@igalia.com>
Mon, 12 Aug 2019 06:36:37 +0000 (08:36 +0200)
committerIago Toral Quiroga <itoral@igalia.com>
Tue, 13 Aug 2019 06:25:15 +0000 (08:25 +0200)
commitb594796f1b86952268372622ba844210fa54f6e5
tree791637d183fe229a1f3246567cd373b012a01976
parentf1cf1153e800f3854279d2459f3191441634beff
v3d: do not automatically flush current job for SSBOs and shader images

If the current job has a sequence of draw calls involving SSBOs and/or
shader images, we would flush the job in between each draw call.
With this change, we won't flush the current job and we rely on the
application inserting correct barriers by issuing glMemoryBarrier()
when needed.

v2 (Eric):
 - When mapping a buffer for writing, we always need to flush.

Reviewed-by: Eric Anholt <eric@anholt.net>
src/gallium/drivers/v3d/v3d_blit.c
src/gallium/drivers/v3d/v3d_context.h
src/gallium/drivers/v3d/v3d_job.c
src/gallium/drivers/v3d/v3d_resource.c
src/gallium/drivers/v3d/v3dx_draw.c