mesa/src
Jose Maria Casanova Crespo 20e6bcea31 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:54:34 -08:00
..
amd aco: fix creating v_madak if v_mad_f32 has two sgpr literals 2020-02-11 09:49:15 -08:00
broadcom util/hash_table: update users to use new optimal integer hash functions 2020-01-23 17:06:57 +00:00
compiler spirv: Remove outdated SPIR-V decoration warnings 2020-02-24 11:16:43 -08:00
drm-shim drm-shim: fix EOF case 2019-11-13 12:39:14 +00:00
egl egl: Implement getImage/putImage on pbuffer swrast. 2020-02-18 11:21:46 -08:00
etnaviv etnaviv: drm-shim: add GC400 2020-01-30 04:05:39 +00:00
freedreno freedreno/ir3: put the conversion back for half const to the right place. 2020-02-10 09:05:27 -08:00
gallium v3d: Sync on last CS when non-compute stage uses resource written by CS 2020-02-25 08:54:34 -08:00
gbm meson: move the generic symbols check arguments to a common variable 2019-11-05 20:30:47 +00:00
getopt meson: build getopt when using msvc 2019-09-10 20:36:47 +00:00
glx glx/drisw: fix shm put image fallback 2020-02-25 08:54:33 -08:00
gtest meson: gtest needs pthreads 2019-11-07 06:11:19 -08:00
hgl haiku: fix Mesa build 2019-10-01 10:31:02 +00:00
imgui meson: drop intel_ prefix on imgui_core 2019-12-10 15:16:02 +00:00
intel intel/fs: Correctly handle multiply of fsign with a source modifier 2020-02-20 09:10:40 -08:00
loader loader: Fix leak of kernel driver name 2020-01-30 10:08:17 -08:00
mapi glapi / teximage: implement EGLImageTargetTexStorageEXT 2020-01-13 14:57:18 -08:00
mesa i965: Do not generate D16 B5G6R5_UNORM configs on gen < 8 2020-02-20 09:10:41 -08:00
panfrost pan/midgard: Use fprintf instead of printf for constants 2020-02-18 11:21:46 -08:00
util util: promote u_debug_memory.c to src/util 2020-02-24 11:16:42 -08:00
vulkan Vulkan overlay: use the corresponding image index for each swapchain 2020-02-10 09:05:28 -08:00
meson.build meson: only build imgui when needed 2019-11-25 07:51:56 +00:00
SConscript