[Mesa-dev] [PATCH v2] gallium: Implement APPLE_object_purgeable (iris, freedeno, vc4)
Chris Wilson
chris at chris-wilson.co.uk
Thu Feb 28 11:53:24 UTC 2019
Quoting Emil Velikov (2019-02-28 11:44:28)
> 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.
Sure, even more so when the changes are non trivial as they will have to
be pass the functional tests [to be written]. Hopefully, I can break
iris locally.
-Chris
More information about the mesa-dev
mailing list