Alejandro Piñeiro
0003e16fc6
nir/lower_clip: update comment
...
As the lowering mentioned there got renamed twice:
commit b085016f94
Author: Rob Clark <robclark@freedesktop.org >
Date: Fri Mar 25 13:52:26 2016 -0400
nir: rename lower_outputs_to_temporaries -> lower_io_to_temporaries
Since it will gain support to lower inputs, give it a more generic name.
commit 1754507d49
Author: Marek Ol¨ák <maraeo@gmail.com >
Date: Wed Jun 25 19:05:19 2025 -0400
nir: rename nir_lower_io_to_temporaries -> nir_lower_io_vars_to_temporaries
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35760 >
Reviewed-by: Marek Ol¨ák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35855 >
2025-07-02 20:56:53 +00:00
Marek Olšák
028591aead
ac/nir: remove kill_pointsize and kill_layer options from lowering passes
...
The outputs are removed by a separate pass.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35352 >
2025-07-02 20:27:46 +00:00
Marek Olšák
42ad7543b8
ac/nir: switch legacy GS lowering to ac_nir_prerast_out completely
...
This changes legacy GS outputs to use the same logic as NGG GS.
It enables the same optimizations that NGG has such as forwarding
constant GS output components to the GS copy shader at compile time.
ac_nir_gs_output_info is removed.
GS output info is no longer passed to ac_nir_lower_legacy_gs and
ac_nir_create_gs_copy_shader separately.
ac_nir_lower_legacy_gs now gathers ac_nir_prerast_out, generates GSVS ring
stores, and also generates the GS copy shader with GSVS ring loads.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35352 >
2025-07-02 20:27:45 +00:00
Marek Olšák
723ce13f90
ac/nir: move gs_output_component_mask_with_stream to prerast utils
...
Legacy GS will use it.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35352 >
2025-07-02 20:27:45 +00:00
Marek Olšák
2c64cdc047
ac/nir: return the GS copy shader from ac_nir_lower_legacy_gs
...
This way we won't have to pass output info between the two functions.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35352 >
2025-07-02 20:27:44 +00:00
Marek Olšák
98f3fc494e
ac/nir: remove no-op loop from ac_nir_create_gs_copy_shader
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35352 >
2025-07-02 20:27:43 +00:00
Marek Olšák
098d33766a
ac: add legacy GS subgroup size computation from radeonsi
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35352 >
2025-07-02 20:27:43 +00:00
Marek Olšák
fa8db1ccd3
ac: add NGG subgroup size computation from radeonsi
...
RADV will use it.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35352 >
2025-07-02 20:27:42 +00:00
Marek Olšák
4263b49778
ac/nir: remove ngg_scratch LDS ABI, allocate it in the lowering pass
...
This is a cleanup.
Old gs LDS layout: [es outputs][gs outputs][scratch]
Old nogs LDS layout: [xfb/cull][scratch]
New gs LDS layout: [es outputs][scratch|gs outputs]
New nogs LDS layout: [scratch|xfb/cull]
The LDS scratch is moved to the beginning of the preceding buffer in LDS,
while the addresses in that LDS buffer are offset by the scratch size.
It effectively merges the LDS scratch with the preceding buffer in LDS.
Thanks to that, we no longer need the ngg_scratch ABI and the offset
in a user SGPR.
The lowering passes now return the LDS scratch size, which is used
by the drivers to determine the final LDS size.
The ngg_lds_layout SGPR is now unused without GS in RADV.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35352 >
2025-07-02 20:27:41 +00:00
Marek Olšák
b1b581f855
ac/nir/lower_ngg: add an option not to export cull distances if the shader culls them
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35352 >
2025-07-02 20:27:40 +00:00
Marek Olšák
8c04a91d12
ac/nir: rename clip_cull_mask parameter to clearer export_clipdist_mask
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35352 >
2025-07-02 20:27:40 +00:00
Marek Olšák
ed0f393607
ac/nir/lower_ngg: rename clip_cull_dist_mask and use it correctly
...
We incorrectly used it to determine whether the shader should cull, which
luckily had no effect because it wasn't used everywhere.
cull_clipdist_mask should be used instead, which also reflects whether
clip planes are enabled in GL.
clip_cull_dist_mask is renamed to export_clipdist_mask to make it clear.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35352 >
2025-07-02 20:27:40 +00:00
Marek Olšák
f6af3c0e17
ac/nir/lower_ngg: forward constant GS & XFB output components from stores to loads for LDS
...
This removes LDS space and loads/stores for constant GS & XFB output
components. Constant output components skip LDS stores, and LDS loads
are replaced with the gathered constants.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35352 >
2025-07-02 20:27:40 +00:00
Marek Olšák
0ba4e3ae83
ac/nir/lower_ngg: add & use new scalar helpers for XFB loads/stores
...
This simplifies the code and scalarizes the loads/stores.
Scalar loads/stores will allow forwarding constant output components
from stores to loads easily.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35352 >
2025-07-02 20:27:40 +00:00
Marek Olšák
4b6ae11207
ac/nir/lower_ngg: add & use new scalar helpers for GS loads/stores
...
This simplifies the code and scalarizes the loads/stores.
Scalar loads/stores will allow forwarding constant output components
from stores to loads easily.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35352 >
2025-07-02 20:27:40 +00:00
Marek Olšák
f407129b7f
ac/nir/lower_ngg_gs: cull against clip/cull distances & clip planes in GS
...
This is finally implemented.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35352 >
2025-07-02 20:27:40 +00:00
Matt Turner
7da88c76db
intel: Add support for BFloat16 as cooperative matrix accumulator
...
The number of passing tests in ./deqp-vk -n '*cooperative_matrix.khr*'
on PTL increases from 914 -> 1030.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35320 >
2025-07-02 20:06:59 +00:00
Matt Turner
e6242fb958
brw: Handle bfloat16 dest and src0 operands for DPAS
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35320 >
2025-07-02 20:06:59 +00:00
Caio Oliveira
c006bee22d
brw: Don't use simd_select for BS shaders
...
Since there's only one possible SIMD, don't need to use
the helpers to decide which one to compile.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35799 >
2025-07-02 19:48:04 +00:00
Eric Engestrom
4be493862d
meson: only run symbols-check if nm is available
...
And drop the redundant check from symbols-check.py, which was actually
masking all kinds of issues.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35891 >
2025-07-02 19:21:25 +00:00
Eric Engestrom
f350803fb3
bin/symbols-check: document new platform symbols exported since symbols-check was broken
...
The `pthread_mutexattr_*` symbols probably shouldn't be exported, but
let's fix that later so that we can at least get symbols-check to run
again ASAP.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35891 >
2025-07-02 19:21:25 +00:00
Eric Engestrom
f06fff8148
bin/symbols-check: sort platform symbols
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35891 >
2025-07-02 19:21:25 +00:00
Eric Engestrom
3d9b76db8e
bin/symbols-check: ignore version of platform symbols
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35891 >
2025-07-02 19:21:25 +00:00
Eric Engestrom
5672230c19
bin/symbols-check: ignore nm lines that don't have a symbol name
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35891 >
2025-07-02 19:21:24 +00:00
Eric Engestrom
e626636e90
bin/symbols-check: fix fields length condition before accessing fields
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35891 >
2025-07-02 19:21:24 +00:00
Eric Engestrom
f28cda029c
bin/symbols-check: add missing newline before function
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35891 >
2025-07-02 19:21:23 +00:00
Adam Jackson
6a28d6707d
meson: Require LLVM 8 or newer
...
This isn't a huge cleanup on its own, but it lets us start assuming
coroutine support, and I would like to unify graphics shader dispatch
to work the same way as compute shader dispatch.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35374 >
2025-07-02 18:49:22 +00:00
Mike Blumenkrantz
c459be3795
zink: loosen heuristic for buf2img texture upload barriers
...
assume that any non-reordered texture upload should prepare it
for use in sampling
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35769 >
2025-07-02 18:20:05 +00:00
Mike Blumenkrantz
403a455ae9
tc: replace gpu util_copy_box with single image_copy_buffer call
...
much nicer
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35769 >
2025-07-02 18:20:05 +00:00
Mike Blumenkrantz
52216557e1
tc: use image_copy_buffer for subdata uploads instead of resource_copy_region
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35769 >
2025-07-02 18:20:05 +00:00
Mike Blumenkrantz
da16c9ad90
zink: implement image_copy_buffer
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35769 >
2025-07-02 18:20:04 +00:00
Mike Blumenkrantz
c25e31392a
zink: rework zink_copy_image_buffer()
...
this now takes less confusing params
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35769 >
2025-07-02 18:20:04 +00:00
Mike Blumenkrantz
8b8a06f6c3
gallium: add pipe_context::image_copy_buffer
...
this is a more explicit version of the copying used in resource_copy_region
which also provides stride info
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35769 >
2025-07-02 18:20:03 +00:00
Mike Blumenkrantz
f946167e30
aux/trace: always finish dumping draw/dispatch calls before triggering them
...
this avoids deadlocks
cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35769 >
2025-07-02 18:20:02 +00:00
Charlotte Pabst
be6b49449c
mesa: clear program info when updating program string
...
The program info contains all sorts of flags concerning the compilation state of
the program, and those need to be reset when the program is going to be recompiled
when its source changes.
For example, before this change, after info.flrp_lowered got set following the
first call to glProgramStringARB, flrp lowering would not happen for any subsequent
updates to the program string, leading to compilation failures.
Signed-off-by: Charlotte Pabst <cpabst@codeweavers.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35523 >
2025-07-02 17:42:35 +00:00
Samuel Pitoiset
10ef9c6a80
radv: disable RB+ with E5B9G9R9 to workaround failures on GFX10.3-GFX11.5
...
This looks like a hw bug on GFX10.3-GFX11.5 because RB+ seems to only
work as expected when all channels (RGBA) are written. With that format,
RGB channels must be all set or unset but setting the A channel is
legal so far.
This will reduce rendering performance with that format but it's the
less intrusive solution for now. This might be revisited in the near
future, also with more VKCTS coverage.
This has been tested and verified on GFX10.3 (NAVI21) and GFX11
(NAVI31) and GFX12 (NAVI48), unfortunately I don't have GFX11.5 but
let's assume it's broken there too.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13371
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35631 >
2025-07-02 17:21:58 +00:00
Samuel Pitoiset
7017b25d6a
radv: stop disabling the alpha optimization with E5B9G9R9 and RB+
...
This old workaround was added due to test failures with VKCTS but it
turns out the tests were broken. Color writemask for E5B9G9R9 must be
all RGB or none and some tests are testing various RGB channels which
is illegal.
See https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/5821 .
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35631 >
2025-07-02 17:21:58 +00:00
Eric Engestrom
834389dbde
docs: add sha sum for 25.1.5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35890 >
2025-07-02 17:17:34 +00:00
Eric Engestrom
40cb317c11
docs: add release notes for 25.1.5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35890 >
2025-07-02 17:17:34 +00:00
Eric Engestrom
3387beff79
docs: update calendar for 25.1.5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35890 >
2025-07-02 17:17:34 +00:00
David Neto
673f684ddd
nir: Support printing cmat constants
...
A cooperative matrix can only be constructed from a single
scalar value. Print that value, wrapped by a function call that
looks like a type-constructor.
This adds a test case that will otherwise assert out in spirv2nir.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35757 >
2025-07-02 16:48:51 +00:00
Faith Ekstrand
bb3274f0d8
nvk: Pass the pipe_format to copy_remap_format()
...
This changed in 76c6157902f1 ("nil/copy: Base swizzling on the per-plane
pipe_format") but I missed the case for linear render targets.
Fixes: 76c6157902f1 ("nil/copy: Base swizzling on the per-plane pipe_format")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35887 >
2025-07-02 16:31:43 +00:00
Caio Oliveira
c733f07378
brw: Use the right width in brw_nir_apply_key for BS shaders
...
Fixes: 23c7142cd6 ("anv: disable SIMD16 for RT shaders")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35798 >
2025-07-02 15:32:23 +00:00
Sergi Blanch-Torne
8911437038
ci: crnm: review argument metavar and type
...
Check the arguments to have a consistent definition of metavars to control the
string shown, and have them all lowercase. Also define the types expected on
those arguments.
Signed-off-by: Sergi Blanch-Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35828 >
2025-07-02 15:13:55 +00:00
Sergi Blanch-Torne
c3f4b1a7db
ci: crnm: rev argument for tags and branches
...
The --rev argument mentions that it accepts a git revision. I think it would
be practical to describe that it accepts a commit id, as well as a tag or
branch name.
Signed-off-by: Sergi Blanch-Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35828 >
2025-07-02 15:13:55 +00:00
Rob Clark
4ecd9ec268
dri: Remove plane info for RGB formats
...
This is only used for YUV formats, so simplify the format table.
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35856 >
2025-07-02 14:35:27 +00:00
Rob Clark
092bafe2ec
dri: Don't iterate the planes for non-YUV
...
Don't iterate the planes in dri2_format_mapping if the format is RGB.
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35856 >
2025-07-02 14:35:26 +00:00
Daniel Stone
4aaf431a11
dri: Garbage-collect old DRI interfaces
...
We don't use these in the tree, so declaring them only adds to
misdirection and annoyance.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35856 >
2025-07-02 14:35:26 +00:00
Rob Clark
82a6f19fdb
dri: Remove unused prototype
...
Fixes: 3a51865faa ("dri: use plane format directly")
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35856 >
2025-07-02 14:35:26 +00:00
Daniel Stone
4d61e281ea
dri2: Remove format components mapping
...
This was only used to answer the DRI components attrib request, which
was made unused as of the previous commit to move knowledge of the enum
to wayland-drm server-side code.
In theory, this makes the format mapping a little less flexible, however
in practice wayland-drm was neither extensible nor extended, and has
been deprecated in favour of explicit user awareness of format
properties.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35856 >
2025-07-02 14:35:25 +00:00