v3d: do not automatically flush current job for SSBOs and shader images

Graphics / Mesa 3D Graphics Library / Mesa - Iago Toral Quiroga [igalia.com] - 13 August 2019 06:25 EDT

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.

b594796f1b8 v3d: do not automatically flush current job for SSBOs and shader images
src/gallium/drivers/v3d/v3d_blit.c | 7 ++--
src/gallium/drivers/v3d/v3d_context.h | 22 ++++++++++-
src/gallium/drivers/v3d/v3d_job.c | 68 ++++++++++++++++++++++------------
src/gallium/drivers/v3d/v3d_resource.c | 9 +++--
src/gallium/drivers/v3d/v3dx_draw.c | 25 ++++++++-----
5 files changed, 90 insertions(+), 41 deletions(-)

Upstream: cgit.freedesktop.org


  • Share