Faith Ekstrand
b5e657da48
nak/sm70: Don't set a predicate destination on redg
...
Reduction ops don't return anything, including predicates. On Turing
through Hopper, this doesn't matter because these bits are ignored.
However, Blackwell uses those bits to adjust address calculations for
reduction ops.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34910 >
2025-05-15 00:11:08 +00:00
Faith Ekstrand
e2b7a736a4
nak/nir/lower_tex: Use nir_tex_instr_add_src()
...
This is slightly less efficient but way safer than trying to mangle the
sources array that's already in the tex instruction.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34910 >
2025-05-15 00:11:08 +00:00
Dave Airlie
8a39a1502f
nak: Use TexOffsetMode for all texture ops
...
We had a bool for most of them and an enum for OpTld4. Now we have an
enum for all of them and we just reserve PerPx for OpTld4. While we're
here, rework printing to put the "." in the enum display method.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34910 >
2025-05-15 00:11:08 +00:00
Faith Ekstrand
4c6010df64
nak/sm70: imnmx takes and returns more predicates on Blackwell+
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34910 >
2025-05-15 00:11:08 +00:00
Faith Ekstrand
9d89214a69
nak/sm70: Use rZ for the 3rd source of lea when .hi is not set
...
Pre-blackwell, it's ignored so we can set whatever. On Blackwell+, it
seems to be take into account somehow (more RE needed?) so we need to
set it to rZ to get the old behavior.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34910 >
2025-05-15 00:11:08 +00:00
Faith Ekstrand
32f78eff80
nak/sm70: Fix bra offset encoding for for Hopper+
...
They split the field to add 8 more bits on Hopper.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34910 >
2025-05-15 00:11:08 +00:00
Faith Ekstrand
046f90ad56
nak/copy_prop: Don't propagate cbufs into ALU on Blackwell+
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34910 >
2025-05-15 00:11:08 +00:00
Faith Ekstrand
9604896c70
nak/lower_copy: Implement copy from CBuf as ldc on Blackwell+
...
Constant buffer sources for ALU instructions are removed on Blackwell so
we have to use ldc instead of mov.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34910 >
2025-05-15 00:11:07 +00:00
Faith Ekstrand
994035908d
nak/hw_tests: Copy data stride and invocations to avoid cbuf sources
...
CBuf sources are gone on Blackwell+. Let's not introduced them directly
in the unit tests.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34910 >
2025-05-15 00:11:07 +00:00
Faith Ekstrand
8c3ebddba3
nak/sm70: Properly encode ldc on Blackwell+
...
Also add nvdisasm tests for ldc because it's pretty important and has
lots of subtle per-SM differences.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34910 >
2025-05-15 00:11:07 +00:00
Faith Ekstrand
0b142182cb
nak/sm70: Increase the number of UGPRs on Blackwell+ to 80
...
This also affects encodings as rZ is now 255 instead of 63.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34910 >
2025-05-15 00:11:07 +00:00
Dave Airlie
da16e8aff7
nvk: Add hopper priv registers
...
The priv registers moved. I've confirmed hopper and above.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34910 >
2025-05-15 00:11:07 +00:00
Dave Airlie
1c77a6f049
nvk: Don't emit MME FIFO config on Blackwell+
...
I can't see this in traces on Blackwell and it causes hangs.
These regs are in the hopper class headers so should be fine there.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34910 >
2025-05-15 00:11:07 +00:00
Dave Airlie
bd7777aee6
nvk: Fix compute class comparison in dispatch indirect
...
This works by coincidence rather than design.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34910 >
2025-05-15 00:11:07 +00:00
Dave Airlie
693b55a4af
nouveau/headers: Add stub blackwell class headers
...
These just have the class define. We'll replace them with the actual
headers from NVIDIA once we have them.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34910 >
2025-05-15 00:11:07 +00:00
Eric Engestrom
2bc7130808
r300/ci: switch radeon.ko jobs to common kernel (6.13.7)
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Now that it is possible to have more than one initrd, let's switch to
the common b2c kernel which requires two additional initrds:
* The GPU initrd which contains amdgpu, i915, nouveau, radeon, and xe,
along with their necessary firmware
* The depmod initrd which contains what's necessary to modprobe the
modules of the GPU initrd
Since the GPU initrd is huge (73 MB), let's reduce the size by dropping
all the firmware that is not related to AMD.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34881 >
2025-05-14 23:06:42 +00:00
Emma Anholt
e4790143a5
tu: Disable Z reads for always/never.
...
This saves a bit of bandwidth when we're not going to use the value.
Improves renderpass times across 4 affected traces I tested (bioshock,
stranded deep, transport fever, and godot material testers) on sysmem by
.3% +/- .1%.
A similar change for avoiding stencil reads showed no change on the one
app affected among all of our renderdoc traces, so that's left out.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34964 >
2025-05-14 22:34:08 +00:00
Olivia Lee
c053bc2213
panvk: fix driconf memory leak
...
The driconf options were leaked when the panvk instance was destroyed.
Fixes: aa8fec638f ("panvk: add basic driconf infrastructure")
Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34986 >
2025-05-14 21:55:26 +00:00
Marek Olšák
3fd2bdd285
radeonsi: move si_gs_output_info into si_temp_shader_variant_info
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
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
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
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
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