mesa/src/asahi/lib
Asahi Lina 94c9115aa0 asahi: Make bo->writer_syncobj atomic
BOs can be written from several contexts, so writing to this member is
racy. We only care about this for the purposes of exporting BOs after a
submission (and if the app is racing writers/submissions at that point
all bets are off), so just keeping track of the last written value is
sufficient.

Switch to atomic operations to eliminate the race, and drop the assert
in the batch cleanup path that no longer holds when the BO might have
been written to from another context.

Fixes: asahi/mesa#20

Signed-off-by: Asahi Lina <lina@asahilina.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22971>
2023-05-11 23:24:48 +00:00
..
tests asahi: Convert to SPDX headers 2023-03-28 05:14:00 +00:00
agx_bo.c asahi: Make bo->writer_syncobj atomic 2023-05-11 23:24:48 +00:00
agx_bo.h asahi: Make bo->writer_syncobj atomic 2023-05-11 23:24:48 +00:00
agx_border.c asahi: Implement custom border colours 2023-02-04 10:37:02 -05:00
agx_device.c asahi: Make bo->writer_syncobj atomic 2023-05-11 23:24:48 +00:00
agx_device.h asahi: Add batch state debugging 2023-05-07 08:59:41 -04:00
agx_formats.c asahi: Support more renderable formats 2023-04-07 03:23:03 +00:00
agx_formats.h asahi: Convert to SPDX headers 2023-03-28 05:14:00 +00:00
agx_helpers.h asahi: Add XML for custom border colours 2023-02-04 10:32:24 -05:00
agx_iokit.h asahi: Convert to SPDX headers 2023-03-28 05:14:00 +00:00
agx_meta.c asahi/meta: Use lowered I/O 2023-03-05 09:27:02 +00:00
agx_meta.h asahi: Do not use memctx for pools / meta cache 2023-02-15 22:16:51 +00:00
agx_nir_format_helpers.h asahi: Support more renderable formats 2023-04-07 03:23:03 +00:00
agx_nir_lower_tilebuffer.c Revert "asahi: Advertise dual-source blending" 2023-04-07 03:23:04 +00:00
agx_nir_lower_vbo.c asahi: Use device_load shift for VBO loads 2023-05-07 09:05:39 -04:00
agx_nir_lower_vbo.h asahi: Clang-format the subtree 2022-12-27 22:46:29 +00:00
agx_ppp.h asahi: Convert to SPDX headers 2023-03-28 05:14:00 +00:00
agx_tilebuffer.c asahi: Assert on TIB strides > 64 2023-03-04 10:58:10 -05:00
agx_tilebuffer.h asahi: Implement color masks with masked stores 2023-02-21 08:10:15 +00:00
agx_usc.h asahi: Strengthen agx_usc_uniform contract 2023-02-04 07:19:29 +00:00
cmdbuf.xml asahi: Partially identify some missing index list stuff 2023-05-11 23:24:48 +00:00
decode.c asahi: Fix style nits 2023-04-07 03:23:04 +00:00
decode.h asahi: Convert to SPDX headers 2023-03-28 05:14:00 +00:00
dyld_interpose.h asahi: Clang-format the subtree 2022-12-27 22:46:29 +00:00
gen_pack.py asahi: Convert to SPDX headers 2023-03-28 05:14:00 +00:00
hexdump.h asahi: Add missing stdbool include to lib/hexdump.h 2023-05-11 23:24:47 +00:00
meson.build asahi: Convert to SPDX headers 2023-03-28 05:14:00 +00:00
pool.c asahi: Convert to SPDX headers 2023-03-28 05:14:00 +00:00
pool.h asahi: Convert to SPDX headers 2023-03-28 05:14:00 +00:00
wrap.c asahi: Convert to SPDX headers 2023-03-28 05:14:00 +00:00