Commit Graph

215452 Commits

Author SHA1 Message Date
Silvio Vilerino 0313c81409 mediafoundation: Take m_EncoderLock only for work submission in ProcessInput
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38750>
2025-12-01 19:36:06 +00:00
Silvio Vilerino 9ce3dc81c8 mediafoundation: Remove redundant fence openings in ProcessInput
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38750>
2025-12-01 19:36:04 +00:00
Silvio Vilerino 3917a5d12a mediafoundation: Move dpb_buffer_manager::get_read_only_handle into d3d12 driver and cache resource
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38750>
2025-12-01 19:36:04 +00:00
Aitor Camacho 16c98f4f18 vulkan/cmd_queue: Use vk_strdup and free allocated string memory
Fixes: 9082715ab0 ("vk/cmd_queue: generate copies for string struct members")

Reviewed-by: Karmjit Mahil <karmjit.mahil@igalia.com>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38634>
2025-12-01 18:44:47 +00:00
Natalie Vock a7a4abc8d8 radv: Move VMID reservation to vkCreateDevice
DXVK's DXGI implementation can create extra instances used for
enumerating physical devices besides the games' instance. When reserving
VMIDs for SPM, the DXGI instances may snatch the VMID reservation early,
making VMID reservation for the instance that actually needs it fail.
This starts being a problem on kernels 6.18+ where only one user may
reserve a VMID at a time.

Move reserving VMIDs to SQTT initialization inside vkCreateDevice so
that only the instances that actually create logical devices try
reserving VMIDs.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38746>
2025-12-01 17:35:14 +00:00
Benjamin Cheng fa1fd2413f radv/video: Fix force_integer_mv=1 on intra frame
According to AV1 spec, force_integer_mv=1 on intra frames. However, VCN
FW does not expect integer mv to be set unless screen content tools are
enabled. This also aligns the code to the radeonsi logic.

Cc: mesa-stable
Reviewed-by: David Rosca <david.rosca@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38716>
2025-12-01 17:12:00 +00:00
Sergi Blanch Torne 076a383437 Revert "ci: disable Collabora's farm due to maintenance"
This reverts commit 7c36fc1b74.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38736>
2025-12-01 13:41:54 +00:00
Eric R. Smith 6735fe939a panvk: enable ycbcr on bifrost
This also enables EXT_image_drm_format_modifier, which depends on
ycbcr.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38145>
2025-12-01 13:22:40 +00:00
Boris Brezillon 3f021404eb panvk/bifrost: Fix YCbCr texture/sampler array indexing
When the number of planes per descriptor is greater than one, the layout
used on Bifrost doesn't work. Fix that by making sure all plane
descriptors are contiguous in the texture/sampler table.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Eric R. Smith <eric.smith@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38145>
2025-12-01 13:22:38 +00:00
Eric R. Smith e1a0f2260b panvk: fix ycbcr format issues on bifrost
When preparing the attribute buffer descriptor,  need to select the
correct plane index for multi-planar images (like ycbcr ones)

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38145>
2025-12-01 13:22:37 +00:00
Mary Guillemard 072ea76a47 nvk: Implement ISBE space sharing on vertex stage
When a vertex shader does not load any input attributes after any store
of output attributes, we can enable bit 25 of SPH ("ISBE space sharing")

Effectively this seems to allow input and output attributes to live in
the same allocated space in ISBE and could improve occupancy.

Found while researching geometry passthrough and mesh shaders.

Signed-off-by: Mary Guillemard <mary@mary.zone>
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38729>
2025-12-01 10:53:53 +01:00
Aitor Camacho 60f6bd4761 kk: Clamp negative array indices to 0
Required so that uint array formats don't incorrectly wrap to last array
slice instead of the first one. For some reason this only happens with
uint texture formats while int and float formats work as expected.

Acked-by: Arcady Goldmints-Orlov <arcady@lunarg.com>
Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38713>
2025-12-01 09:09:58 +00:00
Samuel Pitoiset 5527b71bce ci: uprev VKCTS main to 211e452358f5cafd14bdd76d78342b62741e94aa
RADV is the only driver using main.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38651>
2025-12-01 08:21:38 +01:00
Sergi Blanch Torne 7c36fc1b74 ci: disable Collabora's farm due to maintenance
Planned downtime in the farm:
* Start: 2025-12-01 08:00 UTC
* End: 2025-12-01 14:00 UTC

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38649>
2025-12-01 07:02:38 +00:00
Qiang Yu 2f6a034528 glsl: support barrier() for task and mesh shader
It was ignored when translating glsl to nir.

Fixes: d52452a486 ("glsl: allow barrier builtin functions for mesh shader")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38692>
2025-12-01 02:33:00 +00:00
Benjamin Cheng 9e37969179 radv/video: Override direct_spatial_mv_pred to 1
VCN always uses spatial direct mode.

Cc: mesa-stable
Reviewed-by: David Rosca <david.rosca@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38686>
2025-11-30 15:37:46 +00:00
Benjamin Cheng e5a9b1f28a radv/video: Support two L0 refs on VCN3+
Reviewed-by: David Rosca <david.rosca@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38686>
2025-11-30 15:37:45 +00:00
Benjamin Cheng ab56ce154b radv/video: Fix H264/H265 reference selection
The order of pReferenceSlots is not well-defined by spec. Instead we
need to look at the RefPicList0/1 which provides slot indices.

Cc: mesa-stable
Reviewed-by: David Rosca <david.rosca@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38686>
2025-11-30 15:37:44 +00:00
Benjamin Cheng 2e21eec921 radv/video: Fix num_ref_idx_l{0,1} related overrides
Since we only support 1 L0/L1 ref, the default num refs in the PPS
should always be 0. With that there never any need to set the override
flag in the slice header (until more references are supported).
Also the ref pic list modifications should be clamped to the size of the
ref pic list.

This fixes an issue seen with dEQP-VK.video.encode.h264.i_p_b_13_*.

Cc: mesa-stable
Reviewed-by: David Rosca <david.rosca@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38686>
2025-11-30 15:37:44 +00:00
spencer-lunarg 9a497d6fc1 lavapipe: Check for VkCopyMemoryIndirectCommandKHR::size of zero
Adds a bit of robustness to indirect memory copies

Signed-off-by: spencer-lunarg <spencer@lunarg.com>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38384>
2025-11-30 13:10:34 +00:00
Hans-Kristian Arntzen d7cf200b49 vulkan/wsi: Add missing KHR_surface_maintenance1 promotions.
Weird that CTS did not catch that ...

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Fixes: 11195eb8de ("vulkan: Add KHR_swapchain_maintenance1 promotions.")
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38728>
2025-11-30 12:17:33 +01:00
Hans-Kristian Arntzen 11195eb8de vulkan: Add KHR_swapchain_maintenance1 promotions.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37157>
2025-11-30 10:30:53 +01:00
Hans-Kristian Arntzen 974dba2afe vulkan/wsi: Promote EXT_swapchain/surface_maintenance1.
No spec changes, just update the enums and types.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37157>
2025-11-30 10:30:52 +01:00
Yiwei Zhang 6b9c4535f9 venus: support VK_EXT_shader_uniform_buffer_unsized_array
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38722>
2025-11-30 08:09:20 +00:00
Yiwei Zhang 918f81ff05 venus: support VK_EXT_shader_float8
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38722>
2025-11-30 08:09:20 +00:00
Yiwei Zhang d1181b6cb7 venus: support VK_KHR_shader_untyped_pointers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38722>
2025-11-30 08:09:20 +00:00
Yiwei Zhang 7949aeafaf venus: support VK_KHR_shader_bfloat16
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38722>
2025-11-30 08:09:19 +00:00
Yiwei Zhang 219bb0e01e venus: support VK_KHR_cooperative_matrix
Tested with dEQP-VK.compute.pipeline.cooperative_matrix.* on anv with
INTEL_LOWER_DPAS=true

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38722>
2025-11-30 08:09:19 +00:00
Yiwei Zhang 463ab89afb venus: sync latest protocol for more shader extensions support
Below are added:
- VK_KHR_cooperative_matrix
- VK_KHR_shader_bfloat16
- VK_KHR_shader_untyped_pointers
- VK_EXT_shader_float8
- VK_EXT_shader_uniform_buffer_unsized_array

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38722>
2025-11-30 08:09:19 +00:00
Yiwei Zhang 5ca8113eb9 venus: sync protocol for sorted VkCommandTypeEXT enum defines
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38722>
2025-11-30 08:09:19 +00:00
Calder Young c0d809820f intel: Fix calculation of max_scratch_ids on fused devices
The subslice IDs provided by the SR0.0 EU register are not adjusted to account
for fusing, so the upper bound max_scratch_ids can vary from device to device
depending on what specific slices were fused during manufacturing.

Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38689>
2025-11-29 15:10:29 +00:00
Georg Lehmann d86f5f6bcb aco/optimizer: apply omod to pseudo scalar trans instructions
Foz-DB Navi48:
Totals from 2062 (2.11% of 97637) affected shaders:
Instrs: 8061281 -> 8055482 (-0.07%); split: -0.07%, +0.00%
CodeSize: 42727968 -> 42696504 (-0.07%); split: -0.07%, +0.00%
Latency: 54739436 -> 54737749 (-0.00%); split: -0.00%, +0.00%
InvThroughput: 10833704 -> 10833346 (-0.00%); split: -0.00%, +0.00%
VClause: 167276 -> 167275 (-0.00%)
SClause: 160183 -> 160163 (-0.01%); split: -0.02%, +0.01%
Copies: 684315 -> 683984 (-0.05%); split: -0.05%, +0.00%
PreSGPRs: 146747 -> 146746 (-0.00%)
VALU: 4377180 -> 4377168 (-0.00%); split: -0.00%, +0.00%
SALU: 1255321 -> 1251342 (-0.32%); split: -0.32%, +0.00%
VOPD: 16467 -> 16469 (+0.01%)

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38658>
2025-11-29 08:27:59 +00:00
Georg Lehmann b82339d99e aco/optimizer: use new helpers for omod/clamp
Also resolves the old TODO about using omod for multiplication
with negative 0.5, 2.0 or 4.0.

Foz-DB Navi21:
Totals from 5680 (5.82% of 97591) affected shaders:
MaxWaves: 111976 -> 111974 (-0.00%)
Instrs: 12013419 -> 12003946 (-0.08%); split: -0.08%, +0.00%
CodeSize: 65379508 -> 65364884 (-0.02%); split: -0.04%, +0.02%
VGPRs: 375840 -> 375856 (+0.00%); split: -0.00%, +0.01%
Latency: 85804600 -> 85784850 (-0.02%); split: -0.03%, +0.01%
InvThroughput: 20705698 -> 20692571 (-0.06%); split: -0.07%, +0.00%
VClause: 269772 -> 269606 (-0.06%); split: -0.09%, +0.03%
SClause: 324997 -> 324934 (-0.02%); split: -0.03%, +0.01%
Copies: 963255 -> 963264 (+0.00%); split: -0.06%, +0.06%
Branches: 326691 -> 326688 (-0.00%); split: -0.00%, +0.00%
PreSGPRs: 345106 -> 345109 (+0.00%)
PreVGPRs: 317681 -> 317729 (+0.02%)
VALU: 8372681 -> 8363374 (-0.11%); split: -0.11%, +0.00%
SALU: 1456669 -> 1456589 (-0.01%); split: -0.01%, +0.01%

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38658>
2025-11-29 08:27:59 +00:00
Georg Lehmann 69b5767eee aco/optimizer: use new helpers to create v_fma_mixlo_f16
Foz-DB Navi21:
Totals from 69 (0.07% of 97591) affected shaders:
Instrs: 45091 -> 45057 (-0.08%)
CodeSize: 244016 -> 243932 (-0.03%); split: -0.12%, +0.09%
VGPRs: 1792 -> 1680 (-6.25%)
Latency: 133496 -> 133572 (+0.06%); split: -0.03%, +0.09%
InvThroughput: 35383 -> 35338 (-0.13%)
Copies: 4050 -> 4048 (-0.05%)
VALU: 30172 -> 30138 (-0.11%)

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38658>
2025-11-29 08:27:58 +00:00
Georg Lehmann ee28801eae aco/optimizer: use new helpers to apply insert
Foz-DB Navi21:
Totals from 505 (0.52% of 97591) affected shaders:
Instrs: 1438254 -> 1436780 (-0.10%); split: -0.11%, +0.01%
CodeSize: 8063364 -> 8054192 (-0.11%); split: -0.13%, +0.01%
Latency: 18596788 -> 18597262 (+0.00%); split: -0.01%, +0.01%
InvThroughput: 5213861 -> 5213061 (-0.02%); split: -0.02%, +0.01%
VClause: 37121 -> 37130 (+0.02%)
Copies: 174744 -> 175222 (+0.27%); split: -0.07%, +0.34%
Branches: 65722 -> 65718 (-0.01%)
VALU: 912967 -> 911074 (-0.21%); split: -0.21%, +0.00%
SALU: 251045 -> 251560 (+0.21%); split: -0.01%, +0.21%

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38658>
2025-11-29 08:27:58 +00:00
Georg Lehmann d60ce9ceef aco/optimizer: use new helpers to apply packed fsat
No Foz-DB changes.

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38658>
2025-11-29 08:27:57 +00:00
Georg Lehmann 0a82c8cb13 aco/optimizer: back propagate modifiers through rcp
Foz-DB Navi21:
Totals from 5 (0.01% of 97591) affected shaders:
Instrs: 1473 -> 1468 (-0.34%)
CodeSize: 7664 -> 7660 (-0.05%)
Latency: 25897 -> 25863 (-0.13%)
InvThroughput: 2737 -> 2731 (-0.22%)
VALU: 1141 -> 1136 (-0.44%)

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38658>
2025-11-29 08:27:57 +00:00
Georg Lehmann 4442064449 aco/optimizer: use new helpers to apply neg/abs to output of instructions
Foz-DB Navi21:
Totals from 6765 (6.93% of 97591) affected shaders:
MaxWaves: 134398 -> 134408 (+0.01%)
Instrs: 9775725 -> 9768079 (-0.08%); split: -0.08%, +0.01%
CodeSize: 50785228 -> 50777880 (-0.01%); split: -0.02%, +0.01%
VGPRs: 445840 -> 445784 (-0.01%)
SpillSGPRs: 14483 -> 14476 (-0.05%)
Latency: 40232431 -> 40230284 (-0.01%); split: -0.04%, +0.03%
InvThroughput: 10339051 -> 10329846 (-0.09%); split: -0.09%, +0.00%
VClause: 186785 -> 186788 (+0.00%); split: -0.01%, +0.01%
SClause: 157106 -> 157116 (+0.01%); split: -0.00%, +0.01%
Copies: 746817 -> 745378 (-0.19%); split: -0.26%, +0.07%
Branches: 189298 -> 189211 (-0.05%); split: -0.06%, +0.01%
PreSGPRs: 346169 -> 346158 (-0.00%)
PreVGPRs: 370712 -> 370660 (-0.01%); split: -0.02%, +0.00%
VALU: 6847295 -> 6839753 (-0.11%); split: -0.11%, +0.00%
SALU: 1139960 -> 1139942 (-0.00%); split: -0.00%, +0.00%

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38658>
2025-11-29 08:27:56 +00:00
Georg Lehmann 58f407702d aco/optimizer: handle gfx11+ vinterp as fma special case
No effect on its own, but will be important for output modifiers.

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38658>
2025-11-29 08:27:56 +00:00
Georg Lehmann 37d3c63a12 aco/optimizer: add new helpers for applying output modifiers
To replace the old instr_mod_labels.

Foz-DB Navi21:
Totals from 683 (0.70% of 97591) affected shaders:
Instrs: 3341288 -> 3340447 (-0.03%); split: -0.03%, +0.00%
CodeSize: 18522460 -> 18520212 (-0.01%); split: -0.01%, +0.00%
Latency: 34359519 -> 34358772 (-0.00%); split: -0.00%, +0.00%
InvThroughput: 9229621 -> 9229494 (-0.00%); split: -0.00%, +0.00%
Copies: 368383 -> 368260 (-0.03%); split: -0.04%, +0.00%
PreSGPRs: 48060 -> 48061 (+0.00%)
SALU: 543991 -> 543150 (-0.15%); split: -0.16%, +0.00%

Changes are caused by optimizing not(salu) without killed scc.

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38658>
2025-11-29 08:27:56 +00:00
Georg Lehmann fc29821d3b aco/optimizer: move med3 -> add_clamp opt later
Soon we will apply omod later,
when the combine_instruction reaches the multiplication with constant.

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38658>
2025-11-29 08:27:55 +00:00
Georg Lehmann 39a61502e5 aco/opt_postRA: allow v_cmpx to clobber exec before nop split/create vector
Kind of ugly, but I really hate seeing this in every rt traversal loop:

image_bvh64_intersect_ray v[56:59], [v40, v41, v42, v47, v48, v49, v50, v51, v52, v53, v54, v55], s[44:47]
v_cmp_class_f32_e64 s57, 0xff800000, v12
s_and_b32 exec_lo, s57, exec_lo
s_cbranch_execz BB219

Foz-DB Navi21:
Totals from 3394 (3.48% of 97591) affected shaders:
Instrs: 9536259 -> 9533592 (-0.03%)
CodeSize: 51657072 -> 51640120 (-0.03%); split: -0.03%, +0.00%
Latency: 109493553 -> 109513317 (+0.02%); split: -0.01%, +0.02%
InvThroughput: 29125525 -> 29131876 (+0.02%); split: -0.00%, +0.02%
Copies: 815888 -> 818219 (+0.29%); split: -0.01%, +0.30%
Branches: 277451 -> 277449 (-0.00%)
SALU: 1217642 -> 1214976 (-0.22%)

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38697>
2025-11-29 08:02:24 +00:00
Marek Olšák 1f2d129bfa gallium: add a flag to finalize_nir to allow drivers to skip NIR opts
This could help achieve better compile times.

Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38600>
2025-11-29 07:29:05 +00:00
Marek Olšák 9294448fe1 nir/recompute_io_bases: report progress only if anything was changed
also preserve all metadata because it doesn't add/remove any instructions

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38599>
2025-11-29 05:00:40 +00:00
Marek Olšák e6499fa73e nir/recompute_io_bases: move color input bases after all other inputs
This is related to the FS prolog.
It should have no effect on other drivers.

v2: make it optional via io_options

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com> (v1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38599>
2025-11-29 05:00:40 +00:00
Marek Olšák 18a338066b nir/recompute_io_bases: don't use safe iterators
the pass doesn't remove anything

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38599>
2025-11-29 05:00:40 +00:00
Faith Ekstrand 4711e5954e nir: Always use sysvals in lower_input_attachments()
The last holdouts of the var options are gone so we can just emit the
system values.  This is overall simpler as it confines all the sysval to
var logic to nir_lower_sysvals_to_varyings().

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38562>
2025-11-29 00:50:34 +00:00
Faith Ekstrand 5bbbf5cf9b tu: Set use_layer_id_sysval for nir_lower_input_attachments
We can just use nir_lower_sysvals_to_varyings instead.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38562>
2025-11-29 00:50:33 +00:00
Faith Ekstrand b02a98d7d8 microsof: Run lower_sysvals_to_varyings after lower_input_attachments
This lets us request system values from lower_input_attachments and just
lower them ourselves instead of asking it to create variables.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38562>
2025-11-29 00:50:32 +00:00
Faith Ekstrand 82280a7e86 nir: Support sysval intrinsics in lower_sysvals_to_varyings()
Since this is a downgrade path for drivers, it's useful to support both
forms of these common sysvals.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38562>
2025-11-29 00:50:32 +00:00