Commit graph

72313 commits

Author SHA1 Message Date
Pavel Ondračka
7abe0363c7 r300: invalidate texture cache when clearing texture bound for sampling
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38842>
2026-01-05 10:32:18 +00:00
Pavel Ondračka
07f8729361 r300: add explicit late lowering for a + -0
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
(('fadd', a, 0.0), a) worked for both a + 0 and a + -0 before, but now
requires explicit pattern after 0d255011ae

Just noticed because it pushed few dEQPs over the instruction limit.

Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39151>
2026-01-04 19:45:45 +00:00
Eric Engestrom
ee5e6245ce zink+nvk/ci: document fixed tests
Some checks are pending
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/39150>
2026-01-04 12:40:12 +01:00
Eric Engestrom
3533853566 lavapipe/ci: document recent flakes
Some checks are pending
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/39140>
2026-01-03 16:27:56 +00:00
Eric Engestrom
c63732463a radv/ci: document recent flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39140>
2026-01-03 16:27:56 +00:00
Marek Olšák
d0dd5a5f57 ac,radeonsi: move SX PS downconversion code into ac_formats.c
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39093>
2026-01-02 16:46:20 +00:00
Marek Olšák
2674cd1c05 radeonsi: fix halved pixel throughput for a few non-blended 16bpp/32bpp formats
Fixed formats:
* GL_R16F
* GL_RG16F
* GL_RGB10_A2UI

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39093>
2026-01-02 16:46:20 +00:00
Job Noorman
9fbb202172 tu,freedreno: add chicken bit to enable (eolm)
(eolm) does not have any effect without this chicken bit set.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31885>
2026-01-02 14:08:48 +01:00
Marek Olšák
27dcc2b949 rusticl: call nir_opt_intrinsics
required by radeonsi

Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:29 +00:00
Marek Olšák
b72b313d1d radeonsi: move info fields from si_shader_selector to si_shader_info
also move the code into si_shader_info.c

si_shader_info::msaa_images becomes unused, so is removed.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:29 +00:00
Marek Olšák
3f23421dc5 radeonsi: remove si_shader_selector::*_descriptors_index fields
They are trivial to compute.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:29 +00:00
Marek Olšák
f00f054087 ac,radeonsi: move lowering to load_color0/1 to ac_nir_lower_ps_early
It's better to have these all in one pass.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:29 +00:00
Marek Olšák
99a42bdd4b nir,radeonsi: simplify load_color0 & load_color1 intrinsics and shader_info
We don't need the shader_info fields anymore. sample and centroid fields
are unused. The interp field is already available from
si_shader_info::color_interpolate.

The loads don't need to be sysvals. Add also the _amd suffix.

Don't handle it in st_nir_lower_drawpixels either because the intrinsics
are created much later in compilation now.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:28 +00:00
Marek Olšák
86fc413098 radeonsi: merge 2 PS color input lowering passes for monolithic shaders
si_nir_lower_color_inputs_to_sysvals is mostly undone by
si_nir_lower_ps_color_inputs.

Merge them into a new pass si_nir_lower_color_flatshade_twoside, which
surprisingly doesn't need si_shader_info.

si_nir_lower_color_inputs_to_sysvals will continue to be used
by non-monolithic shaders.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:28 +00:00
Marek Olšák
80c26d3aec radeonsi: call si_nir_lower_color_inputs_to_sysvals in si_preprocess_nir
si_shader_info gathering must be rewritten for colors because it no longer
receives load_color0/1 intrinsics. This makes radeonsi handle color inputs
more like all other drivers.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:27 +00:00
Marek Olšák
04047f0df6 radeonsi: remove the rest of si_lower_nir
st/mesa already calls all these passes.

Only our passthrough TCS was missing one pass.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:27 +00:00
Marek Olšák
d8f8b57686 radeonsi: move more lowering from si_lower_nir to si_preprocess_nir
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:27 +00:00
Marek Olšák
81adf1ea71 radeonsi: remove glsl_tests subdirectory
This hasn't been used for 9 years.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:26 +00:00
Marek Olšák
041cde6aa1 radeonsi: move sparse intrinsic lowering to a separate file, call it later
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:26 +00:00
Marek Olšák
2dc16ccb8f radeonsi: lower task & mesh shader IO is si_preprocess_nir
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:26 +00:00
Marek Olšák
9d271d171a radeonsi: call nir_lower_gs_intrinsics in si_preprocess_nir
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:25 +00:00
Marek Olšák
f2947e2fd8 radeonsi: use ac_nir_opt_vectorize_cb
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:25 +00:00
Marek Olšák
a32a189386 radeonsi: call nir_opt_16bit_tex_image in si_postprocess_nir
It's slightly changed and some cleanup passes are run afterwards
to do exactly what RADV does.

We also have to call nir_lower_alu_width, otherwise ACO fails.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:24 +00:00
Marek Olšák
a20f189a04 radeonsi: don't set progress uselessly in si_postprocess_nir
it's unused here

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:24 +00:00
Marek Olšák
6a1eeefce5 radeonsi: call nir_lower_fp16_casts in si_postprocess_nir
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:23 +00:00
Marek Olšák
cd1e6982a8 radeonsi: move NIR callbacks to si_get.c
they are only used to set NIR options

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:22 +00:00
Marek Olšák
823565fff1 radeonsi/ci: update gfx12 flakes
The uniform block tests are only flaky with LLVM.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:22 +00:00
Marek Olšák
55d53e827a radeonsi: use si_preprocess/postprocess_nir function names
Most drivers use such names.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:22 +00:00
Marek Olšák
8ceef4e3d4 radeonsi: lower compute system values later
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:21 +00:00
Marek Olšák
3cc5517925 radeonsi: move CS sysval si_shader_info fields into si_shader_variant_info
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:21 +00:00
Marek Olšák
04e6e70e69 radeonsi: move CS user SGPR layout determination into si_shader_variant_info
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:20 +00:00
Marek Olšák
1bff4115e7 radeonsi: rename si_shader_info & si_shader_variant_info sysval fields
the prefix is changed to uses_sysval_*, some variables are renamed
completely to match the NIR names

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:19 +00:00
Marek Olšák
ce7c989b2b radeonsi: fold nir_lower_compute_system_values_options into pass parameters
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:18 +00:00
Marek Olšák
2250b05067 radeonsi: lower nir_var_mem_shared later
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:18 +00:00
Marek Olšák
d320a6553c radeonsi: update XFB info in the correct place after mediump IO lowering
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:16 +00:00
Marek Olšák
68690eaf4a Revert "radeonsi: use nir_opt_large_constants earlier"
This reverts commit df2eaba411.

We no longer use LCSSA because divergence analysis doesn't need it anymore.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:15 +00:00
Marek Olšák
7f7dbf68f4 radeonsi: call si_nir_mark_divergent_texture_non_uniform later
it doesn't have to be called in finalize_nir

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:15 +00:00
Marek Olšák
314e81def5 radeonsi: remove unnecessary NIR divergence analysis invocations
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:14 +00:00
Marek Olšák
e76fae1e0c radeonsi: rename si_nir_scan_shader -> si_nir_gather_info, etc.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:14 +00:00
Marek Olšák
4875e0a993 radeonsi: don't scalarize IO in finalize_nir
To make NIR more readable for ST_DEBUG=nir.

Shader info needs small changes to handle vector clipdist outputs.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:13 +00:00
Marek Olšák
904cc43556 radeonsi: remove unused FS input slots due to colors
This might have decreased performance due to extra LDS usage.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:12 +00:00
Marek Olšák
d06616063c radeonsi: assert that IO bases don't have holes & the same base isn't used twice
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:11 +00:00
Marek Olšák
affaf36685 radeonsi: assert that invalid FS inputs aren't present
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:11 +00:00
Marek Olšák
e5b1c568b9 radeonsi: fix color interpolation when finalize_nir is called twice
Calling finalize_nir twice causes si_nir_lower_color_inputs_to_sysvals
to be called twice. The pass always sets color interpolation to FLAT
at the beginning, and then lowers color input loads and sets the correct
interpolation mode. However, when the pass is called for the second time,
it just sets color interpolation to flat and does nothing, which overrides
the original interpolation mode.

This fixes color interpolation for those cases. This only happens with
ATI_fragment_shader AFAIK.

Fixes: deda05e2b7 - nir: move nir_lower_color_inputs into radeonsi

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38802>
2026-01-01 18:30:11 +00:00
Alyssa Rosenzweig
56b90a70b3 asahi: fix garbage with query reads
no, I don't know how this worked before.

fixes

KHR-GL45.conditional_render_inverted.functional
KHR-GL46.transform_feedback_overflow_query_ARB.*

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Cc: mesa-stable
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39111>
2025-12-31 10:27:04 -05:00
Alyssa Rosenzweig
130c1b0bd5 asahi: use flat tile size encoding
this is way more convenient.

(some cosmetic stuff squashed in).

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39111>
2025-12-31 10:27:03 -05:00
Rob Clark
d197ea37d1 freedreno/a6xx: Extract out GMEM cache helper
Extract out a helper to calculate placement of various caches that live
in GMEM.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39052>
2025-12-30 07:42:07 -08:00
Michael Tretter
ebf1454410 r600: remove LLVM dependency
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
r600 doesn't use LLVM anymore. Remove the remaining print of the version
number and the dependencies in the build system.

Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39071>
2025-12-30 00:27:53 +00:00
Michael Tretter
8c4d824e39 r600: fix documentation of preoptir
The preoptir still prints the intermediate representation before
optimization, but now this isn't LLVM IR but NIR.

Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39071>
2025-12-30 00:27:53 +00:00
Michael Tretter
64a2081c7f r600: remove obsolete option for experimental NIR support
NIR shaders is the default for the r600 driver now. There is no point in
an option to enable this as experimental support.

Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39071>
2025-12-30 00:27:53 +00:00