mesa/src/panfrost/util
Boris Brezillon 8cba497701 panfrost: Move the image attribute offset adjustment to a NIR pass
The gallium and vulkan drivers deal with vertex attribute emission
differently. The gallium driver re-emits the VS attributes on each
draw, while the vulkan driver uses explicit attribute/image
descriptor dirtiness tracking, and could keep the attribute array
around if a new pipeline using a different number of attribute is
bound. If we want to be able to do that, we need to assign a fixed
offset for image attributes, such that the Vulkan descriptor
lowering pass knows where the images are in the attribute table.

We could teach the Bifrost backend how to deal with a custom offset
but it doing that in a lowering pass also simplifies the Midgard
code.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28200>
2024-03-26 09:24:25 +01:00
..
lcra.c panfrost: clang-format the tree 2022-12-24 02:22:57 +00:00
lcra.h panfrost: clang-format the tree 2022-12-24 02:22:57 +00:00
meson.build panfrost: Move the image attribute offset adjustment to a NIR pass 2024-03-26 09:24:25 +01:00
pan_collect_varyings.c pan/bi: Rework indices for attributes on Valhall 2024-03-11 09:23:56 +00:00
pan_ir.c panfrost: clang-format the tree 2022-12-24 02:22:57 +00:00
pan_ir.h panfrost: Move the image attribute offset adjustment to a NIR pass 2024-03-26 09:24:25 +01:00
pan_liveness.c panfrost: clang-format the tree 2022-12-24 02:22:57 +00:00
pan_lower_framebuffer.c treewide: Drop nir_ssa_for_src users 2023-09-18 10:25:17 -04:00
pan_lower_framebuffer.h pan/lower_framebuffer: Lower MSAA blend shaders 2023-03-23 23:53:46 +00:00
pan_lower_helper_invocation.c treewide: Use nir_shader_intrinsic_pass sometimes 2023-08-24 15:48:02 +00:00
pan_lower_image_index.c panfrost: Move the image attribute offset adjustment to a NIR pass 2024-03-26 09:24:25 +01:00
pan_lower_image_ms.c panfrost: add lowering pass for multisampled images 2024-02-26 19:01:32 +00:00
pan_lower_sample_position.c treewide: Also handle struct nir_builder form 2023-08-24 15:48:02 +00:00
pan_lower_store_component.c treewide: Use nir_shader_intrinsic_pass sometimes 2023-08-24 15:48:02 +00:00
pan_lower_writeout.c panfrost: Fix dual-source blending 2024-02-05 13:25:56 +00:00
pan_lower_xfb.c treewide: Use nir_shader_intrinsic_pass sometimes 2023-08-24 15:48:02 +00:00