mesa/src
Kenneth Graunke 248050b6d0 brw: Add a quick NIR-based register pressure estimate pass
This tries to calculate an underestimate (lower bound) for the register
pressure at various SIMD widths, by counting live values in the NIR
shader.  This fundamentally won't be accurate, but it can give us an
idea of whether it's even worth trying a certain SIMD-width compile.

Doing this at the NIR level means we:
- Can use SSA structure rather than fuzzy liveness intervals
- Can avoid the backend scheduler aggressively trying to hide latency,
  presenting an overinflated view of the register pressure
- Have divergence information on-hand, making it easier to "scale up"
- Can skip cloning and optimizing NIR for compute shader SIMD widths

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36750>
2025-09-30 19:44:03 +00:00
..
amd radv: add a helper whether shader fp16 is enabled 2025-09-29 16:17:11 +00:00
android_stub
asahi nir/lower_alpha: extend to support dynamic a2c 2025-09-30 12:15:53 +00:00
broadcom v3dv: Add support for 16bit normalised formats 2025-09-30 12:48:43 +00:00
c11
compiler nir: Add load_simd_width_intel to divergence analysis 2025-09-30 19:44:02 +00:00
drm-shim drm-shim: fix with asan 2025-09-03 11:47:00 +00:00
egl egl: Fix invalid device UUID returned by EGL_EXT_device_persistent_id 2025-09-29 12:56:59 +00:00
etnaviv etnaviv: Update headers from rnndb 2025-09-26 10:30:16 +00:00
freedreno tu/perfetto: Use a separate track for VK_EXT_debug_utils labels 2025-09-26 15:45:21 +00:00
gallium gallium/vl: Fix building vl_stubs 2025-09-30 13:40:06 +00:00
gbm egl,glx: allow OpenGL with old libx11, but disable glthread if it's unsafe 2025-08-21 02:05:26 +00:00
getopt
gfxstream vulkan: Compute path to write into JSON manifests once, use it everywhere 2025-09-26 10:47:31 +00:00
glx glx: Fix segfault when Nvidia PRIME render offload is enabled, but not used 2025-09-20 08:43:00 +00:00
gtest
imagination pvr, pco: add primitive support for terminate,demote_to_helper}_invocation 2025-09-30 12:15:54 +00:00
imgui imgui: Silence build warnings for imgui 2025-09-16 06:16:19 +00:00
intel brw: Add a quick NIR-based register pressure estimate pass 2025-09-30 19:44:03 +00:00
loader meson: use the wayland module 2025-09-22 16:35:26 +00:00
mesa mesa: delete task and mesh programs on context destroy 2025-09-30 11:22:28 +00:00
microsoft vulkan: Compute path to write into JSON manifests once, use it everywhere 2025-09-26 10:47:31 +00:00
nouveau nvk: allow host image copy on non host visible heaps 2025-09-29 12:28:49 +00:00
panfrost panvk, vk/meta: Move D/S sanitizing to panvk 2025-09-30 13:14:18 +00:00
tool clang-format: Update the .clang-format files to conformance clang-format json-schema 2025-09-09 07:04:55 +00:00
util util/macros: Add ATTRIBUTE_COLD 2025-09-26 19:40:45 +00:00
virtio vulkan: Compute path to write into JSON manifests once, use it everywhere 2025-09-26 10:47:31 +00:00
vulkan panvk, vk/meta: Move D/S sanitizing to panvk 2025-09-30 13:14:18 +00:00
x11 meson: add missing x11 dependency on libloader_x11 2025-08-08 21:45:59 +00:00
.clang-format clang-format: Move ForEachMacros into src/.clang-format for freedreno 2025-09-09 07:04:55 +00:00
git_sha1.h.in meson: use vcs_tag() instead of custom script 2025-09-24 18:49:37 +00:00
meson.build meson: use vcs_tag() instead of custom script 2025-09-24 18:49:37 +00:00