mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-18 07:18:06 +02:00
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> |
||
|---|---|---|
| .. | ||
| lcra.c | ||
| lcra.h | ||
| meson.build | ||
| pan_collect_varyings.c | ||
| pan_ir.c | ||
| pan_ir.h | ||
| pan_liveness.c | ||
| pan_lower_frag_coord_zw.c | ||
| pan_lower_framebuffer.c | ||
| pan_lower_framebuffer.h | ||
| pan_lower_helper_invocation.c | ||
| pan_lower_image_index.c | ||
| pan_lower_image_ms.c | ||
| pan_lower_noperspective.c | ||
| pan_lower_sample_position.c | ||
| pan_lower_store_component.c | ||
| pan_lower_vertex_id.c | ||
| pan_lower_writeout.c | ||
| pan_lower_xfb.c | ||