mesa/src/panfrost
Lorenzo Rossi caf5a2640b panvk,panfrost: Always emit ld_var_buf when possible
Previously the driver decided when the backend should use
LD_VAR_BUF[_IMM] instructions based on the total number of varyings
read, falling back to LD_VAR[_IMM] + descriptors when the varying index
could overflow the immediate index in the instructions.  That means that
even adding a single varying read could overflow the index and make
everything fall back to LD_VAR.

With this patch the backend decides when to use LD_VAR_BUF for each
varying load, reporting that decision to the driver.  This helps with
index overflows because only the instruction that actually overflow the
immediate use the LD_VAR fallback, leaving all other instructions on the
fast path.

Signed-off-by: Lorenzo Rossi <lorenzo.rossi@collabora.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40515>
2026-03-20 18:47:11 +00:00
..
ci panvk: Use a new, more compact varying layout 2026-03-12 22:59:14 +00:00
clc pvr,pan,agx: drop cargo-culted nir_opt_loop calls 2026-02-02 23:16:22 +00:00
compiler panvk,panfrost: Always emit ld_var_buf when possible 2026-03-20 18:47:11 +00:00
drm-shim panfrost: SPDX everything 2026-01-20 20:49:33 +00:00
ds panfrost: Add a few missing license blocks 2026-01-20 20:49:33 +00:00
genxml pan/genxml: remove non-existent YUV Enable for AFRC 2026-03-19 12:00:46 +00:00
lib pan/lib: drop redundant assign 2026-03-19 12:00:47 +00:00
libpan panvk/csf: implement VK_EXT_primitives_generated_query primitive restart 2026-01-21 09:03:34 +00:00
model panfrost: SPDX everything 2026-01-20 20:49:33 +00:00
perf panfrost: Add a few missing license blocks 2026-01-20 20:49:33 +00:00
shared panfrost: drop email from ancient copyright lines 2026-02-23 20:04:12 +00:00
tools panfrost: SPDX everything 2026-01-20 20:49:33 +00:00
vulkan panvk,panfrost: Always emit ld_var_buf when possible 2026-03-20 18:47:11 +00:00
.clang-format pan: Add some missing ForEachMacros to .clang-format 2026-02-03 13:26:12 +00:00
meson.build pan: Add a central libpanfrost_compiler library 2025-12-02 21:00:30 +00:00