Marek Olšák
97357e721d
radeonsi: add struct si_temp_shader_variant_info
...
This contains all shader info that's used during compilation,
but is never used after compilation.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34492 >
2025-05-14 20:19:17 +00:00
Marek Olšák
53cd29d946
radeonsi: move shaders args initialization into its own file
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34492 >
2025-05-14 20:19:17 +00:00
Marek Olšák
af8c4f19ab
radeonsi: move shader variant info and spi_ps_input_ena code into its own file
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34492 >
2025-05-14 20:19:17 +00:00
Marek Olšák
2e8cac328a
radeonsi: move si_nir_mark_divergent_texture_non_uniform to its own file
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34492 >
2025-05-14 20:19:17 +00:00
Marek Olšák
deda05e2b7
nir: move nir_lower_color_inputs into radeonsi
...
it's the only user
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34492 >
2025-05-14 20:19:17 +00:00
Marek Olšák
70aa58cc95
radeonsi: move shader info structures into new file si_shader_info.h
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34492 >
2025-05-14 20:19:17 +00:00
Marek Olšák
5389a3736f
radeonsi: move NIR passes from si_shader.c into their own files
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34492 >
2025-05-14 20:19:17 +00:00
Marek Olšák
e478410466
radeonsi: inline shader_info in si_shader_info, keep only what's used
...
This reduces the si_shader_info size by 244 B.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34492 >
2025-05-14 20:19:17 +00:00
Marek Olšák
dc5e0e2b73
radeonsi: rename num_stream_output_components -> num_gs_stream_components
...
it's not for streamout
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34492 >
2025-05-14 20:19:17 +00:00
Marek Olšák
54cc89f7c2
radeonsi: use a simpler way to gather enabled_streamout_buffer_mask
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34492 >
2025-05-14 20:19:17 +00:00
Marek Olšák
180f320e69
radeonsi: use info.num_streamout_vec4s instead of si_shader_uses_streamout
...
It's identical now.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34492 >
2025-05-14 20:19:17 +00:00
Marek Olšák
759de230de
radeonsi: don't declare GDS size for LLVM
...
We don't use GDS memory.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34492 >
2025-05-14 20:19:17 +00:00
Marek Olšák
32274ab50e
radeonsi: implement remove_streamout in si_nir_kill_outputs
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34492 >
2025-05-14 20:19:16 +00:00
Marek Olšák
100f9a1624
radeonsi: move xfb fields from si_shader_info to shader variant info
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34492 >
2025-05-14 20:19:16 +00:00
Marek Olšák
9edcf19f7d
radeonsi: remove si_shader_info::writes_position
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34492 >
2025-05-14 20:19:16 +00:00
Marek Olšák
c761da42ce
radeonsi: don't use si_shader_info in si_parse_next_shader_property
...
just use NIR info.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34492 >
2025-05-14 20:19:16 +00:00
Marek Olšák
20e5c35cfe
radeonsi: gather uses_discard from shader variants
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34492 >
2025-05-14 20:19:16 +00:00
Marek Olšák
de6ca8c7ec
radeonsi: gather writes_z/stencil/sample_mask as shader variant info
...
si_get_shader_variant_info doesn't need to check the kill flags because
killed stores are removed from NIR before that.
Only shader variants need to clear the writes_* flags if the epilog kills
them.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34492 >
2025-05-14 20:19:16 +00:00
Marek Olšák
a9ac95fc0a
radeonsi: gather uses_gs_state_provoking_vtx_first/outprim from the shader
...
Just use nir_def_bits_used() instead of the manually written conditions.
These are gathered from bits of load_scalar_arg(vs_state_bits):
- uses_vs_state_indexed
- uses_gs_state_provoking_vtx_first
- uses_gs_state_outprim
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34492 >
2025-05-14 20:19:16 +00:00
Marek Olšák
b85984d2b5
radeonsi: gather VS system value usage from shader variants
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34492 >
2025-05-14 20:19:16 +00:00
Marek Olšák
3b276e4ba6
radeonsi: move gathering VMEM information into si_get_shader_variant_info
...
This is a step towards gathering shader info from shader variants instead of
input NIR.
uses_fbfetch_output can be ignored because it's already lowered to image
loads.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34492 >
2025-05-14 20:19:16 +00:00
Marek Olšák
c59fc30fee
radeonsi: always gather shader variant info
...
All shaders will eventually have their info there, not just FS.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34492 >
2025-05-14 20:19:16 +00:00
Marek Olšák
e114b9b11c
radeonsi: don't return progress from run_pre_link_optimization_passes
...
We will always gather shader info after it, so always optimize instead of
returning progress.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34492 >
2025-05-14 20:19:16 +00:00
Marek Olšák
3d6747f6e0
radeonsi: determine uses_vmem_load_other more accurately
...
Some opcodes don't load from memory.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34492 >
2025-05-14 20:19:16 +00:00
Marek Olšák
bcd0679258
radeonsi: remove si_shader_info::uses_indirect_descriptor
...
It shouldn't affect uses_vmem_load_other because divergent descriptors
are loaded with SMEM in waterfall loops.
Also all this removed code is highly questionable. Indirect access doesn't
matter for anything. Divergent access does, and that's handled correctly.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34492 >
2025-05-14 20:19:16 +00:00
Marek Olšák
970825258e
radeonsi: restructure si_get_shader_variant_info
...
iterate over instructions outside of the conditional.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34492 >
2025-05-14 20:19:16 +00:00
Marek Olšák
f5bc1ebc11
radeonsi: don't check sel->nir in si_init_shader_selector_async
...
It's always non-NULL.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34492 >
2025-05-14 20:19:16 +00:00
Marek Olšák
6e4154b7ef
ac/nir: fix export_ps_outputs not preserving divergence metadata
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34492 >
2025-05-14 20:19:16 +00:00
Eric Engestrom
7eb7a4d278
docs/release-calendar: fix release numbers
...
"No Eric, the next release after 25.1.0 is not 25.1.0 again"
~ Eric, a week later.
Reported-by: Liam Dawe
Fixes: 6d8324e819 ("docs: add calendar for 25.1.x releases")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34985 >
2025-05-14 22:01:16 +02:00
Eric Engestrom
ea4c1ceb79
docs: add sha sum for 25.0.6
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34982 >
2025-05-14 19:14:52 +02:00
Eric Engestrom
042830b158
docs: add release notes for 25.0.6
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34982 >
2025-05-14 19:14:52 +02:00
Eric Engestrom
e7846a5aec
docs: update calendar for 25.0.6
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34982 >
2025-05-14 19:14:30 +02:00
Erik Faye-Lund
df38cdce53
gallium/aux: fixup bad indent
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34954 >
2025-05-14 16:33:12 +00:00
Erik Faye-Lund
8e48db3028
r600: ingest u_blitter_clear_buffer
...
r600 is the only driver using this functionality, so let's move it there.
There's a few functions we used that aren't available outside of
u_blitter.c, but it turns out these aren't really needed. The first one
is blitter_check_saved_vertex_states(), that one just verifies that
certain states are saved as they should be. It's a bit sad to lose these
checks, but they are currently always passing, so nothing should break
by dropping them right now.
The second one is blitter_disable_render_cond(), and this one is also OK
to drop, because r600 never calls util_blitter_save_render_condition()
in the first place.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34954 >
2025-05-14 16:33:12 +00:00
Erik Faye-Lund
20986b77f3
gallium/aux: move util_pipe_tex_to_tgsi_tex to u_blitter.c
...
This is the only place this is called from, and this allows us to avoid
a TGSI specific include from generic code.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34954 >
2025-05-14 16:33:12 +00:00
Alyssa Rosenzweig
d2ac44dfde
meson: make ffs available in OpenCL code
...
for u_foreach_bit.
the ffsll version isn't available since long long is 128-bit for CL.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34909 >
2025-05-14 11:29:09 -04:00
Alyssa Rosenzweig
063d35b829
vtn: ignore SpvDecorationFPFastMathMode
...
This is just a hint as far as I can tell. We're allowed to ignore it (as we do),
we just shouldn't be warning about it.
This quiets piles of annoying SPIR-V warnings when running CTS.
SPIR-V WARNING:
In file ../src/compiler/spirv/vtn_cfg.c:144
Function parameter Decoration not handled: SpvDecorationFPFastMathMode
1340 bytes into the SPIR-V binary
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34909 >
2025-05-14 11:29:09 -04:00
Alyssa Rosenzweig
52cc6c101f
nir/lower_printf: fix vectors with nir_printf_fmt
...
for specifiers like %v4f, we need to store the whole vector. u_printf can
already handle this from OpenCL, we just need to match that here.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34909 >
2025-05-14 11:29:08 -04:00
Christoph Pillmayer
90d966f9fa
panvk: Remove unused path in flush_tiling
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34808 >
2025-05-14 14:03:29 +00:00
Christoph Pillmayer
b115850ece
panfrost: Remove unused ls_sb_slot from contexts
...
ls_sb_slot is unused now in cs_tracing_ctx and cs_exception_handler_ctx.
Let's remove it.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34808 >
2025-05-14 14:03:29 +00:00
Christoph Pillmayer
f75569734e
panvk: Remove explicit LS waits
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34808 >
2025-05-14 14:03:29 +00:00
Christoph Pillmayer
c28497c355
panvk: Add automatic load/store cs WAITs
...
This commit adds automatic insertion of WAIT instructions based
on the already existing cs_load_store_tracker.
Dependencies through memory need to be handled manually by the
user using the cs_flush_[loads/stores] functions.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34808 >
2025-05-14 14:03:29 +00:00
Christoph Pillmayer
cc790d12c6
panvk: Change pending_stores from bitset to bool
...
Also remove pending_stores check from cs_dst_tuple.
This is not required as the staging regs are read synchronously.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34808 >
2025-05-14 14:03:29 +00:00
Christoph Pillmayer
82f36cd8e3
panfrost: Make ls tracker mandatory in cs_builder
...
This commit moves cs_load_store_tracker from the cs_builder_conf
to cs_builder and makes it no longer optional to supply.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34808 >
2025-05-14 14:03:29 +00:00
Rhys Perry
e7a7d9ea2e
aco: fix wait_entry::join() when changing vmem_types
...
This is a bitmask, not a boolean.
No fossil-db changes.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34935 >
2025-05-14 11:22:13 +00:00
Rhys Perry
171920ceed
aco/gfx115: consider point sample acceleration
...
Like 15428e0d786939a5c7629a9978947c8a9112ce96 in LLVM.
fossil-db (gfx1150):
Totals from 909 (1.14% of 79653) affected shaders:
Instrs: 5840489 -> 5840705 (+0.00%); split: -0.00%, +0.00%
CodeSize: 31133460 -> 31134296 (+0.00%); split: -0.00%, +0.00%
Latency: 52982280 -> 53438577 (+0.86%); split: -0.00%, +0.86%
InvThroughput: 10841454 -> 10942682 (+0.93%); split: -0.00%, +0.93%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Backport-to: 25.0
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34935 >
2025-05-14 11:22:13 +00:00
Juan A. Suarez Romero
cbd85acf9a
v3dv: free indirect CSD job with queue cpu
...
The indirect CSD job is added to the list of jobs when the device do not
support CPU queues. Otherwise it is not added, which means the job is
not free when the command buffer frees all the resources, generating a
leak.
This fixes this leak by identifying the job that contains the indirect
CSD job, and freeing it before freeing the job itself.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34892 >
2025-05-14 10:23:46 +00:00
Lars-Ivar Hesselberg Simonsen
626e9e4179
panvk: Request resources during subqueue init
...
REQ_RES is a quite expensive operation, so calling it before and after
each RUN-command slows down RUN-command heavy workloads.
This commit moves REQ_RES calls to subqueue_init.
Reviewed-by: John Anthony <john.anthony@arm.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Tested-by: Heiko Stuebner <heiko@sntech.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33512 >
2025-05-14 09:07:17 +00:00
Lorenzo Rossi
e12ddbfd78
nak/from_nir: Fix fquantize crash on < SM70
...
Fixes: f21557154b ("nak/from_nir: Turn srcs into a closure")
Signed-off-by: Lorenzo Rossi <snowycoder@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34961 >
2025-05-14 08:51:15 +00:00
Lorenzo Rossi
efb440a3d8
nak: sm32: Fix wrong dsetp encoding
...
Fixes: 2929dae1e8 ("nak: Initial SM32 support")
Signed-off-by: Lorenzo Rossi <snowycoder@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34961 >
2025-05-14 08:51:15 +00:00