[Mesa-dev] [PATCH 00/12] Refactors related to BO layouts
Alyssa Rosenzweig
alyssa at rosenzweig.io
Sun Mar 10 06:50:14 UTC 2019
Midgard supports (at least) 3 broad classes of resource layouts:
* Linear: slow, but universally supported, uncompressed
* Tiled: good for cache efficiency, uncompressed
* Arm Framebuffer Compression (AFBC): tiled and compressed
We can't render into tiled buffers (for technical reasons), and we can't
manipulate AFBC from software (for practical reasons). But we can do a
little better at formalizing the distinctions between these formats and
implementing some edge cases. For instance, this series fixes support
for linear FBOs (previously, only AFBC was supported).
More work is needed to let layouts switch seemlessly to handle edge
cases, but this series is already a nontrivial improvement (and it *is*
getting long).
Alyssa Rosenzweig (12):
panfrost: Cleanup needless if in create_bo
panfrost: Combine has_afbc/tiled in layout enum
panfrost: Delay color buffer setup
panfrost: Cleanup zsbuf emit in fragment job
panfrost: Determine framebuffer format bits late
panfrost: Refactor layout selection (BO creation)
panfrost: Allocate dedicated slab for linear BOs
panfrost: Support linear depth textures
panfrost: Support linear depth buffers
panfrost: Document "depth buffer writeback" bit
panfrost: Identify fragment_extra flags
panfrost: Make hacks a little more obvious
.../drivers/panfrost/include/panfrost-job.h | 16 +-
src/gallium/drivers/panfrost/pan_context.c | 267 +++++++++++-------
src/gallium/drivers/panfrost/pan_resource.c | 154 ++++++----
src/gallium/drivers/panfrost/pan_resource.h | 20 +-
.../drivers/panfrost/pandecode/decode.c | 18 +-
5 files changed, 311 insertions(+), 164 deletions(-)
--
2.20.1
More information about the mesa-dev
mailing list