On Thu, 5 Sep 2019 21:41:25 +0200 Boris Brezillon <boris.brezil...@collabora.com> wrote:
> Hello, > > This is actually a v1 expect for patches 1 to 4, which have already > been submitted separately. > > The goal here is to rework the panfrost_job logic (renamed > panfrost_batch at the beginning of the series) to avoid unnecessary > flushes when we can. > > The new solution is based on the VC4/V3D implementation. > > Regards, > > Boris > > Boris Brezillon (25): > panfrost: s/job/batch/ > panfrost: Pass a batch to panfrost_drm_submit_vs_fs_batch() > panfrost: Stop passing a ctx to functions being passed a batch > panfrost: Make transient allocation rely on the BO cache > panfrost: Convert ctx->{scratchpad,tiler_heap,tiler_dummy} to plain > BOs > panfrost: Get rid of unused panfrost_context fields > panfrost: Get rid of the now unused SLAB allocator > panfrost: Rename pan_bo_cache.c into pan_bo.c Queued patches 1 to 8. > panfrost: Rework the panfrost_bo API > panfrost: Make sure the BO is 'ready' when picked from the cache > panfrost: Use a pipe_framebuffer_state as the batch key > panfrost: Get rid of the unused 'flush jobs accessing res' infra > panfrost: Allow testing if a specific batch is targeting a scanout FB > panfrost: Move the fence creation in panfrost_flush() > panfrost: Move the batch submission logic to panfrost_batch_submit() > panfrost: Pass a batch to panfrost_{allocate,upload}_transient() > panfrost: Pass a batch to functions emitting FB descs > panfrost: Use ctx->wallpaper_batch in panfrost_blit_wallpaper() > panfrost: Pass a batch to panfrost_set_value_job() > panfrost: Prepare things to avoid flushes on FB switch > panfrost: Add new helpers to describe job depencencies on BOs > panfrost: Delay payloads[].offset_start initialization > panfrost: Remove uneeded add_bo() in initialize_surface() > panfrost: Support batch pipelining > panfrost/ci: New tests are passing > > .../drivers/panfrost/ci/expected-failures.txt | 4 - > src/gallium/drivers/panfrost/meson.build | 2 +- > src/gallium/drivers/panfrost/pan_allocate.c | 95 +--- > src/gallium/drivers/panfrost/pan_allocate.h | 40 +- > src/gallium/drivers/panfrost/pan_assemble.c | 3 +- > src/gallium/drivers/panfrost/pan_blend_cso.c | 9 +- > src/gallium/drivers/panfrost/pan_blit.c | 9 +- > src/gallium/drivers/panfrost/pan_bo.c | 405 ++++++++++++++ > src/gallium/drivers/panfrost/pan_bo.h | 80 +++ > src/gallium/drivers/panfrost/pan_bo_cache.c | 167 ------ > src/gallium/drivers/panfrost/pan_compute.c | 12 +- > src/gallium/drivers/panfrost/pan_context.c | 478 +++++++---------- > src/gallium/drivers/panfrost/pan_context.h | 51 +- > src/gallium/drivers/panfrost/pan_drm.c | 266 +--------- > src/gallium/drivers/panfrost/pan_fragment.c | 32 +- > src/gallium/drivers/panfrost/pan_instancing.c | 9 +- > src/gallium/drivers/panfrost/pan_job.c | 493 ++++++++++++------ > src/gallium/drivers/panfrost/pan_job.h | 97 ++-- > src/gallium/drivers/panfrost/pan_mfbd.c | 58 +-- > src/gallium/drivers/panfrost/pan_resource.c | 64 +-- > src/gallium/drivers/panfrost/pan_resource.h | 8 +- > src/gallium/drivers/panfrost/pan_scoreboard.c | 29 +- > src/gallium/drivers/panfrost/pan_screen.c | 5 +- > src/gallium/drivers/panfrost/pan_screen.h | 62 +-- > src/gallium/drivers/panfrost/pan_sfbd.c | 50 +- > src/gallium/drivers/panfrost/pan_varyings.c | 13 +- > 26 files changed, 1277 insertions(+), 1264 deletions(-) > create mode 100644 src/gallium/drivers/panfrost/pan_bo.c > create mode 100644 src/gallium/drivers/panfrost/pan_bo.h > delete mode 100644 src/gallium/drivers/panfrost/pan_bo_cache.c > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev