mesa/src
Kenneth Graunke 6fbe201a12 brw: Convert VS/TES/GS outputs to URB intrinsics.
For VS/TES/GS, we lower all outputs to temporaries and emit copies at the
end of the shader (or for GS, at each EmitVertex() call) from those
temporaries back to real outputs.  We use vec8 URB writes without
writemasking, since our output area's contents are undefined anyhow.

This is simpler than what TCS and Mesh do, which allow for output
variables to be read/written at a per-component level at any time,
with the output memory being used for cross-thread communication.

Rather than using the complicated TCS/Mesh handling and relying on
vectorization, we port the emit_urb_writes() approach to NIR.  This
also takes care of emitting the VUE header with default values when
fields aren't explicitly written by the shader.

We also handle multiview in the process.  It simplifies things, and
also drops another case of non-semantic IO in brw.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39666>
2026-02-03 19:11:21 +00:00
..
amd ci/deqp-runner: Enable a common single-threaded test list. 2026-02-03 17:34:09 +00:00
android_stub android_stub: fix missing prototypes issues 2025-12-02 20:03:02 +00:00
asahi pvr,pan,agx: drop cargo-culted nir_opt_loop calls 2026-02-02 23:16:22 +00:00
broadcom ci/rpi4: Move OOM-causing test skips to the single-thread list. 2026-02-03 17:34:09 +00:00
c11 c11/threads: fix build on c23 2025-11-10 07:01:50 +10:00
compiler nir: reassociate a $op (b ? #c : #d) for div, mod, rem 2026-02-02 21:34:48 +00:00
drm-shim drm-shim: handle DRM_CAP_ADDFB2_MODIFIERS 2025-11-24 12:34:08 +00:00
egl zink/kopper: Allow surface creation for Pixmaps (non-window surfaces) 2026-01-30 19:00:54 +00:00
etnaviv etnaviv: hwdb: Add BLT_64BPP_MASKED_CLEAR_FIX cap 2026-01-27 00:57:26 +00:00
freedreno ci/tu: Move vkd3d-proton testing from nightly to pre-merge. 2026-02-03 17:34:09 +00:00
gallium etnaviv: idle the pipe before flushing texture caches 2026-02-03 18:24:14 +00:00
gbm gbm: Make documentation for gbm_bo_map more explicit 2025-12-29 10:05:38 +00:00
getopt
gfxstream gfxstream: fix build after vk.xml update 2026-01-26 18:25:51 +00:00
glx driconf: add a way to override GLX_CONTEXT_RESET_ISOLATION_BIT_ARB 2025-12-17 23:35:24 +00:00
gtest
imagination ci/deqp-runner: Enable a common single-threaded test list. 2026-02-03 17:34:09 +00:00
imgui imgui: Silence build warnings for imgui 2025-09-16 06:16:19 +00:00
intel brw: Convert VS/TES/GS outputs to URB intrinsics. 2026-02-03 19:11:21 +00:00
kosmickrisp kk: Move nir_opt_shrink_stores after nir_opt_remove_phis for correct shrink 2026-01-28 15:12:39 +00:00
loader loader: fix UB in wayland helper code. 2026-01-03 07:56:38 +00:00
mesa gallium: Add pipe cap for masked clears and support stencil masking 2026-01-27 00:57:26 +00:00
microsoft vk: descriptors: sort bindings along with flags 2026-01-20 15:55:47 +00:00
nouveau nvk: Report additional host_image_copy layouts 2026-01-31 17:49:14 +00:00
panfrost ci/vulkan: Enable dEQP-VK.wsi.direct_drm testing. 2026-02-03 17:34:09 +00:00
poly panvk/csf: implement VK_EXT_primitives_generated_query primitive restart 2026-01-21 09:03:34 +00:00
tool pps/meson: minor refactor for pps_deps 2025-11-08 18:39:00 -08:00
util freedreno,u_trace: Fix various UBSAN errors 2026-02-03 16:14:35 +00:00
virtio Uprev ANGLE to 63d1dd7c2dfccf6acbd92af224b48aa6ada45f1c 2026-02-02 19:05:23 +00:00
vulkan util: allow string shader "statistics" 2026-02-02 23:30:24 +00:00
x11 treewide: strip unneeded inc_gallium inc_gallium_aux 2025-11-13 22:01:43 +00:00
.clang-format util: Add sparse bitset data structure 2025-11-06 21:34:33 +00:00
meson.build kk: Add KosmicKrisp 2025-10-20 17:46:38 +00:00