[Mesa-dev] [PATCH v2] gallium: Implement APPLE_object_purgeable (iris, freedeno, vc4)
Emil Velikov
emil.l.velikov at gmail.com
Thu Feb 28 11:44:28 UTC 2019
On Tue, 26 Feb 2019 at 21:52, Chris Wilson <chris at chris-wilson.co.uk> wrote:
>
> A few of the GEM drivers provide matching ioctls to allow control of
> their bo caches. Hook these up to APPLE_object_purgeable to allow
> clients to discard video memory under pressure where they are able to
> fallback to restoring content themselves, e.g. from their own (presumably
> compressed, on disk) caches.
>
> v2: Refactor the repeated resource purging.
>
> Cc: Eric Anholt <eric at anholt.net>
> Cc: Kenneth Graunke <kenneth at whitecape.org>
> Cc: Rob Clark <robdclark at gmail.com>
> ---
> .../drivers/freedreno/freedreno_resource.c | 10 ++
> .../drivers/freedreno/freedreno_screen.c | 1 +
> src/gallium/drivers/iris/iris_resource.c | 10 ++
> src/gallium/drivers/iris/iris_screen.c | 1 +
> src/gallium/drivers/vc4/vc4_bufmgr.c | 15 ++
> src/gallium/drivers/vc4/vc4_bufmgr.h | 3 +
> src/gallium/drivers/vc4/vc4_resource.c | 10 ++
> src/gallium/drivers/vc4/vc4_screen.c | 3 +
> src/gallium/include/pipe/p_defines.h | 1 +
> src/gallium/include/pipe/p_screen.h | 20 +++
> src/mesa/Makefile.sources | 2 +
> src/mesa/meson.build | 2 +
> src/mesa/state_tracker/st_cb_objectpurge.c | 141 ++++++++++++++++++
> src/mesa/state_tracker/st_cb_objectpurge.h | 38 +++++
> src/mesa/state_tracker/st_context.c | 2 +
> src/mesa/state_tracker/st_extensions.c | 1 +
> 16 files changed, 260 insertions(+)
> create mode 100644 src/mesa/state_tracker/st_cb_objectpurge.c
> create mode 100644 src/mesa/state_tracker/st_cb_objectpurge.h
>
As-is this is, kind of, blocked on getting it right on all drivers.
Can I'd suggest splitting this in 4 patches:
- st/mesa - src/mesa + src/gallium/include + src/gallium/aux
- iris
- freedreno
- vc4
This way others can wire their drivers while the iris/freedreno/vc4
review/testing is ongoing.
HTH
Emil
More information about the mesa-dev
mailing list