[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