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
Faith Ekstrand
0c36c39103
spirv: Emit SYSTEM_VALUE_LAYER_ID for fragment shaders
...
We have nir_lower_sysvals_to_varyings() so we can just have that lower
it for the drivers who don't want a sysval. Most have to support the
sysval version anyway for various lowering so making them all have to
support both is pretty annoying.
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
Faith Ekstrand
701a9c269e
nir: Add LAYER_ID and VIEW_INDEX 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:31 +00:00
Marek Olšák
fa0bea5ff8
nir: remove nir_io_add_const_offset_to_base
...
nir_opt_constant_folding does it now.
Acked-by: Emma Anholt <emma@anholt.net >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38277 >
2025-11-29 00:16:38 +00:00
Marek Olšák
726bbb352e
nir/opt_constant_folding: add nir_io_add_const_offset_to_base behavior
...
We almost always call both passes next to each other.
The code is copied from nir_io_add_const_offset_to_base. No changes.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38277 >
2025-11-29 00:16:38 +00:00
Marek Olšák
9a56672f56
nir: add shader_info::disable_input/output_offset_src_constant_folding
...
and set it where needed to prevent nir_opt_constant_folding from breaking
those drivers.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38277 >
2025-11-29 00:16:38 +00:00
Marek Olšák
7330bca9db
nir: handle load_fs_input_interp_deltas in nir_is_input_load
...
for nir_opt_constant_folding
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38277 >
2025-11-29 00:16:37 +00:00