Caio Oliveira
d3bdddcf2a
spirv: Use NIR_PASS for spirv2nir --optimize
...
This allows us to use NIR_DEBUG=print to see each step.
Also use an OPT macro to make code slightly more readable.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22764 >
2023-05-11 19:53:17 +00:00
Caio Oliveira
f4c4832689
spirv: Do more on spirv2nir --optimize
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22764 >
2023-05-11 19:53:16 +00:00
Alyssa Rosenzweig
18e19882fa
nir: Model AGX-specific multiply-shift-add
...
Models `(a * b) + (c << d)` in general, as implemented in various forms on AGX.
This will be fused with backend NIR opt algebraic rules, both for the literal
pattern as well as to strength reduce certain multiplications, e.g. replacing
a * 5 with `a + (a << 2)` expressed as imadshl_agx(a, 1, a, 2).
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Asahi Lina <lina@asahilina.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22695 >
2023-05-11 09:23:09 -04:00
Alyssa Rosenzweig
0eb5f8e765
nir: Add nir_alu_src_as_uint helper
...
We have a few ALU instructions that take a constant source. Technically, they
have a swizzle so you can't just nir_src_as_uint them, even though a bunch of
backends do. To help backends do the right thing, add a helper that's just as
easy to use that will chase the swizzle properly.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22695 >
2023-05-11 09:23:04 -04:00
Konstantin Seurer
0e679e80a9
nir/lower_io: Emit less iadd(x, 0)
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22890 >
2023-05-10 16:21:34 +00:00
Samuel Pitoiset
4f7b27bccf
spirv: ignore SpvDecorationInvariant warning on struct members
...
Similar to SpvDecorationRestrict, looks like it's also incorrectly
generated by glslang.
This will allow RADV/CI to leave MESA_SPIRV_LOG_LEVEL as default
(ie. only warnings).
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Martin Roukala <martin.roukala@mupuf.org >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22917 >
2023-05-10 10:32:47 +00:00
Mike Blumenkrantz
ccbfcf3933
glsl/lower_samplers_as_deref: apply bindings for unused samplers
...
if a sampler is never used (no derefs) then its binding will never be
applied here, leaving it with binding=0. this will clobber the real binding=0
sampler in driver backends, leading to errors, so try to iterate using
the same criteria as above and apply bindings in the same way
fixes #8974
cc: mesa-stable
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22902 >
2023-05-09 12:44:27 +00:00
Connor Abbott
6f2be52487
tu, ir3: Handle FDM shader builtins
...
Also, add the necessary transform to fixup gl_FragCoord.xy.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20304 >
2023-05-08 19:59:26 +00:00
Connor Abbott
b474ed1f3a
nir, ir3: Add option to use unscaled FragCoord for input attachments
...
When rendering a scaled tile, we need to use the original, hardware
FragCoord when accessing input attachments that are on-tile (i.e. were
rendered to in a previous subpass) because they are also scaled in the
same way that FragCoord is scaled. For input attachments that aren't
already on-tile, however, we need to use the fixed gl_FragCoord. Add a
new intrinsic and a bitfield of input attachments which should use it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20304 >
2023-05-08 19:59:26 +00:00
Konstantin Seurer
5503a08583
nir/lower_fp16_casts: Fix SSA dominance
...
Fixes: 01dfd65 ("nir: port fp16 casting code from dxil")
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22804 >
2023-05-07 09:57:29 +00:00
Timur Kristóf
9b6945bb65
amd: Cleanup old GS intrinsics code.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22690 >
2023-05-04 19:08:59 +00:00
Timur Kristóf
f66281c7fb
amd: Add and implement gs_wave_id sysval.
...
Contains a global wave ID of legacy GS waves.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22690 >
2023-05-04 19:08:58 +00:00
Timur Kristóf
c1591bfc28
amd: Add and implement sendmsg_amd intrinsic.
...
This intrinsic is going to be used for simplifying GS code.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22690 >
2023-05-04 19:08:58 +00:00
Illia Polishchuk
0843d4cbc3
nir: switch to a normal sampler for ARB program with not depth textures
...
It is undefined behavior when an ARB assembly or shadow2d GLSL func
uses SHADOW2D target with a texture in not depth format.
In this case AMD and NVIDIA automatically replaces SHADOW sampler
with a normal sampler and some games like Penumbra Overture which abuses
this UB works fine but breaks with mesa.
Replace the shadow sampler with a normal one here by recompiling
the ARB program variant
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8425
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Illia Polishchuk <illia.a.polishchuk@globallogic.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22147 >
2023-05-04 15:43:51 +00:00
Lionel Landwerlin
1e0e4657f9
spirv/nir: wire ray interection triangle position fetch
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <f{merge_request.web_url}>
2023-05-04 11:25:41 +00:00
Lionel Landwerlin
dcdf008d6f
spirv: update to latest headers
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <f{merge_request.web_url}>
2023-05-04 11:25:41 +00:00
David Heidelberg
1c1855cc00
nir/lower_io_to_vector: initialize base
...
Prevent GCC warning:
```
[230/1401] Compiling C object src/compiler/nir/libnir.a.p/nir_lower_io_to_vector.c.o
In function 'get_flat_type',
inlined from 'create_new_io_vars' at ../src/compiler/nir/nir_lower_io_to_vector.c:300:10:
../src/compiler/nir/nir_lower_io_to_vector.c:208:14: warning: 'base' may be used uninitialized [-Wmaybe-uninitialized]
208 | return glsl_array_type(glsl_vector_type(base, 4), slots, 0);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/compiler/nir/nir_lower_io_to_vector.c: In function 'create_new_io_vars':
../src/compiler/nir/nir_lower_io_to_vector.c:163:24: note: 'base' was declared here
163 | enum glsl_base_type base;
| ^~~~
```
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8957
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22840 >
2023-05-04 03:44:00 +00:00
Marek Olšák
eb0307107d
nir: add/update comments for gl_access_qualifier
...
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22769 >
2023-05-04 01:55:22 +00:00
Marek Olšák
820c50ada3
nir: rename ACCESS_STREAM_CACHE_POLICY -> ACCESS_NON_TEMPORAL and document
...
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22769 >
2023-05-04 01:55:22 +00:00
Georg Lehmann
b93c92eba3
nir: lower ballot_bit_count_exclusive/inclusive to mbcnt_amd
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22783 >
2023-05-03 10:39:20 +00:00
Lionel Landwerlin
53605f226b
nir/lower_non_uniform_access: add get_ssbo_size handling
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22793 >
2023-05-02 16:27:15 +00:00
Karol Herbst
fb7e9b1c36
clc: free kernel args in clc_free_kernels_info
...
Signed-off-by: Karol Herbst <git@karolherbst.de >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22776 >
2023-05-02 15:28:38 +00:00
Erik Faye-Lund
955797d015
nir: fix constant-folding of 64-bit fpow
...
We need to do full pow if 64-bit, and we can do fpow() otherwise. Not
the other way around.
Fixes: 9076c4e289 ("nir: update opcode definitions for different bit sizes")
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22774 >
2023-05-02 07:53:51 +00:00
Lone_Wolf
f53e5efad7
compiler/clc: Fix embedded clang headers (microsoft-clc) for LLVM 16+
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7742
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22741 >
2023-04-27 23:06:42 +00:00
Lionel Landwerlin
d6e9479d4b
nir/divergence: add missing load_global_constant_* intrinsics
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22624 >
2023-04-27 09:08:03 +00:00
Erik Faye-Lund
0a718c9354
nir: clean up white-space in deref-printing
...
Without this, we get some trailing spaces in some cases, and some
double space in some other cases. Let's clean that up a bit.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22550 >
2023-04-27 05:39:57 +00:00
Erik Faye-Lund
b9ba2c272a
glsl: remove ir_state_slot::swizzle
...
Same story as with the NIR counterpart in the previous commit.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22620 >
2023-04-26 05:51:39 +00:00
Erik Faye-Lund
4e8b532db3
nir: remove nir_state_slot::swizzle
...
This is only ever written to, never read from. Let's just get rid of it!
This also saves us a few needless includes.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22620 >
2023-04-26 05:51:39 +00:00
Qiang Yu
eb1fe8c32f
nir: add nir_export_dual_src_blend_amd intrinsic
...
For GFX11 export dual source blend outputs when ACO.
ACO need a pseudo instruction to emit a block of
code which can't be done in nir currently.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22199 >
2023-04-26 03:27:26 +00:00
antonino
a0645e3383
nir/zink: use sysvals in nir_create_passthrough_gs
...
Previously the passthrough gs shader loaded some values with uniform
loads using sevaral hardcoded values.
This was not flexible for other drivers and started becoming too
unflexible for zink itself.
Use system values instead and use a lowering pass in zink.
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22667 >
2023-04-25 13:11:59 +00:00
Rob Clark
f136f89487
mesa/nir: Add some perfetto traces
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22646 >
2023-04-24 22:42:04 +00:00
Mike Blumenkrantz
99121c9b77
nir/gs: fix array type copying for passthrough gs
...
same mechanics as in zink passes
Fixes: d0342e28b3 ("nir: Add helper to create passthrough GS shader")
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22669 >
2023-04-24 18:00:20 +00:00
Thomas H.P. Andersen
a18a51a708
nir/nir_lower_vec3_to_vec4: Use the nir_shader_instructions_pass() helper
...
Extracts some per-impl code to nir_lower_vec3_to_vec4 and then
converts to use the nir_shader_instructions_pass helper.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11683 >
2023-04-22 23:35:37 +00:00
Thomas H.P. Andersen
e86c28a78b
nir/nir_lower_to_source_mods: Use the nir_shader_instructions_pass() helper
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11683 >
2023-04-22 23:35:37 +00:00
Thomas H.P. Andersen
0ddf98e85d
nir/nir_lower_two_sided_color: Use the nir_shader_instructions_pass() helper
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11683 >
2023-04-22 23:35:37 +00:00
Thomas H.P. Andersen
7e5dde11ef
nir/nir_lower_uniforms_to_ubo: Use the nir_shader_instructions_pass() helper
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11683 >
2023-04-22 23:35:37 +00:00
Thomas H.P. Andersen
d0fdc8ec6a
nir/nir_lower_var_copies: Use the nir_shader_instructions_pass() helper
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11683 >
2023-04-22 23:35:37 +00:00
Thomas H.P. Andersen
087b082f3d
nir/nir_lower_viewport_transform: Use the nir_shader_instructions_pass() helper
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11683 >
2023-04-22 23:35:36 +00:00
Thomas H.P. Andersen
ab7138e283
nir/nir_lower_wpos_ytransform: Use the nir_shader_instructions_pass() helper
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11683 >
2023-04-22 23:35:36 +00:00
Thomas H.P. Andersen
ecab220c50
nir/nir_lower_wpos_center: Use the nir_shader_instructions_pass() helper
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11683 >
2023-04-22 23:35:36 +00:00
Caio Oliveira
aeec9071b5
spirv: Rework structured control flow handling
...
The new code splits the work into a few passes instead of trying to do
everything with a single pass. This helps to apply the new clarified
rules for structured control flow in the SPIR-V specification, in
particular the "exit construct" rules.
First find an appropriate ordering for the blocks, based on the
approach taken by Tint (WebGPU compiler). Then, with those blocks
in order, identify the SPIR-V constructs start and end positions.
Finally, walk the blocks again to emit NIR for each of them, "opening"
and "closing" the necessary NIR constructs as we reach the start and
end positions of the SPIR-V constructs.
There are a couple of interesting choices when mapping the constructs
to NIR:
- NIR doesn't have something like a switch, so like the previous code,
we lower the switch construct to a series of conditionals for each
case.
- And, unlike the previous code, when there's a need to perform a
break from a construct that NIR doesn't directly support (e.g. inside
a case construct, conditionally breaking early from the switch), we
now use a combination of a NIR loop and an NIR if. Extra code is
added to ensure that loop_break and loop_continues are propagated
to the right loop.
This should fix various issues with valid SPIR-V that previously
resulted in "Invalid back or cross-edge in the CFG" errors.
Thanks to Alan Baker and David Neto for their explanations of
ordering the blocks, in the Tint code and in presentations to
the SPIR-V WG.
Thanks to Jack Clark for providing a lot of valuable tests used to
validate this MR.
Closes : #5973 , #6369
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17922 >
2023-04-20 07:02:42 +00:00
Caio Oliveira
cf181fef68
spirv: Add --optimize flag to spirv2nir tool
...
Apply some basic NIR optimizations to clean up the result. Useful in some
situations when comparing the parsing code from different mesa branches.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22180 >
2023-04-20 00:15:23 +00:00
Caio Oliveira
6e3207a191
spirv: Output spirv2nir tool result to stdout
...
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22180 >
2023-04-20 00:15:23 +00:00
Marek Olšák
4681fd3882
nir: set uses_wide_subgroup_intrinsics for all shader stages
...
nir_opt_varyings will use it in VS, TES, GS.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21861 >
2023-04-19 21:42:11 +00:00
Marek Olšák
e6e406b483
nir: add next_stage parameter to nir_remove_varying
...
so that e.g. the POS output is removed if the next stage is not FS.
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21861 >
2023-04-19 21:42:11 +00:00
Marek Olšák
42822413cf
nir: add next_stage parameter to nir_slot_is_sysval_output to return better info
...
If we know the next stage, we can tell whether an output is a sysval,
such as POS.
For example, POS is not a sysval output if the next stage is not FS.
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21861 >
2023-04-19 21:42:11 +00:00
Marek Olšák
c60002ea27
nir: remove an obsolete comment from nir_gather_xfb_info_from_intrinsics
...
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21861 >
2023-04-19 21:42:11 +00:00
Marek Olšák
ea9156edc3
nir: return a status from nir_remove_varying whether it removed the instruction
...
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21861 >
2023-04-19 21:42:11 +00:00
Marek Olšák
9d78fec684
nir: rework nir_lower_color_inputs to work with lowered IO intrinsics
...
also only call it from radeonsi and remove the option
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21861 >
2023-04-19 21:42:11 +00:00
Marek Olšák
28374b466c
nir: don't remove dead IO variables in nir_lower_io_passes for st_link_nir
...
We need to keep variables in the IR because a few places use them,
like nir_build_program_resource_list. This will allow us to lower IO
in the linker.
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21861 >
2023-04-19 21:42:11 +00:00