mesa/src/panfrost/util
Lars-Ivar Hesselberg Simonsen 6d5ae5b3af panvk: Use LD_VAR[_IMM] + ADs for varyings
The current implementation uses LD_VAR_BUF[_IMM] to look up varyings,
which limits the number of varying components to 64 due to an 8-bit
offset value.

As this does not align to maxVertexOutputComponents (128), this change
replaces the use of LD_VAR_BUF[_IMM] with LD_VAR[_IMM] + Attribute
Descriptors, which do not have this limitation.

As allocating Attribute Descriptors is potentially expensive, this can
be further optimized by falling back to LD_VAR_BUF[_IMM] in cases where
we can ensure we do not use more than 64 varying components.

This change currently does not change behavior for gallium/panfrost,
though that should be done as well.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32969>
2025-01-22 20:57:18 +00: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: Kill panfrost-job.h 2025-01-07 11:10:55 +00:00
pan_collect_varyings.c panvk: use static noperspective when statically linking VS and FS 2025-01-03 07:04:05 +00:00
pan_ir.c panfrost: clang-format the tree 2022-12-24 02:22:57 +00:00
pan_ir.h panvk: Use LD_VAR[_IMM] + ADs for varyings 2025-01-22 20:57:18 +00:00
pan_liveness.c panfrost: clang-format the tree 2022-12-24 02:22:57 +00:00
pan_lower_frag_coord_zw.c panfrost: add intrinsic to load frag coord at a barycentric 2025-01-03 07:04:05 +00:00
pan_lower_framebuffer.c panfrost: use mesa_log infra instead of stdio 2024-11-13 09:15:05 +00: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_metadata_control_flow 2024-06-17 16:28:14 -04:00
pan_lower_image_index.c treewide: use nir_metadata_control_flow 2024-06-17 16:28:14 -04:00
pan_lower_image_ms.c panfrost: add support for image2DMSArray on bifrost 2024-08-23 16:57:58 +00:00
pan_lower_noperspective.c panfrost: add pass to lower noperspective varyings to a constant 2025-01-03 07:04:05 +00:00
pan_lower_sample_position.c panvk: fix sample position when sample shading is disabled 2024-12-18 10:04:14 +00:00
pan_lower_store_component.c panvk: add note about pan_lower_store_component requirements 2024-12-09 20:31:49 +00:00
pan_lower_vertex_id.c pan: Don't pretend we support load_{vertex_id_zero_base,first_vertex} 2025-01-07 08:15:19 +00:00
pan_lower_writeout.c panfrost: ensure sample_mask is written before color 2025-01-08 16:45:21 +00:00
pan_lower_xfb.c pan: Don't pretend we support load_{vertex_id_zero_base,first_vertex} 2025-01-07 08:15:19 +00:00