mesa/src
Jose Maria Casanova Crespo e1dc5cc757 v3d: Sync on last CS when non-compute stage uses resource written by CS
When a resource is written by a compute shader and then used by a
non-compute stage we sync on last compute job to guarantee that the
resource has been completely written when the next stage reads resources.

In the other cases how flushes are done guarantee the serialization of
the writes and reads.

To reproduce the failure the following tests should be executed in batch
as last test don't fail when run isolated:

KHR-GLES31.core.shader_image_load_store.basic-allFormats-load-fs
KHR-GLES31.core.shader_image_load_store.basic-allFormats-loadStoreComputeStage
KHR-GLES31.core.shader_image_load_store.basic-allTargets-load-cs
KHR-GLES31.core.shader_image_load_store.advanced-sync-vertexArray

v2: Use fence dep instead of bo_wait (Eric Anholt)
v3: Rename struct names (Iago Toral)
    Document why is not needed on graphics->compute case. (Iago Toral)
    Follow same code pattern of the other update of in_sync_bcl.
v4: Fixed comments style. (Iago Toral)

Fixes KHR-GLES31.core.shader_image_load_store.advanced-sync-vertexArray

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
CC: 19.3 20.0 <mesa-stable@lists.freedesktop.org>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2700>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2700>
(cherry picked from commit 01496e3d1e)
2020-02-25 08:53:12 -08:00
..
amd radv: Do not set SX DISABLE bits for RB+ with unused surfaces. 2020-02-05 08:52:30 -08:00
broadcom meson/broadcom: libbroadcom_cle also needs zlib 2019-12-11 15:46:15 -08:00
compiler spirv: Remove outdated SPIR-V decoration warnings 2020-02-24 11:10:37 -08:00
drm-shim meson: replace libmesa_util with idep_mesautil 2019-08-03 00:08:37 +00:00
egl egl: Implement getImage/putImage on pbuffer swrast. 2020-02-18 08:52:35 -08:00
etnaviv util: remove LIST_IS_EMPTY macro 2019-10-28 11:24:39 +00:00
freedreno freedreno/ir3: put the conversion back for half const to the right place. 2020-02-10 09:01:37 -08:00
gallium v3d: Sync on last CS when non-compute stage uses resource written by CS 2020-02-25 08:53:12 -08:00
gbm gbm: Add GBM_MAX_PLANES definition 2019-10-18 13:18:28 +00:00
getopt meson: build getopt when using msvc 2019-09-10 20:36:47 +00:00
glx drisw: Cache the depth of the X drawable 2020-01-28 08:54:25 -08:00
gtest delete autotools .gitignore files 2019-04-29 21:17:19 +00:00
hgl haiku: fix Mesa build 2019-10-01 10:31:02 +00:00
imgui imgui: bump imgui memory editor copy 2019-06-18 15:34:13 +00:00
intel intel/fs: Correctly handle multiply of fsign with a source modifier 2020-02-20 13:36:39 -08:00
loader loader: fix close on uninitialized file descriptor value 2020-01-07 09:20:49 -08:00
mapi mapi: add GetInteger64vEXT with EXT_disjoint_timer_query 2020-02-05 16:57:21 +00:00
mesa i965: Do not generate D16 B5G6R5_UNORM configs on gen < 8 2020-02-20 13:36:39 -08:00
panfrost panfrost: Remove unused definitions in mali-job.h 2019-10-29 13:02:53 +00:00
util util: promote u_debug_memory.c to src/util 2020-02-24 11:10:36 -08:00
vulkan Vulkan overlay: use the corresponding image index for each swapchain 2020-02-10 09:01:38 -08:00
meson.build meson: rename glvnd_missing_pc_files to not glvnd_has_headers_and_pc_files 2019-10-10 22:18:04 +01:00
SConscript