mesa/src/panfrost
Boris Brezillon 66125c429f panfrost: Fix a polygon list corruption in the multi-context case
The polygon list is written by tiler jobs and read by fragment ones,
and nothing should re-use the heap until the fragment job is done.
4fec6c9448 ("panfrost: Add the tiler heap to fragment jobs") fixed
this for the !multi-context case by adding the heap BO to fragment job.
But the tiler heap is shared accross contexts, and vertex/tiler+fragment
job submission is done through 2 separate ioctls, meaning that
vertex/tiler and fragment jobs from 2 different context might be
interleaved.

Add a lock at the device level to ensure tiler/vertex+fragment jobs are
submitted sequentially, with no other jobs using the same tiler heap
in-between.

Cc: mesa-stable
Fixes: d8deb1eb6a ("panfrost: Share tiler_heap across batches/contexts")
Reported-by: Icecream95 <ixn@disroot.org>
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Tested-by: Icecream95 <ixn@disroot.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8822>
2021-02-05 11:10:43 +01:00
..
bifrost pan/bi: Add packing format tests 2021-01-29 16:55:44 +00:00
include panfrost: Get rid of IS_BIFROST 2021-02-02 09:04:15 +01:00
lib panfrost: Fix a polygon list corruption in the multi-context case 2021-02-05 11:10:43 +01:00
midgard pan/mdg: Drop unused stage parameter to disassembler 2021-02-03 14:04:53 +00:00
shared util: Add helgrind support for simple_mtx 2020-11-24 21:03:34 +00:00
util panfrost: Allow waiting on slots 6/7 during preload 2021-01-29 16:55:43 +00:00
Android.bifrost.mk android: pan/bi: Remove old IR packs 2021-01-04 17:32:31 +00:00
Android.lib.mk android: panfrost: use python3 for generated sources rules 2020-10-05 21:23:56 +00:00
Android.midgard.mk android: panfrost: use python3 for generated sources rules 2020-10-05 21:23:56 +00:00
Android.mk android: panfrost: Move pandecode into lib/ 2020-08-10 21:35:31 +02:00
Android.shared.mk android: Add panfrost support to build scripts 2019-10-31 10:03:54 +01:00
Android.util.mk panfrost: Align Android makefiles with recent changes 2020-03-23 14:03:22 +00:00
Makefile.sources panfrost: Add a panfrost_compile_shader() helper 2021-02-02 09:04:15 +01:00
meson.build pan/bi: Drop on-board packing tests 2020-12-23 17:06:56 +00:00