mesa/src/panfrost/lib
Erik Faye-Lund 329568b5eb panfrost: add color-attachment and msaa helpers
In order to enable higher MSAA modes, we're going to have to perform
some calculations on how to budget the (sometimes) limited tile-buffer
space.

Due to limited tilebuffer space, we need to prioritize a bit here.
First, we reserve space for 4x MSAA for all formats. Then we try to fit
8 color attachments into the tile-buffer. And then finally, we calculate
how many extra multi-sample buffers we can fit into the rest.

The reason we reserve 4x MSAA first, is that this is required by all
Vulkan versions. It also prevents us from regressing existing features.

Then we try to pick 8 color attachments next, because that's required by
Vulkan 1.4 as well as Vulkan Roadmap 2024 and D3D12. Vulkan Roadmap 2022
requires 7 as well.

This adds helpers that implements this, which can be used by both the
Gallium and the Vulkan driver. It's really benefitial if both of these
drivers prioritize the same way here.

Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33925>
2025-04-11 08:01:08 +00:00
..
genxml panfrost,panvk: fix clang warnings 2025-03-05 02:57:24 +00:00
kmod pan/kmod: set DRM_RDWR for exported dma-bufs 2025-03-12 11:54:22 +00:00
tests pan/earlyzs: Support the shader ZS read-only case and its optimization on v10+ 2025-04-10 13:17:53 +00:00
.gitignore
meson.build panfrost: Kill panfrost-job.h 2025-01-07 11:10:55 +00:00
pan_afbc.c panfrost: support MTK 16L32S detiling 2025-01-29 19:24:59 +00:00
pan_afrc.c panfrost: add translation between modifier and compression rates 2024-07-11 19:02:50 +00:00
pan_attributes.c panfrost: clang-format the tree 2022-12-24 02:22:57 +00:00
pan_blend.c pan/genxml: Enforce explicit packed types on pan_[un]pack 2025-01-10 18:27:27 +00:00
pan_blend.h panfrost: fix SAMPLE_ALPHA_TO_ONE 2024-09-26 02:25:28 +00:00
pan_clear.c panfrost: pass blendable formats to pan_pack_color 2023-11-06 14:30:28 +01:00
pan_desc.c panfrost: disable tile-pipelining when needed 2025-04-11 08:01:08 +00:00
pan_desc.h panfrost: also consider z/s for tile-size 2025-04-11 08:01:08 +00:00
pan_earlyzs.c pan/earlyzs: Support the shader ZS read-only case and its optimization on v10+ 2025-04-10 13:17:53 +00:00
pan_earlyzs.h pan/earlyzs: Support the shader ZS read-only case and its optimization on v10+ 2025-04-10 13:17:53 +00:00
pan_encoder.h pan/genxml: Enforce explicit packed types on pan_[un]pack 2025-01-10 18:27:27 +00:00
pan_format.c panfrost: fix YUV center information for 422 2025-02-13 14:06:59 +00:00
pan_format.h panfrost: Move MALI_EXTRACT_INDEX to pan_format.h 2025-01-07 11:10:55 +00:00
pan_indirect_dispatch.c panfrost: invert and rename no_ubo_to_push flag 2025-04-10 08:05:21 +00:00
pan_indirect_dispatch.h panfrost: Kill the mali_ptr typedef 2025-01-07 11:10:55 +00:00
pan_jc.h pan/genxml: Enforce explicit packed types on pan_[un]pack 2025-01-10 18:27:27 +00:00
pan_layout.c panfrost: support MTK 16L32S detiling 2025-01-29 19:24:59 +00:00
pan_pool.h panfrost: Kill the mali_ptr typedef 2025-01-07 11:10:55 +00:00
pan_props.c panfrost: also consider z/s for tile-size 2025-04-11 08:01:08 +00:00
pan_props.h panfrost: add color-attachment and msaa helpers 2025-04-11 08:01:08 +00:00
pan_samples.c panfrost: properly align value 2025-04-11 08:01:08 +00:00
pan_samples.h panfrost: Make pan_sample.c panfrost_device agnostic 2024-01-23 16:32:09 +00:00
pan_scratch.c panfrost: clang-format the tree 2022-12-24 02:22:57 +00:00
pan_shader.c panvk/va: don't advertise independent denorm behavior 2025-04-10 16:21:09 +00:00
pan_shader.h panfrost: Kill the mali_ptr typedef 2025-01-07 11:10:55 +00:00
pan_texture.c panfrost: use real array for panfrost_emit_plane 2025-04-01 13:46:33 +00:00
pan_texture.h panfrost: support MTK 16L32S detiling 2025-01-29 19:24:59 +00:00
pan_tiler.c panfrost: Remove uneeded pan_device.h inclusions 2024-01-23 16:32:09 +00:00
pan_util.c panfrost: improve swizzle inversion 2024-09-11 19:29:16 +00:00
pan_util.h panfrost: reuse tiler hierarchy mask selection from panvk 2025-01-22 10:09:24 +00:00
wrap.h panfrost: Kill the mali_ptr typedef 2025-01-07 11:10:55 +00:00