panfrost: Implement pan_tiler for non-hierarchy GPUs
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Wed, 27 Nov 2019 13:31:16 +0000 (08:31 -0500)
committerTomeu Vizoso <tomeu.vizoso@collabora.co.uk>
Tue, 3 Dec 2019 04:25:04 +0000 (04:25 +0000)
commit9fb0904712a5d64ecd012f65dfda4f36819716d9
treeabfd96c6e8f1ab5d60b6276e23647543755899f2
parent63cd5b8198cab169f8ba9f6250281a5f705fa6bb
panfrost: Implement pan_tiler for non-hierarchy GPUs

The algorithm is as described. Nothing fancy here, just need to add some
new code paths depending on which model we're running on.

Tomeu:
- Also disable tiling when !hierarchy and !vertex_count
- Avoid creating polygon lists smaller than the minimum when
  vertex_count > 0 but tile size smaller than 16 byte
- Take into account tile size when calculating polygon list size for
  !hierarchy
- Allow 0-sized tiles in a single dimension

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
src/gallium/drivers/panfrost/pan_context.c
src/gallium/drivers/panfrost/pan_scoreboard.c
src/panfrost/encoder/pan_encoder.h
src/panfrost/encoder/pan_tiler.c
src/panfrost/include/panfrost-job.h
src/panfrost/pandecode/decode.c