mesa/src/broadcom
Melissa Wen db9098f2ef v3dv: move sems_info from event_wait job to wait_thread info
Semaphores info was stored as an info of event_wait cpu jobs and this
leads to mem leak when the same event_wait job in the same cmd buffer
batch was submitted more than once. As a result,
`dEQP-VK.api.command_buffers.record_simul_use_primary` fails due to a
double-free of sems_info.

In this patch, we no longer use v3dv_event_wait_cpu_job_info to store
semaphores from a submit info, since semaphores is related to a queue
submission and not to the event_wait job type. If we spawn a wait_thread,
we copy semaphores to an auxiliary struct (v3dv_wait_thread_info) that
will be used in wait_thread to get job and semaphores information. When
the spawned thread finishes, it releases the related
v3dv_wait_thread_info and the semaphores copy as well.

Fixes: d5bd18fb ("v3dv: store wait semaphores in event_wait_cpu_job_info")

Suggested-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Melissa Wen <mwen@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14736>
2022-01-31 23:01:54 +00:00
..
ci ci/llvmpipe,softpipe: Switch piglit testing to piglit-runner. 2022-01-27 04:37:16 +00:00
cle broadcom: drop unused functions 2022-01-31 16:10:31 +00:00
clif v3d/clif: add support for dumping GS shader state 2021-10-13 21:23:10 +00:00
common v3dv: implement double-buffer mode 2022-01-14 10:57:26 +00:00
compiler broadcom/compiler: update comment on load_uniform fast-path 2022-01-25 09:08:26 +00:00
drm-shim vc4: add drm-shim 2021-01-28 16:14:06 +00:00
qpu broadcom: drop unused functions 2022-01-31 16:10:31 +00:00
simulator broadcom/simulator: handle DRM_V3D_PARAM_SUPPORTS_MULTISYNC_EXT 2022-01-24 11:34:00 +00:00
vulkan v3dv: move sems_info from event_wait job to wait_thread info 2022-01-31 23:01:54 +00:00
.editorconfig broadcom: add editorconfig 2017-07-25 14:44:52 -07:00
meson.build broadcom: remove v3dv3 from neon library 2021-07-29 08:26:11 +00:00