mesa/src/freedreno/drm
Rob Clark 7dabd62464 freedreno/drm: Userspace fences
Add a per-fd_pipe fence "timeline" so we can detect cases where we don't
need to call into the kernel to determine if a fd_bo is still busy.

This reuses table_lock, rather than introducing a per-bo lock to protect
fence state updates because (a) the common / hotpath pattern is to
update fences on a lot of objects, but checking the fence state of a
single object is less common, and (b) because we already hold the table
lock in common spots where we need to check the bo's fence state (ie.
allocations from the bo-cache).

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>
2021-04-28 15:36:42 +00:00
..
freedreno_bo.c freedreno/drm: Userspace fences 2021-04-28 15:36:42 +00:00
freedreno_bo_cache.c freedreno/drm: Userspace fences 2021-04-28 15:36:42 +00:00
freedreno_device.c freedreno/drm: Re-indent 2021-04-17 15:38:56 +00:00
freedreno_drmif.h freedreno/drm: Userspace fences 2021-04-28 15:36:42 +00:00
freedreno_pipe.c freedreno/drm: Userspace fences 2021-04-28 15:36:42 +00:00
freedreno_priv.h freedreno/drm: Userspace fences 2021-04-28 15:36:42 +00:00
freedreno_ringbuffer.c freedreno/drm: Userspace fences 2021-04-28 15:36:42 +00:00
freedreno_ringbuffer.h freedreno/drm: Re-indent 2021-04-17 15:38:56 +00:00
meson.build meson: use gnu_symbol_visibility argument 2020-06-01 18:59:18 +00:00
msm_bo.c freedreno/drm: Cleanup bo allocation flags 2021-04-28 15:36:42 +00:00
msm_device.c freedreno/drm: Cleanup bo cpu_prep flags 2021-04-28 15:36:42 +00:00
msm_pipe.c freedreno/drm: Re-indent 2021-04-17 15:38:56 +00:00
msm_priv.h freedreno/drm: Move the growable array helper 2021-04-28 15:36:42 +00:00
msm_ringbuffer.c freedreno/drm: Userspace fences 2021-04-28 15:36:42 +00:00
msm_ringbuffer_sp.c freedreno/drm: Userspace fences 2021-04-28 15:36:42 +00:00
msm_ringbuffer_sp.h freedreno/drm: Re-indent 2021-04-17 15:38:56 +00:00