mesa/src/panfrost
Olivia Lee 7fe842663e pan/bi: push blend constants to FAU
This improves blend shader performance slightly over loading the
constants from the sysval UBO. On bifrost, we have 128 FAU words, so
reserving 4 words for blend constants is not a significant cost. On
midgard, register mapped uniforms share space with working registers.
With high working register pressure, we only allocate 32 uniform
registers, and so would lose 1/8 of available space to blend constants
if we implemented the same optimization.

This improves gfxbench gl_driver FPS on G610 from 40.48 to 42.39. I did
not measure any regressions on benchmarks I tested that did not use
blend shaders.

Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Acked-by: Ryan Mckeever <ryan.mckeever@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34666>
2025-05-07 07:55:44 +00:00
..
ci ci: rename misleading *-postmerge stages to *-nightly 2025-04-29 05:49:00 +00:00
clc pan/clc: Build for v13 2025-04-15 13:36:07 +02:00
compiler pan/bi: push blend constants to FAU 2025-05-07 07:55:44 +00:00
drm-shim panfrost: Fix group priorities in drm-shim 2025-02-05 13:30:29 +00:00
ds panfrost/pps: fix omitting several counters 2025-04-05 08:06:00 +00:00
lib panfrost: pass blend constants to blend shaders dynamically 2025-05-07 07:55:44 +00:00
libpan pan/clc: Build for v13 2025-04-15 13:36:07 +02:00
midgard panfrost: pass blend constants to blend shaders dynamically 2025-05-07 07:55:44 +00:00
perf pan/kmod: Add drmIoctl() wrapper pan_kmod_ioctl() with CPU trace 2025-04-15 10:37:39 +00:00
shared panfrost,lima: use index size in panfrost minmax_cache 2025-04-07 16:53:22 +00:00
tools build: pass licensing information in SPDX form 2024-06-29 12:42:49 -07:00
util panfrost: allow promoting sysval UBO to push constants 2025-04-24 08:20:41 +00:00
vulkan panfrost: pass blend constants to blend shaders dynamically 2025-05-07 07:55:44 +00:00
.clang-format pan/cs: cs_{break,continue} are not for_each macros 2025-01-15 14:07:37 +00:00
meson.build panfrost: build panfrost_compile for -Dtools=panfrost 2025-04-30 14:23:53 +00:00