Dylan Baker
85d95009f5
meson: use the wayland module
...
This module has existed, unchanged, since Meson 0.64, and is now marked
as API stable in 1.8. It provides a number of helpers that reduce the
amount of code we need (including fiddly code about finding
wayland-scanner) by a bit, as well as some nice helpers for finding
external XML files.
2025-07-02 15:32:17 -07:00
Chia-I Wu
356f08aeab
panvk: propagate CS error in barrier sync wait
...
We don't want barriers to hide CS errors.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35606 >
2025-07-02 22:13:57 +00:00
Chia-I Wu
7868a551ff
panvk: remove debug_syncobjs
...
We can rely on panvk_per_arch(queue_check_status) to detect device lost.
Because we no longer emit cs_sync32_add from finish_cs to increment
debug syncobj, if an instr between the last draw/dispatch and
end-of-stream causes a CS error, the CS error is ignored. This is fine
because the instr should have no side effect and the kernel emits
ERROR_BARRIER to recover from the CS error.
If that is undesirable, we can restore the old behavior by emitting
cs_sync64_add from finish_cs to increment regular syncobj (and fix
cs_progress_seqno_reg) when PANVK_DEBUG is set.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35606 >
2025-07-02 22:13:57 +00:00
Chia-I Wu
6f21c4a549
panvk: check for CS error
...
If panvk_cs_sync64::error is non-zero at the end of a primary cmdbuf,
copy the error to panvk_cs_subqueue_context::last_error.
Update panvk_per_arch(queue_check_status) to check the last_error and
treat it as device lost if non-zero.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35606 >
2025-07-02 22:13:56 +00:00
Faith Ekstrand
d433f4e8bf
nak: Encode ureg handle sources for surface ops on Blackwell
...
At least I assume this is a handle. It shows up on SM120 and it looks
very much like the texture thing.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35895 >
2025-07-02 21:57:35 +00:00
Faith Ekstrand
19bee26056
nak: Surface handles are not allowed to be rZ
...
The chances of this happening are near zero with the way we do surface
ops today but I have seen it in the wild and this is apparently a rule.
The hardware throws an illegal instruction encoding if it sees 255.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35895 >
2025-07-02 21:57:34 +00:00
Karol Herbst
c1ba062a30
rusticl: use image_copy_buffer
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35809 >
2025-07-02 21:42:28 +00:00
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
Daniel Stone
2bf50a2b31
egl/wayland: Move EGL components to wayland-drm
...
wayland-drm is the bit of EGL which implements
EGL_WL_bind_wayland_display, used as a legacy path by pre-dmabuf Wayland
compositors to handle buffer exchange with clients. This allows the
client (platform_wayland) and server (wayland-drm) sides to negotiate
buffer exchange behind the scenes.
In this model, the server is unaware of what the format means and how it
should be bound to an image, so we have to query how the image should be
set up, bound to textures, and sampled. To do this, they have to query
the EGL implementation to find out.
We had a bunch of generic DRI infrastructure to support this, but now
that the DRI interface is no longer a hard one, and wl_drm is deprecated
in favour of dmabuf anyway, we can get rid of a lot of this
pseudo-generic support code.
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
Daniel Stone
87f81dc8b0
egl/wayland: Remove unnecessary plane validity check
...
dri2_from_planar() already checks the number of planes for us.
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
Sergi Blanch-Torne
e99236bad4
ci: crnm: extend it to work with other instances
...
ci-run_n_monitor tool can work with more projects than Mesa. It would be split
to its own repo with transparent access from the scripts in Mesa. But
meanwhile, this simple change allows using more GitLab instances than the
default gl.fd.o.
Signed-off-by: Sergi Blanch-Torne <sergi.blanch.torne@collabora.com >
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Acked-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35826 >
2025-07-02 14:11:45 +00:00
Eric Engestrom
e4c7a4b6a5
ci-tron: add ci-tron-arm64-test-{asan,ubsan}-{gl,vk} job templates
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35883 >
2025-07-02 14:42:40 +02:00
Eric Engestrom
8d0edd4be5
broadcom/ci: move job timeout definitions to jobs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35883 >
2025-07-02 14:42:40 +02:00
Mike Blumenkrantz
b61e6b9748
zink: enable ioopt by default
...
cts is fixed, so this should be fine
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31935 >
2025-07-02 11:22:58 +00:00
Connor Abbott
0c37d9abdf
tu: Remove now-redundant tu_trace_render_pass_start()
...
It's now called at tu_cmd_render() time, so we don't need any special
handling for merged render passes. I missed this call when rewriting it.
Fixes: 630380349b ("tu: Give renderpass events a separate trace buffer")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35868 >
2025-07-02 10:30:49 +00:00
Rhys Perry
dce1d4ad4c
aco/ra: fix repeated compact_linear_vgprs() in get_reg()
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Fixes: b7738de4f9 ("aco/ra: rework linear VGPR allocation")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13431
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35838 >
2025-07-02 09:26:04 +00:00
Erik Faye-Lund
e2a2663638
panfrost: disable 16x MSAA on t760 before r1p0
...
Versions prior to the r1p0 revision of Mali-T760 has a bug that prevents
16x MSAA from working properly. Let's detect this GPU, and disable the
functionality for it.
It's a bit awkward that we can't easily do this as part of the pan_model
infrastructure, but we'd otherwise have to introduce a new quirk that
depends on the GPU revision, which isn't something the current pan_model
infrastructure is prepared for. So let's just do it in get_max_msaa()
instead.
And while we're at it, let's also make the max_4x_msaa quirk do the
MIN2() properly. This can currently only happen on V4 GPUs when the
pan_allow_128bit_rts_v4 driconf is enabled, but it should be fixed in
either case.
Fixes: 423f3fd485 ("panfrost: enable 8x and 16x msaa modes when supported")
Reviewed-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35871 >
2025-07-02 09:05:39 +00:00
Lionel Landwerlin
343f3dd3c1
brw: fix non constant BTI accesses with offsets
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: e103afe7be ("brw: run the nir_opt_offsets pass and set the maximum offset size")
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35822 >
2025-07-02 01:04:06 +03:00
Iván Briano
5b58b838fe
anv: move view_usage check to before setting the protected bit on it
...
Otherwise the comparison will always be false for protected content.
Also remove extra setting of the protected bit that was happening later.
Fixes: 8d9cc6aa23 ("anv: properly flag image/imageviews for ISL protection")
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35870 >
2025-07-01 21:40:44 +00:00
Sagar Ghuge
5f31e6b286
anv: Drop unused anv_rt_bvh_build_method enum
...
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Iván Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35848 >
2025-07-01 20:00:35 +00:00
Rob Clark
6bc47e65d7
rusticl: Fix work group size validation
...
For each dimension, we `threads *= lws`.. which is still zero if threads
is initialized to zero.
Fixes: eca4f0f632 ("rusticl/kernel: check that local size on dispatch doesn't exceed limits")
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35864 >
2025-07-01 18:55:01 +00:00
Rob Clark
c417b83f19
freedreno/a6xx: Fix thread calc for dummy kernels
...
If a kernel uses no regs, max_reg will be -1.
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35864 >
2025-07-01 18:55:01 +00:00
Yiwei Zhang
83ae6393e5
virtio/ci: update AHardwareBufferNativeTests expectations
...
The Blob_BlobTest_* tests should have been fixed by the updated CF
image in 5ac532bfc7 .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35865 >
2025-07-01 18:28:58 +00:00
Dylan Baker
2e2826d121
meson: use .enable_if for intel tools dependency on expat
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35840 >
2025-07-01 17:40:03 +00:00
Dylan Baker
66a30385fe
meson: change RadV dependency on LLVM to an ACO tests dependency
...
RadV itself doesn't require LLVM, only the ACO tests do. So stop
requiring LLVM for ACO without its tests.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35840 >
2025-07-01 17:40:03 +00:00
Dylan Baker
39ccd7899c
meson: use feature options for LLVM
...
This allows us to get better error messages in cases where LLVM has been
explicitly disabled but not found, as well making use of the feature
object for the required argument to dependency. This in turn can give
better error messages when the object is used incorrectly.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35840 >
2025-07-01 17:40:03 +00:00
Eric Engestrom
ec97eadc9f
ci: fix yamllint warnings about whitespace
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35857 >
2025-07-01 16:17:13 +00:00
Eric Engestrom
e149cba160
ci: make sure that sanity job must pass before running other jobs
...
An unintended consequence of !35203 is that when container jobs are not
there, nothing depends on the `sanity` job anymore.
Fix this by making all the jobs using a container image we generate also
depend on `sanity` through the `.use-$distro/$variant` templates.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35857 >
2025-07-01 16:17:12 +00:00
Yiwei Zhang
a5762997da
venus: support AHB storage image format
...
R8 + GPU_DATA_BUFFER has been added to support AHB backed storage image
for compute use cases.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35845 >
2025-07-01 15:34:10 +00:00
Valentine Burley
5ac532bfc7
ci/android: Update Cuttlefish image
...
Main changes:
- Use hwcomposer=drm for venus_guest_angle instead of ranchu
- Cherry pick an upstream change in external/minigbm
https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/6691931
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35786 >
2025-07-01 14:50:55 +00:00
Valentine Burley
26bd1df9bf
virtio/ci: Run additional VKCTS tests on Cuttlefish with Venus+ANV
...
Extend the deqp-runner suite to run a fractional set of VKCTS tests
on Cuttlefish with Venus on ANV. This involved:
- Introducing a skip list for tests incompatible with this setup
- Increasing the parallelism of the pre-merge job on CML
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35786 >
2025-07-01 14:50:54 +00:00
Rhys Perry
21c4400278
aco: update ctx.block when inserting discard block
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13432
Backport-to: 25.1
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35833 >
2025-07-01 14:31:11 +00:00
Job Noorman
329d47421b
ir3/isa: ignore bit 54 in alias encoding
...
Recent versions of the blob started generating alias instructions with
bit 54 unset. The blob's disassembler doesn't seem to care about this
bit so let's ignore it as well.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35827 >
2025-07-01 14:07:59 +00:00
Feng Jiang
7cffd3818f
mesa/st: Fix potential array out-of-bounds in st_bind_hw_atomic_buffers()
...
The value of MaxAtomicBufferBindings comes from the driver
and may exceed PIPE_MAX_HW_ATOMIC_BUFFERS, causing an array
out-of-bounds issue.
Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn >
Reviewed-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35730 >
2025-07-01 13:47:09 +00:00
Feng Jiang
ac6dddb850
virgl: Make max_hw_atomic_counter_buffers less than PIPE_MAX_HW_ATOMIC_BUFFERS
...
The values of gl_constants.MaxAtomicBufferBindings and
gl_program_constants.MaxAtomicBuffers are derived from
pipe_shader_caps.max_hw_atomic_counter_buffers, which is
synchronized with the host's GL_MAX_*_ATOMIC_COUNTER_BUFFERS.
Based on the definition of struct virgl_context and other
factors, the current virgl driver can only support a maximum
of 32 atomic buffers. If no restrictions are imposed on
pipe_shader_caps.max_hw_atomic_counter_buffers, an error like
the following will occur in the vm when the host's
GL_MAX_*_ATOMIC_COUNTER_BUFFERS exceeds 32.
Thread 1 "glmark2-drm" received signal SIGABRT, Aborted.
Download failed: Invalid argument. Continuing without source file ./nptl/./nptl/pthread_kill.c.
__pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
warning: 44 ./nptl/pthread_kill.c: No such file or directory
#0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
#1 __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#2 __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3 0x00007ffff784527e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4 0x00007ffff78288ff in __GI_abort () at ./stdlib/abort.c:79
#5 0x00007ffff782881b in __assert_fail_base (fmt=0x7ffff79d01e8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
assertion=assertion@entry=0x7ffff63f686a "start + count <= 32", file=file@entry=0x7ffff63f6854 "../src/util/
bitscan.h", line=line@entry=306, function=function@entry=0x7ffff6d4c020 <__PRETTY_FUNCTION__.16> "u_bit_cons
ecutive") at ./assert/assert.c:96
#6 0x00007ffff783b517 in __assert_fail (assertion=assertion@entry=0x7ffff63f686a "start + count <= 32", file
=file@entry=0x7ffff63f6854 "../src/util/bitscan.h", line=line@entry=306, function=function@entry=0x7ffff6d4c020
<__PRETTY_FUNCTION__.16> "u_bit_consecutive") at ./assert/assert.c:105
#7 0x00007ffff5250ef5 in u_bit_consecutive (count=48, start=0) at ../src/util/bitscan.h:306
#8 0x00007ffff5252337 in u_bit_consecutive (count=48, start=0) at ../src/gallium/auxiliary/util/u_inlines.h:75
#9 virgl_set_hw_atomic_buffers (ctx=<optimized out>, start_slot=0, count=48, buffers=0x7fffffffd9b0) at ../src/
gallium/drivers/virgl/virgl_context.c:1351
#10 0x00007ffff4a58faf in st_bind_hw_atomic_buffers (st=<optimized out>) at ../src/mesa/state_tracker/st_atom_
atomicbuf.c:168
#11 0x0000000000000000 in ?? ()
Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn >
Reviewed-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35730 >
2025-07-01 13:47:09 +00:00
Christoph Pillmayer
c7cb7b7dc3
panvk: Advertise VK_KHR_calibrated_timestamps
...
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35510 >
2025-07-01 12:52:41 +00:00
Christoph Pillmayer
4d5f0f6ee2
panvk: Implement VK_KHR_calibrated_timestamps
...
Add entrypoints for calibrated timestamps.
Co-authored-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35510 >
2025-07-01 12:52:41 +00:00
Christoph Pillmayer
fb38f10240
panvk: Handle IUBs in decoder
...
When we encode inline uniform data into the descriptor table, we should
skip the descriptors that are actually data instead of real descriptors.
Let's do that and also print the inlined data for convenience.
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/35831 >
2025-07-01 12:34:41 +00:00
Valentine Burley
54c967cb76
ci: Fix location of conditional build tags
...
This allows the components to be found again after the move in
d5c63dd292 ("ci: split long containers build yaml").
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35851 >
2025-07-01 10:41:14 +00:00
Jose Maria Casanova Crespo
0f8c681c5c
v3d: fix support for no buffer object bound
...
Piglit arb_texture_buffer_object-render-no-bo was generating
gpu resets because the uniform stream was missing the last
Fragment Shader uniform. So it was reading instead of the last
fragment shader uniform the first uniform of the vertex shader.
And using that unrelated VS uniform as the sampler address where
the texture should be read.
So now if a buffer object is not bound for a texture buffer object
we write the texture state base address to 0 (NULL) so the default
texture state is used.
So only is needed to set the 4 lower bits of the tmu_p0 with
the bit-mask of word enables.
Fixes: bb8285c258 ("v3d: add support for no buffer object bound")
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35847 >
2025-07-01 09:18:31 +00:00
Christoph Pillmayer
7bf7d8c884
panvk: Advertise timestamp support
...
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34932 >
2025-07-01 08:27:48 +00:00
Christoph Pillmayer
369b3826fd
panvk: Add timestamp copy
...
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34932 >
2025-07-01 08:27:29 +00:00
Christoph Pillmayer
92c4dfe6ea
panvk: Add timestamp write and reset
...
Timestamps are made up of multiple results from the different subqueues,
decided by the target stage for the timestamp. Afterwards, when the
timestamp query is copied, those individual results will be combined
into the final result.
For the computation of the final result, each timestamp query also has
a separate info field, containing the info required to perform the copy.
Timestamps inside a renderpass which cover the fragment subqueue need
to be deferred until after the RUN_FRAGMENT job. This happens via a linked
list of timestamps in the subqueue context.
Once in each primary command buffer, the syncobjs of the queries completed
so far are signalled. The list of those queries is part of the subqueue
context as well.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34932 >
2025-07-01 08:27:29 +00:00
Christoph Pillmayer
a472dd8518
panvk: Move get_subqueue_stages to header
...
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34932 >
2025-07-01 08:27:29 +00:00
Christoph Pillmayer
0be3958159
panvk: Add conditional wait in emit_barrier
...
This makes it possible to choose, at runtime, to skip the wait in the
dst subqueue of the barrier.
This is needed to remove unnecessary dependencies between subqueues when
no timestamp queries are used.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34932 >
2025-07-01 08:27:29 +00:00
Christoph Pillmayer
658550bcc6
panvk: Rename reset_oq_batch
...
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34932 >
2025-07-01 08:27:29 +00:00
Christoph Pillmayer
eb6f591fd6
panvk: Pull CSF barrier logic into separate function
...
This makes it easier to implement internal syncs between subqueues later
in this MR.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34932 >
2025-07-01 08:27:29 +00:00
Erico Nunes
ccff24ba09
lima: drop lima_surface
...
With the previous refactors, lima_surface no longer contains
driver-specific info. And with recent refactors in mesa,
lima_surface_create is also no longer needed.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35749 >
2025-07-01 08:03:03 +00:00
Erico Nunes
cfbb2b590b
lima: drop util_framebuffer_init usage
...
It is marked deprecated together with PIPE_FB_SURFACES.
This refactors the code so that it is not needed.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35749 >
2025-07-01 08:03:03 +00:00
Erico Nunes
972da604dc
lima: move reload flags from surface to resource
...
This is in preparation to remove lima_surface.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35749 >
2025-07-01 08:03:03 +00:00
Erico Nunes
87e990ec56
lima: handle luminance and intensity pixel formats
...
These need to be handled when passing formats from pipe_resource
instead of pipe_surface.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35749 >
2025-07-01 08:03:03 +00:00
Erico Nunes
bae978d3eb
lima: drop tiled_w and tiled_h from lima_surface
...
These were written but not used anywhere.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35749 >
2025-07-01 08:03:03 +00:00
Erico Nunes
4b80ae8c8d
lima: drop unused fields from lima_context_framebuffer
...
These are duplicated in lima_job_fb_info and not used from
lima_context_framebuffer at all, so can just be dropped.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35749 >
2025-07-01 08:03:02 +00:00
Yiwei Zhang
09eda329a2
venus: filter out vulkan video feature bits on common video formats
...
Tested with ANV_DEBUG=video-decode,video-encode:
- dEQP-VK.api.info.format_properties.*
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35842 >
2025-07-01 07:25:58 +00:00
Samuel Pitoiset
71397a8162
radv/meta: stop allocating sampler for blit operations
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35790 >
2025-07-01 08:58:03 +02:00
Samuel Pitoiset
ba8bd13a14
radv: rework initializing/finishing samplers
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35790 >
2025-07-01 08:58:02 +02:00
Samuel Pitoiset
b4ea1c37ad
vulkan/runtime: add vk_sampler_{init,finish}() helpers
...
RADV will use them to initialize samplers with no allocations.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35790 >
2025-07-01 08:54:04 +02:00
Wenfeng Gao
d81e5c5aa3
mediafoundation: Modify the helper function MFAttachPipeResourceAsSampleExtension to tell MF that the attached IMFMediaBuffer is ready to use.
...
With this change, application can use Lock() to get the buffer.
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35836 >
2025-06-30 23:37:30 +00:00
Timothy Arceri
2ca46c7a7a
dri: fix __DRI_IMAGE_FORMAT* to PIPE_FORMAT* mappings
...
As per the old comment:
"These formats correspond to the similarly named MESA_FORMAT_*
tokens, except in the native endian of the CPU. For example, on
little endian __DRI_IMAGE_FORMAT_XRGB8888 corresponds to
MESA_FORMAT_XRGB8888, but MESA_FORMAT_XRGB8888_REV on big endian."
Fixes: 7e10601786 ("dri: Redeclare __DRI_IMAGE_FORMAT_* as PIPE_FORMAT_*")
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35814 >
2025-06-30 23:04:57 +00:00
Timothy Arceri
94032b2298
dri: add missing field to dri2_dup_image()
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35814 >
2025-06-30 23:04:57 +00:00
Timothy Arceri
3a51865faa
dri: use plane format directly
...
Since 7e10601786 we not longer need the table we can just use
the formats directly.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35814 >
2025-06-30 23:04:57 +00:00
Faith Ekstrand
3853f72f52
nak: I/O offsets are unsigned when combined with RZ
...
Fixes dEQP-VK.pipeline.monolithic.descriptor_limits.compute_shader.samplers_16384
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35843 >
2025-06-30 21:00:22 +00:00
Faith Ekstrand
2feedeeecb
nak: Don't se .yld or .reuse_mask on Blackwell+
...
These appear to be gone and everything works without setting them so
let's just treat them like missing bits for now. According to the CUDA
12.8 disassembler, they still do something but it's not the same thing
they did before and I don't have docs to tell me what they really do.
Best to just not set them.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35843 >
2025-06-30 21:00:21 +00:00
Dave Airlie
1f990187ca
nvk: add support for separate depth/stencil for blackwell
...
Blackwell uses separate ds storage on blackwell for d32s8,
optionally for d24s8, but I've used it here because I could make it
work.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35843 >
2025-06-30 21:00:19 +00:00
Faith Ekstrand
baffad9077
nvk: Allocate separate planes for depth and stencil on Blackwell+
...
Blackwell adds separate depth/stencil support (finally!) and interleaved
depth/stencil no longer seems to work. We employ the same trick as ANV
and several other drivers and put stencil in nil_image::planes[1].
Co-authored-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35843 >
2025-06-30 21:00:19 +00:00
Faith Ekstrand
d396544fe1
nvk: Allow sparse binding of YCbCr images
...
We support sparse binding, just not sparse residency. While we're here,
we change the check to plane_count > 1, which is the real requirement.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35843 >
2025-06-30 21:00:19 +00:00
Faith Ekstrand
13afd66d78
nvk: Use util_format_stencil_only()
...
There's no reason to roll our own since the util helpers already have
exactly that function.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35843 >
2025-06-30 21:00:19 +00:00
Faith Ekstrand
db80cb3a04
nil/copy: Base swizzling on the per-plane pipe_format
...
Among other things, this actually descriptive of the in-memory layout
whereas the VkFormat can sometimes map to multiple pipe_formats. Also
fix a couple harmless typos while we're here and add some unreachable
cases so packed depth/stencil formats don't fall through to the default
case if we support them in future.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35843 >
2025-06-30 21:00:19 +00:00
Alyssa Rosenzweig
3c2f46fcac
treewide: use nir_break_if with named if
...
Via Coccinelle patch:
@@
expression builder, condition;
identifier nif;
@@
-nir_if *nif = nir_push_if(builder, condition);
-{
-nir_jump(builder, nir_jump_break);
-}
-nir_pop_if(builder, nif);
+nir_break_if(builder, condition);
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35794 >
2025-06-30 14:51:54 -04:00
Alyssa Rosenzweig
67237b6f1b
treewide: use nir_break_if
...
Via Coccinelle patch:
@@
expression builder, condition;
@@
-nir_push_if(builder, condition);
-{
-nir_jump(builder, nir_jump_break);
-}
-nir_pop_if(builder, NULL);
+nir_break_if(builder, condition);
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35794 >
2025-06-30 14:51:24 -04:00
Karol Herbst
9c47461889
rusticl/formats: support cl_ext_image_unorm_int_2_101010
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35469 >
2025-06-30 18:04:59 +00:00
Karol Herbst
54b11069d1
rusticl/formats: support CL_UNORM_INT_101010_2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35469 >
2025-06-30 18:04:59 +00:00
Karol Herbst
b3c245ecf2
clc: add support for cl_ext_image_unorm_int_2_101010
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35469 >
2025-06-30 18:04:59 +00:00
Alyssa Rosenzweig
7fd7b18b38
nir: rename AGX geom/tess intrinsics
...
to the new common code name.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35802 >
2025-06-30 16:24:10 +00:00
Alyssa Rosenzweig
d13b321201
nir/lower_gs_intrinsics: drop stuff added for AGX
...
AGX now vendors a significantly different version of this pass, so the common
one doesn't need the stuff added for AGX.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35802 >
2025-06-30 16:24:10 +00:00
Alyssa Rosenzweig
debd619555
hk: optimize point size writes with GS/TS
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35802 >
2025-06-30 16:24:07 +00:00
Alyssa Rosenzweig
279b7c028b
hk: advertise more GS features
...
new impl handles this.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35802 >
2025-06-30 16:24:07 +00:00
Alyssa Rosenzweig
1f7fe678e7
asahi,hk: significantly rework GS
...
get rid of the rasterizer discard variants, by pushing XFB into the hardware VS
and letting everything cascade down from there. that then means hardware VS runs
for all streams, which means we get dynamic rasterization stream selection.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35802 >
2025-06-30 16:24:07 +00:00
Alyssa Rosenzweig
03a5b7f25c
asahi: flush around XFB
...
this is required by the spec. fixes
gles-3.0-transform-feedback-uniform-buffer-object.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Backport-to: 25.1
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35802 >
2025-06-30 16:24:07 +00:00
Alyssa Rosenzweig
933b50b806
asahi: clang-format
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35802 >
2025-06-30 16:24:06 +00:00
Alyssa Rosenzweig
700ee568e0
libagx: add agx_vdm_barrier
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35802 >
2025-06-30 16:24:06 +00:00
Alyssa Rosenzweig
16b53d356a
nir: add rasterization_stream sysval
...
for plumbing transformFeedbackRasterizationStreamSelect (in turn for exercising
more CTS and proving out my design).
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35802 >
2025-06-30 16:24:06 +00:00
Alyssa Rosenzweig
805ef6cc17
nir: add intrinsics for geometry shader lowering
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35802 >
2025-06-30 16:24:05 +00:00
Alyssa Rosenzweig
4f7cae5e61
nir/opt_algebraic: add trichotomy identity
...
In https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35802 we will
significantly rework geometry shaders & transform feedback. In the new approach,
transform feedback is executed as part of the hardware vertex shader, meaning
the vertex shader needs to write out all the "copies" of the same value into
different parts of the XFB buffer. In the general case of a GS writing triangle
strips, we get 0-3 copies. This is good and lets us parallelize XFB better with
GS.
In the case of a VS alone with XFB, we insert a passthrough GS. In that case
special case, we can only get at most 1 copy, so if we can prove the length of
the output strip is 3 we can delete 2/3 of the shader.
Anyway, the only thing preventing NIR from doing that optimization is failing to
see through some conditionals, fixed by optimizing with the law of trichotomy.
We could add other variants of this pattern (signed vs unsigned, iand vs
ior/ixor) if we expect anything else to hit this other than my boutique use
case.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Marek Olšák <maraeo@gmail.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35802 >
2025-06-30 16:24:04 +00:00
Yiwei Zhang
153857fb64
vulkan/wsi: amend barriers for blit dst buffer going to foreign queue
...
The prime blit dst buffer can be backed by external memory, no matter
host ptr shm or dma-buf export alloc. Whether the external path is taken
is only decided upon blit ctx creation time, so we have to track whether
external in the wsi_image. When the external path is taken, we have to
explicitly handle queue family ownership transfer from internal to
foreign. To be noted, no explicit foreign to internal ownership transfer
is needed since the blit dst content can be left undefined.
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35034 >
2025-06-30 16:03:26 +00:00
Yiwei Zhang
f6bf5d9a3e
vulkan/wsi: amend barriers for blit dst buffer
...
For non-external blit dst buffer, it's bliting the wsi image to a buffer
with mapping populated by vkMapMemory, and it's shared via xcb_put_image
for x11 or memcpy into a shared wl_buffer backed by shm. So we need
additional host stage and host access bit to ensure proper cache flush.
There's no queue family ownership transfer needed.
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35034 >
2025-06-30 16:03:24 +00:00
Jesse Natalie
7f4ae75903
dzn: Roll up initialization failure in dzn_meta_init
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13416
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35748 >
2025-06-30 15:13:54 +00:00
Karol Herbst
4b43780bbd
rusticl/queue: fix wrong_self_convention and needless_borrow clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35834 >
2025-06-30 14:17:33 +00:00
Mike Blumenkrantz
9482ad212d
tc: don't reuse first rp info on batch if there is work pending
...
this otherwise causes a mismatch if drivers try to access previous info
during a set_framebuffer_state call (e.g., to flush clears)
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35777 >
2025-06-30 13:51:42 +00:00
Sergi Blanch-Torne
f0c58518cc
ci: reduce the root .gitlab-ci file
...
Following the idea to distribute in a tree of files to include and split
between the files with or without hidden job definitions, some jobs in the
root file can be moved to files made specific to describe build or test jobs.
Signed-off-by: Sergi Blanch-Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35427 >
2025-06-30 12:32:30 +00:00
Valentine Burley
6508c6038f
ci: Use placeholder-job for mr-label-maker-test
...
This is a quick job using the .fdo.ci-fairy image.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Reviewed-by: Sergi Blanch-Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35427 >
2025-06-30 12:32:30 +00:00
Sergi Blanch-Torne
396074c59d
ci: split hidden job definition for bare-metal and ci-tron
...
The job definitions for lava-related jobs are encapsulated in a directory,
while the other two farm managers were in the generic test directory. Having a
directory for ci-tron places it side by side with other farm managers. For
bare-metal, it has another advantage, as this encapsulates elements related to
this farm manager in a single place.
To maintain simplicity and consistency in file naming, the gitlab-ci file in
the lava directory is renamed as it has a prefix that corresponds with the
directory hosting it. The other farm equivalent files don't include this
duplication as a prefix, and there isn't such a prefix in any other case of
the CI.
Signed-off-by: Sergi Blanch-Torne <sergi.blanch.torne@collabora.com >
Acked-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35427 >
2025-06-30 12:32:30 +00:00
Sergi Blanch-Torne
d5c63dd292
ci: split long containers build yaml
...
The yaml file for the definitions for container build on different systems can
have a split between systems before split between hidden and build jobs.
Signed-off-by: Sergi Blanch-Torne <sergi.blanch.torne@collabora.com >
Acked-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35427 >
2025-06-30 12:32:29 +00:00
Sergi Blanch-Torne
6ba1b61395
ci: separate hidden jobs to -inc yml files
...
Almost all the gitlab-ci.yml files in Mesa have their hidden jobs defined in
an include file. This may have started with !25238 with the idea to simplify
the re-use of hidden jobs by other projects. But we missed the .gitlab-ci
directory.
Signed-off-by: Sergi Blanch-Torne <sergi.blanch.torne@collabora.com >
Acked-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35427 >
2025-06-30 12:32:29 +00:00
Eric Engestrom
ff6925c34b
ci/build: use !reference to build scripts instead of yaml anchors
...
Needed for the next commit
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Sergi Blanch-Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35427 >
2025-06-30 12:32:29 +00:00
Robert Mader
a166d7609f
gles: Add support for 10/12/16 bit SW decoder YCbCr formats
...
Signed-off-by: Robert Mader <robert.mader@collabora.com >
Co-Authored-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34303 >
2025-06-30 11:56:23 +00:00
Robert Mader
76095b2cb0
mesa/formats: Add support for 10 and 12 bit SW decoder YCbCr formats
...
Matching e.g. I420_10LE in Gstreamer / yuv420p10 in ffmpeg. The formats
are notably used for HDR10 videos by software decoders like dav1d, libav,
libaom and libvpx.
Use-cases include video players and editors that can allocate DMA buffers
- e.g. via udmabuf, dma-heaps, VA-API, V4L2, etc. - allowing them to avoid
unnecessary copies. Testing HDR10 playback on CI might also become easier.
Signed-off-by: Robert Mader <robert.mader@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34303 >
2025-06-30 11:56:23 +00:00
Robert Mader
df09c3b0e7
drm-uapi: update drm_fourcc.h to latest version
...
Taken from commit e252e3f3488 of the drm-misc-next kernel tree,
including the new 10/12/16bit software decoder YCbCr formats.
These have also been pulled into the libdrm 2.4.125 release.
Signed-off-by: Robert Mader <robert.mader@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34303 >
2025-06-30 11:56:23 +00:00
David Rosca
25a2c9116c
radeonsi/vcn: Stop forcing OBU frame for first frame on VCN4
...
This has effect only for first frame, for every other frame it will
be overwritten by application preference, which we should honor.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35712 >
2025-06-30 11:17:55 +00:00
Rhys Perry
7b291a33d4
nir/search: fix dumping of conversions
...
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/35770 >
2025-06-30 10:41:39 +00:00
Rhys Perry
08859cbe50
nir/lower_bit_size: fix bitz/bitnz
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Fixes: 6585209cdd ("nir/lower_bit_size: mask bitz/bitnz src1 like shifts")
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35770 >
2025-06-30 10:41:39 +00:00
Valentine Burley
9a25d6c00f
ci/android: Add link to Android CTS results
...
The Android CTS results are saved as an HTML page in the CI artifacts.
Add a direct link to make them easier to access.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35792 >
2025-06-30 10:15:15 +00:00
Valentine Burley
f56be74be6
ci/android: Add separate log section for Android CTS
...
The Android CTS logs were previously buried under the `cuttlefish: setup`
section. Add an uncollapsed section to improve visibility.
Also remove the `gathering the results` section, which was empty in the logs.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35792 >
2025-06-30 10:15:15 +00:00
Valentine Burley
6203846120
ci/android: Move sourcing setup-test-env.sh before set -uex
...
This prevents printing the various aliases and exports, and cleans up the
job logs.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35792 >
2025-06-30 10:15:15 +00:00
Christoph Pillmayer
a611ab7895
panvk: Propagate occ query state from secondary to primary
...
When we ExecuteCommands, we can have the following situation:
secondary {
beginQuery
endQuery
}
primary {
beginRendering
executeCommands(secondary)
endRendering
}
See dEQP-VK.query_pool.concurrent_queries.secondary_command_buffer.
For the logic in EndRendering to correctly detect that an occlusion
query has ended inside this render pass, the oq state has to be
propagated back to the primary from the secondary.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35738 >
2025-06-30 09:51:52 +00:00
Christoph Pillmayer
5cf456a028
panvk: Handle occlusion queries + multiview
...
If an occlusion query is started inside a renderpass with multiview, we
need to signal as many queries as there are bits set in the view mask.
It is enough to signal them, we don't have to change how we write the
occlusion query. All but the first of the n queries will return 0.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35738 >
2025-06-30 09:51:52 +00:00
Alejandro Piñeiro
0f830c5572
v3d/compiler: properly handle the RA debug option
...
RA is intended to dump the vir when register allocation fails, so it
should be checked when we set c->compilation_result to
FAILED_REGISTER_ALLOCATION.
But it seems that this option was forgotten when on some of the
refactorings around compilation_result, as was let on an old condition
that reported register allocation failures.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35823 >
2025-06-30 09:36:04 +00:00
Corentin Noël
c5b42a2ae4
virgl: Add more Gallium formats to the list
...
Include the recently added formats.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35741 >
2025-06-30 09:04:43 +00:00
Samuel Pitoiset
68708cd4da
radv/ci: uprev kernel to 6.15.3
...
NAVI21/NAVI31 still uses 6.6 for now.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35765 >
2025-06-30 08:10:47 +02:00
Lionel Landwerlin
89f3ee4cb2
brw: remove debug printf
...
Fixes: fcf4401824 ("brw: handle wa_18019110168 with independent shader compilation")
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35815 >
2025-06-29 12:39:03 +03:00
Yiwei Zhang
3f1d40d230
venus: wsi workaround for gamescope
...
Gamescope relies on legacy scanout support when explicit modifier isn't
available and it chains the mesa wsi hint requesting such. Venus doesn't
support legacy scanout with optimal tiling on its own, so venus disables
legacy scanout in favor of prime buffer blit for optimal performance. As
a workaround here, venus can once again force linear tiling when legacy
scanout is requested outside of common wsi.
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35811 >
2025-06-28 17:52:40 -07:00
Yiwei Zhang
c5d1392a10
venus: share code for AHB image subres query
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35810 >
2025-06-28 23:16:58 +00:00
Yiwei Zhang
d45b76c3cc
venus: drop tiling_override tracking
...
It used to serve 2 purposes:
1. aliased swapchain image
2. faked legacy scanout support
...and now can be cleaned up.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35810 >
2025-06-28 23:16:58 +00:00
Yiwei Zhang
a96d7cdbc0
venus: drop drm_format_modifier tracking
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35810 >
2025-06-28 23:16:58 +00:00
Yiwei Zhang
0db7818b87
venus: use wsi_common_create_swapchain_image
...
We no longer need to do our own since the chain has the info stored for
the common helper.
Test:
- dEQP-VK.wsi.*.swapchain.create.*
- dEQP-VK.wsi.*.maintenance1.*
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35810 >
2025-06-28 23:16:57 +00:00
Calder Young
646977348b
anv: Fix typo when checking format's extended usage flag
...
Fixes: f4c1753c1a ("anv: report color/storage features on YCbCr images with EXTENDED_USAGE")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35703 >
2025-06-28 20:39:18 +00:00
Yiwei Zhang
cb54338f65
venus: fix msaa state sample location info sanitization
...
The additional reference has corrupted the below D/S state instead of
properly ending the msaa state pnext chain.
Fixes: ff64092ff3 ("venus: support VK_EXT_sample_locations")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35808 >
2025-06-28 20:25:23 +00:00
Mel Henning
8795006994
nir/opt_uniform_subgroup: Handle vote_feq
...
Brings the vertex shader in
dEQP-VK.subgroups.vote.framebuffer.subgroupallequal_dvec4_vertex
from 234 to 169 instructions on NAK.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35778 >
2025-06-28 16:10:50 +00:00
Mel Henning
70fccc59fc
nir/opt_uniform_subgroup: Handle vote_ieq
...
No shader-db changes here, but it does improve some cts shaders, eg. the
vertex shader in
dEQP-VK.subgroups.vote.framebuffer.subgroupallequal_i64vec4_vertex
goes from 80 to 56 instructions with NAK
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35778 >
2025-06-28 16:10:50 +00:00
Mel Henning
ff0a69efd7
nak: Call nir_opt_uniform_subgroup
...
Totals:
CodeSize: 4534711024 -> 4436632608 (-2.16%); split: -2.16%, +0.00%
Number of GPRs: 10963687 -> 10964035 (+0.00%); split: -0.00%, +0.00%
Static cycle count: 1097514100 -> 1057410000 (-3.65%)
Spills to reg: 242139 -> 242168 (+0.01%); split: -0.01%, +0.02%
Fills from reg: 222030 -> 222061 (+0.01%); split: -0.00%, +0.01%
Max warps/SM: 7245564 -> 7245484 (-0.00%); split: +0.00%, -0.00%
Totals from 52240 (26.58% of 196502) affected shaders:
CodeSize: 1982406064 -> 1884327648 (-4.95%); split: -4.95%, +0.00%
Number of GPRs: 3861735 -> 3862083 (+0.01%); split: -0.00%, +0.01%
Static cycle count: 484309374 -> 444205274 (-8.28%)
Spills to reg: 24327 -> 24356 (+0.12%); split: -0.07%, +0.18%
Fills from reg: 12675 -> 12706 (+0.24%); split: -0.02%, +0.26%
Max warps/SM: 1417372 -> 1417292 (-0.01%); split: +0.00%, -0.01%
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35778 >
2025-06-28 16:10:50 +00:00
Mel Henning
694523e2b9
nak: Implement nir_intrinsic_vote_ieq with OpMatch
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35778 >
2025-06-28 16:10:50 +00:00
Mel Henning
10acb44c64
nir: Split lower_vote_eq into int/float versions
...
Recent nvidia hardware has a native instruction for
nir_intrinsic_vote_ieq but not for nir_intrinsic_vote_feq. So, split
this boolean into two so we can contol the lowering separately for each
instruction.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35778 >
2025-06-28 16:10:50 +00:00
Mel Henning
00fe8e45a0
nak: Add OpMatch
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35778 >
2025-06-28 16:10:49 +00:00
Valentine Burley
ef6273c43c
ci: Fix artifact name for jobs with parallel indices
...
GitLab mangled artifact filenames when `CI_JOB_NAME` contained a slash
(e.g. 1/4), resulting in broken names like `4.zip`.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13424
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35796 >
2025-06-28 14:59:58 +00:00
Natalie Vock
e236a731e4
radv/rt: Enable pointer flags on GFX11+
...
Allows hardware to do some of the culling work, as well as early-cull
box nodes with CullOpaque/CullNonOpaque ray masks when all children are
(not) opaque.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32417 >
2025-06-28 10:31:38 +00:00
Natalie Vock
e82717a5cf
radv: Use common helper to set BLAS node pointer flags on gfx11+
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32417 >
2025-06-28 10:31:38 +00:00
Natalie Vock
06a06bbe09
radv: Encode child opaqueness information in box nodes
...
Also, use one reserved field from the header to store the root node's
opaqueness flags. This is used to propagate opaqueness info across the
BLAS/TLAS boundary.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32417 >
2025-06-28 10:31:37 +00:00
Natalie Vock
3b1f94d00d
radv: Encode child opaqueness information in triangle nodes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32417 >
2025-06-28 10:31:37 +00:00
Natalie Vock
7301e92d49
vulkan/runtime/bvh: Propagate opaqueness information through the BVH
...
AMD hardware can early-cull box nodes if all leaves are either opaque or
not and the ray flags are set to discard (non-)opaque geometries. This
works even across TLAS/BLAS boundaries.
Propagate info on whether all child nodes are opaque or not through the
BVH to allow RADV to set these flags per box node.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32417 >
2025-06-28 10:31:37 +00:00
Marek Olšák
6afa638b18
ac/nir/lower_ngg: rename user_clip_plane_enable_mask -> cull_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/35351 >
2025-06-28 08:20:26 +00:00
Marek Olšák
814990684d
ac/nir/lower_ngg: pack GS outputs and XFB outputs in LDS optimally
...
This switches the code to the new slot offsets from ac_nir_prerast_out
instead of using a prefix bitmask over outputs_written.
The LDS layout no longer includes these:
- GS: output components that are not written by GS
- VS/TES+XFB: output components that are not written by XFB
- VS/TES+XFB: slots that are not written by XFB (this could be significant)
This is also a cleanup because it unduplicates the bitcounts.
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/35351 >
2025-06-28 08:20:26 +00:00
Marek Olšák
75b1602c14
ac/nir/lower_ngg_gs: return LDS size from the pass
...
instead of computing it separately. This is better because
ac_nir_lower_ngg_gs knows the final LDS size anyway, and it will be
easier to modify the size calculation this way.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35351 >
2025-06-28 08:20:26 +00:00
Marek Olšák
d79f28e9b3
ac/nir/lower_ngg: return LDS size for NGG VS and TES from the pass
...
instead of computing it separately. This is better because
ac_nir_lower_ngg_nogs knows the final LDS size anyway, and it will be
easier to modify the size calculation this way.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35351 >
2025-06-28 08:20:26 +00:00
Marek Olšák
7fe603ad82
radv: call gfx10_get_ngg_info after NIR lowering
...
It will receive LDS vertex and scratch sizes from NIR lowering passes,
so it can't be before them.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35351 >
2025-06-28 08:20:26 +00:00
Marek Olšák
42e98f115a
radv: always use the ngg_lds_layout SGPR
...
This is a prerequisite for NGG lowering passes to return LDS vertex and
scratch sizes, which will lead to further simplifications. That will
require calling gfx10_get_ngg_info after radv_postprocess_nir, which means
LDS offsets are unknown when the passes are called.
This makes the 2 values no longer compile-time constants.
A later commit will remove NGG_LDS_LAYOUT_SCRATCH_BASE (the passes will
determine it), so only NGG_LDS_LAYOUT_GS_OUT_VERTEX_BASE will come from
an SGPR, though that could be removed too (non-trivially) or handled as
a relocation.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35351 >
2025-06-28 08:20:26 +00:00
Marek Olšák
8346469ec0
ac/nir/lower_ngg_gs: split lower_ngg_gs_intrinsic into gathering and lowering
...
We need to gather outputs before lowering because lowering requires that we
know the LDS vertex stride, so that we can lower output stores to LDS
stores.
The pass will determine the LDS vertex stride, not drivers.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35351 >
2025-06-28 08:20:26 +00:00
Marek Olšák
84e8e899cd
ac/nir: add an option not to gather values in ac_nir_gather_prerast_store_output_info
...
This will be needed in the next commit.
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/35351 >
2025-06-28 08:20:26 +00:00
Marek Olšák
ebdd97a993
ac/nir: add LDS layout info for GSVS and XFB to ac_nir_prerast_per_output_info
...
This will be used to reduce the NGG LDS size for uncompacted GS and XFB
outputs.
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/35351 >
2025-06-28 08:20:25 +00:00
Marek Olšák
39a9dce5fc
ac/nir: add an option to pack clip/cull distance components to remove holes
...
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/35351 >
2025-06-28 08:20:25 +00:00
Marek Olšák
6cd813810e
ac/nir: add an option write_pos_to_clip_vertex to clip against POS
...
This enables emulating clip planes without ClipVertex via clip distances
(max 8) instead of the fixed-func hw (max 6 planes).
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/35351 >
2025-06-28 08:20:25 +00:00
Marek Olšák
3dd3f2f889
ac/nir/lower_ngg_gs: build streamout after lowering intrinsics
...
Streamout will require prerast info, which is gathered by
lower_ngg_gs_intrinsics.
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/35351 >
2025-06-28 08:20:25 +00:00
Marek Olšák
83dc5917fe
ac/nir: lower ClipVertex before all position exports
...
just code reordering (position exports should be at the end for perf)
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/35351 >
2025-06-28 08:20:25 +00:00
Marek Olšák
c9b6a95038
ac/nir: remove the done parameter from ac_nir_export_position
...
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/35351 >
2025-06-28 08:20:25 +00:00
Marek Olšák
7c3760201d
ac/nir/lower_ngg: never export edge flags via position exports
...
It has no effect, but the extra export instructions is unnecessary and
we can't gather the effective number of position exports from NIR if we
insert incorrect exports.
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/35351 >
2025-06-28 08:20:25 +00:00
Lionel Landwerlin
a742b859bd
anv: add support for handling wa_18019110168 with gfx-libs
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35103 >
2025-06-28 05:55:35 +00:00
Lionel Landwerlin
fcf4401824
brw: handle wa_18019110168 with independent shader compilation
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35103 >
2025-06-28 05:55:35 +00:00
Lionel Landwerlin
bc8d18aee2
brw: make a helper for vertex attribute offset computation
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35103 >
2025-06-28 05:55:34 +00:00
Lionel Landwerlin
8fabcd754f
brw: move primitive_id_index field in fs_msaa
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35103 >
2025-06-28 05:55:34 +00:00
Lionel Landwerlin
6336cf0ea2
brw: store the remapping table for wa_18019110168 in constant data
...
That way it can be accessed at runtime.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35103 >
2025-06-28 05:55:33 +00:00
Lionel Landwerlin
e1a7eb1718
brw: extract out attribute register remapping
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35103 >
2025-06-28 05:55:33 +00:00
Lionel Landwerlin
5cc66e2c8d
anv/brw: move Wa_18019110168 handling to backend
...
We simplify the implementation by assuming the worse case, copying
entire per-vertex regions if necessary.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35103 >
2025-06-28 05:55:32 +00:00
Lionel Landwerlin
8e7e0ef75a
anv: make Wa_18019110168 deal with dynamic provoking vertex
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35103 >
2025-06-28 05:55:32 +00:00
Lionel Landwerlin
f0f4f9c566
brw: fix vertex attribute offset computation
...
The formula uses scalar indices (4bytes), not slots (16bytes).
We also incorrectly passed a scalar (vertex case) & slot (mesh case)
offset in the push constants. Use slots instead so that the value is
smaller and we can pack more stuff into fs_msaa_flags.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 18bbcf9a63 ("intel: introduce new VUE layout for separate compiled shader with mesh")
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35103 >
2025-06-28 05:55:31 +00:00
Lionel Landwerlin
4b5539a0cb
brw: fix set_range on load_per_primitive_output
...
load intrinsics don't have range
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 18bbcf9a63 ("intel: introduce new VUE layout for separate compiled shader with mesh")
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35103 >
2025-06-28 05:55:31 +00:00
Rob Clark
7fd99c88b9
freedreno/a6xx: The great register renaming
...
Align register names to internal docs to avoid having to mentally remap
register names between the names we invented over the years and what
they are actually called.
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35803 >
2025-06-27 23:08:32 +00:00
Rob Clark
a8c052ca9d
freedreno: Rename IBO -> UAV
...
Internally, adreno uses dx terminology, and calls these UAVs. Rename to
match.
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35803 >
2025-06-27 23:08:31 +00:00
Rob Clark
12530fb8df
freedreno/registers: Some reg64 conversion
...
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35803 >
2025-06-27 23:08:30 +00:00
Rob Clark
f55d8fa62e
freedreno/registers: Fix a couple missing variants
...
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35803 >
2025-06-27 23:08:29 +00:00
Rob Clark
79d2014d8b
freedreno/a6xx: Fix SP_CS_IBO address on a7xx
...
This moved to accomidate the additional BINDLESS_BASE registers, and we
overlooked that when adding a7xx support.
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35803 >
2025-06-27 23:08:28 +00:00
Rob Clark
029270f9c1
freedreno/decode: Add a simple util to dump csv reg list
...
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35803 >
2025-06-27 23:08:28 +00:00
Faith Ekstrand
f6bdb8cd06
nvk/copy: Set the gob_kind for tiled copies on Blackwell+
...
This is needed on blackwell to deal with kind/bpp interactions.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35807 >
2025-06-27 21:52:08 +00:00
Dave Airlie
a428835681
nouveau/headers: add a hacked up clc9b5 dma-copy
...
This adds some hacked up dma-copy bits needed for blackwell
until nvidia can release the class.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35807 >
2025-06-27 21:52:08 +00:00
Faith Ekstrand
6594a11dfe
nil: Remove some unused renames from cbindgen.toml
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35807 >
2025-06-27 21:52:07 +00:00
Faith Ekstrand
50a0f9bd88
nil: Add a new GOBType for Z24 on Blackwell+
...
It's a different memory layout from Ada and earlier.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35807 >
2025-06-27 21:52:07 +00:00
Faith Ekstrand
f6ff11a594
nil: Reorder the checks in GOBType::choose() again
...
Match on HW generation first. Blackwell is so totally different that it
doesn't make sense to share any code with the others.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35807 >
2025-06-27 21:52:07 +00:00
Faith Ekstrand
6fbd6a52ca
nak: Use fswzadd.ndv on Blackwell+
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35795 >
2025-06-27 21:23:25 +00:00
Faith Ekstrand
b4c05a8402
nak: Add a TexDerivMode to OpFSwz and OpFSwzAdd
...
Even on Blackwell, this is a single bit but we might as well use the
enum for it so it's consistent with tex ops.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35795 >
2025-06-27 21:23:25 +00:00
Faith Ekstrand
4ac4bd62c8
nak: Add a new TexDerivMode enum and plumb it through
...
For most generations, this is just plumbing through a false bit. But on
Blackwell, we need to set .dxy at least in compute shaders.
Also, we had a bunch of .NDV comments on OpTxd but it has never existed
there on ahy hardware generation, it's just a left-over from trying to
copy+paste from codegen.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35795 >
2025-06-27 21:23:24 +00:00
Faith Ekstrand
c6ad70551b
nak: Tell NIR to lower invalid implicit LODs
...
I think NVIDIA hardware more or less does this for us for free but it's
nice to have NIR make sure.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35795 >
2025-06-27 21:23:24 +00:00
Faith Ekstrand
13935c955c
nak: Add better is_blackwell*() helpers
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35795 >
2025-06-27 21:23:24 +00:00
Faith Ekstrand
cb9e458d29
nak: Rework printing of TexLodMode
...
Puth the "." in the Display implementation like other modifiers.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35795 >
2025-06-27 21:23:24 +00:00
Faith Ekstrand
59f4c8dac2
nak: Use set_ureg_src() for Blackwell texture offsets and handles
...
Also add handles (they're currently missing).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35795 >
2025-06-27 21:23:24 +00:00
Dave Airlie
45bd5502f5
nak: Add misc Blackwell tex encoding bits
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35795 >
2025-06-27 21:23:24 +00:00
Dave Airlie
06e8db646a
nouveau: workaround linear/z rendering interaction
...
nvidia hardware can't render to linear surfaces except under some
very limited circumstances, one of those is if Z is enabled.
However there appears to be some combination of gnome-shell, and
prime (with 2 nouveau cards) where we end up getting through the
GL API to the situation where we try this. This in a production
build causes the kernel to crash with a GR error.
However there existed a period of time where the hw/kernel due to
some other random hw misconfiguration didn't crash when this happened
and doing this was prefect fine. (linear + tiled Z).
This restores the userspace code to do this and just ignores the
Z buffers if we are asked for linear rendering, and seems sufficient
to fix the problem.
I do understand this is a workaround, but I think it's reasonable to
add to the nouveau GL driver at this time since we don't want to
maintain if for ever and it probably should fix a bunch of wierd
user problems with multi gpu and nouveau.
Cc: mesa-stable
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35221 >
2025-06-27 21:09:13 +00:00
Yiwei Zhang
5dc3708e97
panvk: refactor swapchain image alias bind
...
This is to prepare for ANB support.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35779 >
2025-06-27 16:16:31 +00:00
Yiwei Zhang
827108ab7d
panvk: refactor panvk_image to track panvk_device_memory instead of bo
...
Since we have already dropped the refcounting there, replacing with a
back pointer to the device memory makes it clear we don't hold any ref.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35779 >
2025-06-27 16:16:31 +00:00
Alyssa Rosenzweig
1fd993388e
hk: fix gs static topology + indirect draw
...
Fixes: 5640266eb3 ("agx/nir_lower_gs: rework gs rast shape handling")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35797 >
2025-06-27 15:31:49 +00:00
Alyssa Rosenzweig
1c4eb71cbc
libagx: port pre-GS to CL
...
in prep for changing the compile flow for it.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35797 >
2025-06-27 15:31:49 +00:00
Alyssa Rosenzweig
dff1230879
agx/nir_lower_gs: remove random idiv const call
...
should be fixed in the agx backend now
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35797 >
2025-06-27 15:31:49 +00:00
Alyssa Rosenzweig
73659b4f67
agx/nir_lower_gs: CLify more XFB code
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35797 >
2025-06-27 15:31:48 +00:00
Alyssa Rosenzweig
10554ccad2
agx/nir_lower_gs: rework XFB prim calculation
...
significant instr count reduction for many outputs in a buffer.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35797 >
2025-06-27 15:31:48 +00:00
Alyssa Rosenzweig
46e139d453
libagx: optimize xfb offset pointers
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35797 >
2025-06-27 15:31:47 +00:00
Alyssa Rosenzweig
2544259030
asahi,hk,libagx: drop null checks
...
instead require scratch addresses be passed.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35797 >
2025-06-27 15:31:45 +00:00
Alyssa Rosenzweig
222ffc352e
hk: eliminate null_sink
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35797 >
2025-06-27 15:31:45 +00:00
Alyssa Rosenzweig
fa21722f1c
asahi: use zero/scratch page for null textures
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35797 >
2025-06-27 15:31:44 +00:00
Alyssa Rosenzweig
db2891ec5f
hk,asahi: move scratch BO to common
...
gl needs this too.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35797 >
2025-06-27 15:31:44 +00:00
Alyssa Rosenzweig
d3adef3164
agx: defer nir_opt_idiv_const
...
noticed in GS work.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35797 >
2025-06-27 15:31:43 +00:00
David Rosca
53e3e44eb3
frontends/va: Fix SyncSurface when used to sync coded buffer
...
This would skip the coded buffer fence wait if the surface fence is NULL.
Fixes: 0f20a3a4f1 ("frontends/va: Add surface pipe_fence for vl_compositor rendering")
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35782 >
2025-06-27 15:17:08 +00:00
Eric R. Smith
65bc0f715e
panvk: add a driConf to force enable atomics in shaders
...
This is mainly useful for enabling validation layers, but might also
be useful for a few apps that use very basic atomic operations. In
general these operations do not work properly in Bifrost, but they
work well enough to e.g. pass some piglit tests.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35710 >
2025-06-27 14:48:16 +00:00
Erik Faye-Lund
fcd2fbfdfd
panfrost/ci: fix up msaa fails... again
...
I should really have performed a full run here rather than just copying
the failures from a recent run... poorly.
Fixes: 8e646739baf ("panfrost/ci: add new 8x/16x msaa fails on t760")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35716 >
2025-06-27 14:18:39 +00:00
Erik Faye-Lund
345026ebf1
panfrost/ci: bump timeout for panfrost-t760-gles
...
This test regularly takes close to an hour, and sometimes exceeds that.
Let's bump the timeout for it, to give it a better chance to finish.
This job is only run manually, so it shouldn't affect the time it takes
to merge changes.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35716 >
2025-06-27 14:18:39 +00:00
Corentin Noël
c0d1b199ae
venus: Fix leak in syncobj creation failure path
...
CID: 1475984 Resource leak
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35474 >
2025-06-27 13:56:24 +00:00
Yiwei Zhang
6469d7268f
venus: suppress Coverity Uninitialized scalar variable
...
Just false alarm. Adjusted the code to suppress it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35474 >
2025-06-27 13:56:24 +00:00
Corentin Noël
4f8612f568
mesa/st: Fix leak in st_create_fp_variant
...
CID: 1643014 Resource leak
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35474 >
2025-06-27 13:56:24 +00:00
Corentin Noël
c9513782bc
mesa/st: Fix memory leak in st_create_common_variant
...
CID: 1642998 Resource leak
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35474 >
2025-06-27 13:56:24 +00:00
Corentin Noël
ad9db6b259
glx: Free all populated fields of the glx_display on creation failure
...
Add a common path to ensure that there is no copy-paste error.
CID: 1644424,1644409 Resource leak
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35474 >
2025-06-27 13:56:23 +00:00
Corentin Noël
e3829eccc8
egl/wayland: Plug leak when implicit modifiers are unsupported
...
Do not leak modifiers_subset and modifiers_subset_opaque.
CID: 1644433 Resource leak
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35474 >
2025-06-27 13:56:23 +00:00
Corentin Noël
8adb2d4949
virgl: Free resource memory on creation failure
...
CID: 1646975 Resource leak
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Reviewed-by: Feng Jiang <jiangfeng@kylinos.cn >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35474 >
2025-06-27 13:56:23 +00:00
Antonio Ospite
abb9ebed26
ci/android: download S3_ANDROID_ARTIFACT_NAME in cuttlefish-runner.sh
...
Downloading the android artifacts separately is really a peculiarity of
cuttlefish jobs, where we need mesa artifacts for both the host and the
guest.
So move the separate download of android artifacts to
cuttlefish-runner.sh
This aligns with the .test-android definition being cuttlefish specific,
and it also matches the original comment in that definition regarding
S3_ANDROID_ARTIFACT_NAME.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35380 >
2025-06-27 09:27:45 +00:00
Antonio Ospite
00ea50d964
ci/android: download mesa artifacts in a more robust way
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35380 >
2025-06-27 09:27:45 +00:00
Antonio Ospite
59ecbaaac0
ci/android: support issuing custom commands before running Android CTS
...
Some Android build may require some specific setup before running
Android CTS, for example switching to a user different than 0, or
setting some properties.
Add a mechanism to issue such commands in a generic way.
The job definition will have to set the `ANDROID_CTS_PREPARE_COMMAND`
variable with the desired command to execute right before running
Android CTS.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35380 >
2025-06-27 09:27:45 +00:00
Antonio Ospite
d49653e4a3
ci/android: trust system GLES if ANGLE_TAG is not specified
...
In commit c99c67c490 (ci/android: Only replace ANGLE if needed,
2025-06-05) ANGLE is replaced in the Android device only when ANGLE_TAG
is specified.
However it can still happen that the device was using ANGLE all along,
and not replacing it means that the original version would not match the
one built by mesa-ci, making the GLES version check fail unnecessarily.
In case ANGLE_TAG is not specified the GLES version check can be skipped
altogether, the rationale for this approach is that ANGLE can be
considered the default GLES implementation for Android going forward,
so if android-runner.sh has not replaced it we can just trust that the
original one is in place.
There might still be some fancy setups in the wild where the GLES
implementation is mesa and not ANGLE, but we are not testing those in
mesa-ci for now, so skipping the test for non-ANGLE GLES too is
acceptable.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35380 >
2025-06-27 09:27:45 +00:00
Eric Engestrom
b885e39c63
broadcom/ci: document flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35787 >
2025-06-27 09:09:53 +00:00
Eric Engestrom
6ebef82ae8
zink+lavapipe/ci: document flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35787 >
2025-06-27 09:09:53 +00:00
Eric Engestrom
30f92cff89
zink+nvk/ci: document flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35787 >
2025-06-27 09:09:53 +00:00
Eric Engestrom
39585f9372
zink+radv/ci: document flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35787 >
2025-06-27 09:09:53 +00:00
Eric Engestrom
671a63b0c7
nvk/ci: document flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35787 >
2025-06-27 09:09:52 +00:00
Eric Engestrom
0e78939afb
radv/ci: document flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35787 >
2025-06-27 09:09:52 +00:00
Eric Engestrom
e0e35c051d
radeonsi/ci: document flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35787 >
2025-06-27 09:09:52 +00:00
Eric Engestrom
286318d0f3
radv/ci: sort previously added flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35787 >
2025-06-27 09:09:52 +00:00
Pierre-Eric Pelloux-Prayer
3210484fe2
ac/virtio: fix alignment of metadata command
...
Command size must be aligned to 8.
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Fixes: 22263616ed ("amd: amdgpu-virtio implementation")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:50 +00:00
Pierre-Eric Pelloux-Prayer
7c6fb24067
amd/virtio: clear DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT
...
Calls to radv_amdgpu_cs_submit will come with either no waits
or through vk_queue.
vk_queue uses VK_SYNC_WAIT_PENDING which is translated as
DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE.
WAIT_AVAILABLE will wait for the fence to materialize, so
it means it's safe to pass the syncobj in a
AMDGPU_CHUNK_ID_SYNCOBJ_TIMELINE_WAIT chunk without the
WAIT_FOR_SUBMIT flag.
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:50 +00:00
Pierre-Eric Pelloux-Prayer
f0ab43ec1b
ac/virtio: support timeline syncobj
...
The only missing bit was supporting the timeline chunk_ids
during submit.
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:50 +00:00
Pierre-Eric Pelloux-Prayer
c1fdd540aa
ac/info: add ac_drm_query_pci_bus_info
...
This allows to return dummy values for the vpipe case.
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:50 +00:00
Pierre-Eric Pelloux-Prayer
ddf73e76a9
ac/info: use u_sync_provider instead of DRM_CAP_SYNCOBJ(_TIMELINE)
...
So we get the correct results regardless of the backend (amdgpu,
virtio nctx, vpipe, null).
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:50 +00:00
Pierre-Eric Pelloux-Prayer
df1224c8b2
radv: rework VM_ALWAYS_VALID handling
...
Instead of assuming that VM_ALWAYS_VALID is always available,
make its use conditionnal on its support.
This allows to remove the virtio nctx special case (where
VM_ALWAYS_VALID is only possible with virtio for buffers that
also have the NO_CPU_ACCESS flag since CPU access is implemented
through dmabuf on the host).
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:50 +00:00
Pierre-Eric Pelloux-Prayer
8c529ba58c
radv: disable extension depending on timeline syncobj when missing
...
It was already done through sync_types but we also need to declare
that the extensions are not supported.
Similarly .KHR_present_wait can't be exposed since it requires
timeline support.
This is useful for virtio native context which currently doesn't
support timelines on amdgpu.
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:50 +00:00
Pierre-Eric Pelloux-Prayer
999d5098b4
radv/virtio: support vpipe
...
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:50 +00:00
Pierre-Eric Pelloux-Prayer
a96356b26e
radeonsi/virtio: support vpipe
...
For now use an environment variable to test the virtio code
using vpipe.
Exposing DRM_PRIME_CAP_EXPORT manually is required, otherwise
gbm platform will fallback to dummy buffers which aren't
supported.
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:50 +00:00
Pierre-Eric Pelloux-Prayer
84c137ff14
amd/virtio: add vpipe support
...
When vpipe is used we won't have a valid fd available,
so make sure init doesn't fail.
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:50 +00:00
Pierre-Eric Pelloux-Prayer
5d63d2fb04
ac/drm: replace direct ioctl calls by util_sync_provider
...
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:50 +00:00
Pierre-Eric Pelloux-Prayer
62b9c3eafc
ac/drm: store a util_sync_provider in ac_drm_device
...
util_sync_provider provides a wrapper to manipulate syncobjs.
This allows replacing direct ioctl usages with other functions,
and is going to be used to support vpipe.
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:50 +00:00
Pierre-Eric Pelloux-Prayer
80985767cb
ac/drm: remove ac_drm_cs_create_syncobj
...
ac_drm_cs_create_syncobj2 is a simple replacement and this allows
to remove some code.
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:49 +00:00
Pierre-Eric Pelloux-Prayer
e0bd24672c
ac/virtio: port to vdrm functions
...
Let's use the shared helpers instead of our own version.
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:49 +00:00
Pierre-Eric Pelloux-Prayer
ffdf13bd48
ac/info: rename has_local_buffers into has_vm_always_valid
...
The has_local_buffers name is based on the original name of this
feature (the GEM flag was AMDGPU_GEM_CREATE_LOCAL).
But in v3 the flag was renamed AMDGPU_GEM_CREATE_VM_ALWAYS_VALID,
so it's clearer to have the Mesa flag to match the kernel one.
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:49 +00:00
Pierre-Eric Pelloux-Prayer
bb12eebe2a
util: add util_sync_provider::clone
...
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:49 +00:00
Samuel Pitoiset
989162e67a
radv: split descriptor set and descriptor utils in separate files
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35732 >
2025-06-27 07:55:37 +00:00
Samuel Pitoiset
7425b5a82f
radv: move radv_push_descriptor_set to radv_cmd_buffer.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35732 >
2025-06-27 07:55:37 +00:00
Samuel Pitoiset
d87c937e04
radv: move descriptor update implementation to radv_descriptor_update_template.c/h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35732 >
2025-06-27 07:55:37 +00:00
Samuel Pitoiset
173f4eeb65
radv: move write descriptor helpers to radv_descriptors.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35732 >
2025-06-27 07:55:36 +00:00
Samuel Pitoiset
8493331eb1
radv: move descriptor pool implementation to radv_descriptor_pool.c/h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35732 >
2025-06-27 07:55:35 +00:00
Hans-Kristian Arntzen
ac16b8c439
radv: Timestamps are not valid on dedicated sparse queue.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35766 >
2025-06-27 07:36:22 +00:00
Boris Brezillon
d36e6af329
panvk: Bump the max image size on v11+
...
We have more bits to encode the resource size there, so let's increase
the max limits.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Tested-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35731 >
2025-06-27 07:06:07 +00:00
Boris Brezillon
c2c91e78fd
pan/layout: Allow bigger size/surface stride on v12+
...
v11 started extending the size/surface stride of a few descriptors to
allow bigger images. Add the necessary code to take that into account.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Tested-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35731 >
2025-06-27 07:06:07 +00:00
Boris Brezillon
7a763bb0a3
pan/genxml: Rework the RT/ZS emission logic
...
For the ZS emission logic, we split the descriptor in 3 parts: ZS, S and
CRC, so we can easily mix and match each variant with pan_merge(). For
RTs, we just define a layout per variant instead of overlays, which makes
dumps less verbose, and avoid the situation where overlapping fields
get accidentally overwritten in the desc emission logic.
While at it, add the `Surface stride hi` fiels to the ZS/Color target
descriptors so we're all set to bump the image size limit.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Tested-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35731 >
2025-06-27 07:06:07 +00:00
Boris Brezillon
61d6e92f25
pan/genxml: Add missing upper-32 bits of the buffer size on v12+
...
We currently don't use this, but it's good to have it defined anyway.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Tested-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35731 >
2025-06-27 07:06:07 +00:00
Boris Brezillon
d2d27f8d9e
pan/genxml: Fix the texture dimension field on v9+
...
The enum has more than 3 values now, and the field is 3-bit.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Tested-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35731 >
2025-06-27 07:06:07 +00:00
Boris Brezillon
01d325ba63
pan/layout: Interleave header/body in AFBC(3D)
...
This allows us to get rid on an annoying limitation on AFBC(3D), and
makes things a lot easier to reason about.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Tested-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35731 >
2025-06-27 07:06:07 +00:00
Samuel Pitoiset
13e6d2ba00
radv: make sure to zero-initialize MSB of accel struct descriptor
...
RADV only uses the first 8 bytes but zero-initializing it make sure
the descriptor is invariant.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35763 >
2025-06-27 06:39:17 +00:00
Matt Turner
6842a8179f
intel: Add support for float16 as cooperative matrix accumulator
...
The number of passing tests in ./deqp-vk -n '*cooperative_matrix.khr*'
increases
- on PTL from 787 -> 914
- on RPL from 799 -> 926
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13304
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35616 >
2025-06-27 01:26:22 +00:00
Matt Turner
6d786a0e4b
brw: Use convert_cmat_intel intrinsic
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35616 >
2025-06-27 01:26:22 +00:00
Matt Turner
41cd196886
brw: Implement convert_cmat_intel intrinsic
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35616 >
2025-06-27 01:26:22 +00:00
Matt Turner
102d7409ef
nir: Add convert_cmat_intel intrinsic
...
This intrinsic will be used to implement matrix type and layout
conversions in the backend compiler.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35616 >
2025-06-27 01:26:22 +00:00
Matt Turner
1215845b5b
intel: Increase size of cooperative_matrix_configurations[] to 16
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35616 >
2025-06-27 01:26:21 +00:00
Guilherme Gallo
d06f8cfb19
ci/android: Add dEQP module for CML cuttlefish test
...
Add only those tests for initial coverage:
* `dEQP-VK.wsi.android.*`
* `dEQP-VK.api.external.memory.android_hardware_buffer.*`
This increases the job execution time to almost 1h, so move this job to
nightly.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35706 >
2025-06-26 23:21:12 +00:00
Guilherme Gallo
545727f97c
ci/android: Move ANDROID_CTS_MODULES to build script
...
Rely on the include files (-android-cts-include.txt) to filter both
tests and modules from Android CTS during test time.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35706 >
2025-06-26 23:21:12 +00:00
Guilherme Gallo
655cd186ee
ci/android: Add a job to run CTS on Intel CML
...
Like we do with `android-angle-lavapipe`, let's include the Android CTS
testing alongside the vkcts one.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35706 >
2025-06-26 23:21:12 +00:00
Connor Abbott
630380349b
tu: Give renderpass events a separate trace buffer
...
Before this we tried hard to optimize for the sysmem case by emitting
the events for the renderpass inline and only discarding them in the
gmem case. However this won't work if we need to emit the
render_pass_start event after the binning IB, because we don't know
whether the binning IB will be emitted until the RP end time. The old
system also required a ton of confusing code to keep track of the
start/end pointers with suspending and resuming renderpasses. All of
that goes away if we use a separate u_trace for renderpass events and
just copy it to the main trace buffer for sysmem.
With this, the previous method of using the space between trace_rp_start
and trace_rp_drawcalls_start to keep track of the renderpass_start event
and disable it when emitting a split dynamic renderpass at submit time
doesn't work anymore. Just move trace_renderpass_start() to
tu_cmd_render() time after the draw calls have been recorded, which is
now safe to do.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35751 >
2025-06-26 22:51:29 +00:00
Connor Abbott
7791b5286c
util/u_trace: Add u_trace_move()
...
Destructively copy trace contents to another trace, transfering
ownership of resources. This will be useful for turnip.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35751 >
2025-06-26 22:51:29 +00:00
James Price
10ae673368
spirv: Fix cooperative matrix in OpVariable initializer
...
Check for cooperative matrix types first in the
nir_lower_variable_initializers pass, since they are also considered
to be scalar types.
Fixes: 7e6cd395c7 ("nir: Handle cmat types in lower_variable_initializers")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13388
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35668 >
2025-06-26 22:24:31 +00:00
Nicolas Dufresne
4008300672
build: Include panfrost to the tools 'all' list
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35775 >
2025-06-26 21:55:17 +00:00
Nicolas Dufresne
3ce37fcbb5
build: Sort the tools 'all' list
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35775 >
2025-06-26 21:55:17 +00:00
Dave Airlie
5c99599060
nvk/nak: handle sm100 lod mode encoding.
...
The lod mode encoding has changed on blackwell.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35773 >
2025-06-26 21:12:47 +00:00
Faith Ekstrand
cfc0be2454
nil: Use set_field2() for a few descriptor cases
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35773 >
2025-06-26 21:12:47 +00:00
Faith Ekstrand
046b6435bc
nak: Use the new set_field2() helper for a few things
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35773 >
2025-06-26 21:12:47 +00:00
Faith Ekstrand
ff944106fc
nvk/bitview: Add a set_field2() trait and method
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35773 >
2025-06-26 21:12:46 +00:00
Faith Ekstrand
125da7e341
nvk/bitview: Add a new ToFieldBits trait
...
This makes the implementation of SetField itself more generic
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35773 >
2025-06-26 21:12:46 +00:00
Konstantin Seurer
131b917246
lavapipe: Suspend conditional rendering around ray tracing dispatches
...
cc: mesa-stable
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35754 >
2025-06-26 20:52:29 +00:00
Konstantin Seurer
e1acffbfc0
ci: Update trace checksums
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33003 >
2025-06-26 20:12:14 +00:00
Konstantin Seurer
5f3c956f49
gallivm/nir/soa: Call lp_build_opt_nir
...
Makes sure that everything is lowered and optimized.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33003 >
2025-06-26 20:12:14 +00:00
Konstantin Seurer
9f98ded348
gallivm/nir/soa: Cast divergent->uniform at the consumer
...
The exec mask can change between the producer and the consumer. Casting
at the consumer makes sure that we end up with a valid value.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33003 >
2025-06-26 20:12:14 +00:00
Konstantin Seurer
1fba5739c4
gallivm/nir/soa: Include helper invocations in first_active_invocation
...
So it returns a valid element if the exec mask is 0 for all active
invocations but -1 for helper invocations.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33003 >
2025-06-26 20:12:13 +00:00
Konstantin Seurer
405378f042
gallivm/nir/soa: Fix typo
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33003 >
2025-06-26 20:12:13 +00:00
Konstantin Seurer
fe601b9293
gallivm: Implement demote and lower terminate in nir
...
The current implementation does not work for terminate since loads need
to ignore the mask because of helper invocations. This can lead to
crashes.
Reviewed-by: Mary Guillemard <mary@mary.zone >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33003 >
2025-06-26 20:12:12 +00:00
Konstantin Seurer
aacfc663cb
nir: Add nir_lower_halt_to_return
...
This is a lowering pass that was implemented by multiple drivers.
Reviewed-by: Mary Guillemard <mary@mary.zone >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33003 >
2025-06-26 20:12:12 +00:00
mojyack
db383ceb64
mesa: reorder mesa format corresponding to GL_BGRA
...
current `st_ChooseTextureFormat(..., internalFormat=GL_BGRA8, ...)`
returns `PIPE_FORMAT_R8G8B8A8_UNORM`.
this causes significant performance loss in apps that use BGRA texture
format(e.g. firefox) when transferring textures because of format
conversions, if the driver doesn't support PIPE_TEXTURE_TRANSFER_BLIT.
fix this by modifying the texture format mapping.
See Also: https://community.mnt.re/t/poor-browser-performance/2042/30
Signed-off-by: mojyack <mojyack@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Backport-to: 25.1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35678 >
2025-06-26 19:36:09 +00:00
Dave Airlie
f972affd9d
nvk/hopper: set texture header version
...
Taken from open-gpu-kernel-modules.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35484 >
2025-06-26 19:21:56 +00:00
Dave Airlie
c387c9fde8
nouveau/headers: generate c56f host methods.
...
The newer host methods would be nice to have in dumps.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35484 >
2025-06-26 19:21:56 +00:00
Dave Airlie
1b654dc198
nouveau/winsys: Add blackwell support
...
This adds Blackwell support to sm_for_chipset() and
max_warps_per_mp_for_sm()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35484 >
2025-06-26 19:21:56 +00:00
Dave Airlie
f310b3fa6f
nvk/qmd: fix shared memory size calcs for blackwell.
...
I'm still not 100% happy with these, nvidia does appear to use 26
as the max/target values, which corresponds to + 7 not +1
but let's dig a bit more.
Fixes: 6c052d87b7 ("nak/qmd: Add QMD version 5.0 for Blackwell+")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35484 >
2025-06-26 19:21:56 +00:00
Dave Airlie
ec3232691b
nvk/sm90: fix su atom vs atom encoding
...
The suatom is encoded different to atom.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35484 >
2025-06-26 19:21:56 +00:00
Dave Airlie
59015f1c64
nak/sm70: fix imnmx on blackwell.
...
The encoding was slightly wrong, this passes the hw_tests.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35484 >
2025-06-26 19:21:56 +00:00
Faith Ekstrand
9c354cd47f
nak/hw_tests: Align the shared memory window to 4GB on Hopper+
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35484 >
2025-06-26 19:21:56 +00:00
Dave Airlie
50a312ef24
nvk: Add hopper shared memory window alignment
...
This changes to need 4GB alignment on hopper and later.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35484 >
2025-06-26 19:21:56 +00:00
Dave Airlie
46c72f69f9
nvk: invalidate raster cache after setting shading rate
...
on blackwell fix:
dEQP-VK.fragment_shading_rate.renderpass2.monolithic.attachment_rate.misc.two_subpass
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35484 >
2025-06-26 19:21:56 +00:00
Dave Airlie
a2518c817f
nvk: SET_REFERENCE is not legal anymore.
...
replace with WFI, this is possibly overkill
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35484 >
2025-06-26 19:21:55 +00:00
Dave Airlie
6fa078c0be
nvk: handle hopper invalidate sequence for memory barrier
...
This changed on hopper to need a MEM_OP memory barrier emitted.
Use the new headers to send the correct sequence, this is taken
from the open-gpu-kernel-modules repo, but it might be a too
large hammer.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35484 >
2025-06-26 19:21:55 +00:00
Dave Airlie
cdd01c416c
nvk: add clc86f class for hopper host methods.
...
This is taken from open-gpu-kernel-modules, and provides
the host interface on hopper and newer.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35484 >
2025-06-26 19:21:54 +00:00
Dave Airlie
153dc0f406
nouveau/headers: add a single field to skip parsing headers.
...
Newer headers have 2 fields at 0 for one value, just ignore one
for now.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35484 >
2025-06-26 19:21:54 +00:00
Dave Airlie
337fcd31e4
nvk/nil: Use PTE_KIND_GENERIC_MEMORY for everything on Blackwell+
...
This has been confirmed for current blackwell hardware, look
out in future for changes.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35484 >
2025-06-26 19:21:54 +00:00
Dave Airlie
f6b22a54e4
nvk/nil: add texture header v2 support for hopper/blackwell
...
The texture header got redefined and some fields got reworked,
deriving it from the old info doesn't seem trivial, so introduce
a second column to handle the v2 header info.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35484 >
2025-06-26 19:21:54 +00:00
Marek Olšák
1754507d49
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 >
2025-06-26 18:20:54 +00:00
Marek Olšák
1e03827c77
nir: rename nir_lower_io_arrays_to_elements -> nir_lower_io_array_vars_to_elements
...
same for *_no_indirects
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35760 >
2025-06-26 18:20:54 +00:00
Marek Olšák
3713e2d580
nir: rename nir_lower_clip_cull_distance_arrays -> nir_lower_clip_cull_distance_array_vars
...
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35760 >
2025-06-26 18:20:53 +00:00
Marek Olšák
adb17a8609
nir: move nir_recompute_io_bases into its own file
...
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35760 >
2025-06-26 18:20:53 +00:00
Marek Olšák
97743980ce
nir: remove unused nir_force_mediump_io & nir_unpack_16bit_varying_slots
...
I think I added these.
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35760 >
2025-06-26 18:20:52 +00:00
Marek Olšák
aefea49dad
nir: move lots of code from nir_lower_io.c into new nir_lower_explicit_io.c
...
nir_lower_io is just for regular inputs/outputs.
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35760 >
2025-06-26 18:20:52 +00:00
Marek Olšák
5bd3e0c08c
nir: move nir_assign_var_locations to freedreno (its only use)
...
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35760 >
2025-06-26 18:20:52 +00:00
Marek Olšák
c8cda0dc1a
nir: move nir_io_add_const_offset_to_base into its own file
...
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35760 >
2025-06-26 18:20:51 +00:00
Marek Olšák
d78070ded5
nir: move nir_io_add_intrinsic_xfb_info into its own file
...
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35760 >
2025-06-26 18:20:51 +00:00
Marek Olšák
12df9b3def
nir: rename nir_vectorize_tess_levels -> nir_lower_tess_level_array_vars_to_vec
...
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35760 >
2025-06-26 18:20:50 +00:00
Marek Olšák
2aa94caf82
nir: rename nir_lower_io_to_vector -> nir_opt_vectorize_io_vars
...
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35760 >
2025-06-26 18:20:50 +00:00
Marek Olšák
944f8f6db2
nir: move nir_lower_io_vars_to_scalar into its own file
...
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35760 >
2025-06-26 18:20:49 +00:00
Marek Olšák
439d805291
nir: rename nir_lower_io_to_scalar_early -> nir_lower_io_vars_to_scalar
...
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35760 >
2025-06-26 18:20:49 +00:00
Ian Romanick
b83f618fb2
brw: Fully write temporary destinations
...
Consider an innocuous instruction like:
and(1) v250:UD, g0.3<0,1,0>:UD, 4294967264u NoMask group0
If register allocation decides to spill v250, it will see this
instruction and say, "Oh no! The other components of v250 aren't set, so
I'd better add a fill before that instruction!"
But it gets even worse than that... if register coalesce decided to
merge two of these, the live range gets massively extended because the
writes don't fully initialize the value. This causes the need to spill
these registers in the first place.
Changing that instruction to SIMD16 on Xe2 or SIMD8 on other platforms
alleviates these issues.
shader-db:
Lunar Lake
total instructions in shared programs: 17118324 -> 17113191 (-0.03%)
instructions in affected programs: 93701 -> 88568 (-5.48%)
helped: 42 / HURT: 6
total cycles in shared programs: 895422566 -> 895079488 (-0.04%)
cycles in affected programs: 30111338 -> 29768260 (-1.14%)
helped: 35 / HURT: 40
total spills in shared programs: 3588 -> 3304 (-7.92%)
spills in affected programs: 285 -> 1 (-99.65%)
helped: 10 / HURT: 0
total fills in shared programs: 2218 -> 1663 (-25.02%)
fills in affected programs: 556 -> 1 (-99.82%)
helped: 10 / HURT: 0
Meteor Lake, DG2, Tiger Lake, and Ice Lake had similar results. (Meteor Lake shown)
total instructions in shared programs: 20059218 -> 20053563 (-0.03%)
instructions in affected programs: 96938 -> 91283 (-5.83%)
helped: 43 / HURT: 6
total cycles in shared programs: 884174588 -> 883536475 (-0.07%)
cycles in affected programs: 22105268 -> 21467155 (-2.89%)
helped: 35 / HURT: 27
total spills in shared programs: 5032 -> 4679 (-7.02%)
spills in affected programs: 355 -> 2 (-99.44%)
helped: 12 / HURT: 0
total fills in shared programs: 4782 -> 4113 (-13.99%)
fills in affected programs: 671 -> 2 (-99.70%)
helped: 12 / HURT: 0
Skylake
total instructions in shared programs: 19097658 -> 19097665 (<.01%)
instructions in affected programs: 14202 -> 14209 (0.05%)
helped: 0 / HURT: 5
total cycles in shared programs: 862058109 -> 862058267 (<.01%)
cycles in affected programs: 3450244 -> 3450402 (<.01%)
helped: 7 / HURT: 11
fossil-db:
Lunar Lake
Totals:
Cycle count: 31439652246 -> 31439652272 (+0.00%)
Totals from 2 (0.00% of 707091) affected shaders:
Cycle count: 2602 -> 2628 (+1.00%)
No other Intel platforms had any fossil-db changes.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35721 >
2025-06-26 17:59:47 +00:00
Gurchetan Singh
8a2f43c9bd
util: rust: update to rustix 1.0.7
...
Latest tagged release. Fedora uses it, and for it to
work on Android we'll need to latest release so a pure
libc backend can be used.
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35768 >
2025-06-26 17:11:41 +00:00
Serdar Kocdemir
5fbb3817ba
gfxstream: Small optimization on transformDescriptorSetList
...
Reduce number of possible allocations and remove unnecessary
memory initialization which will be overwritten immediately.
Test: dEQP-GLES31.functional.ssbo.layout.*
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35768 >
2025-06-26 17:11:41 +00:00
Albert Liu
dce282e7d9
gfxstream: Add VK_EXT_memory_budget to allowlists. (mesa3d side)
...
Codegen change.
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35768 >
2025-06-26 17:11:41 +00:00
Alyssa Rosenzweig
194c717e04
agx: optimize sign fix ups
...
Totals from 1787 (3.33% of 53701) affected shaders:
MaxWaves: 1620160 -> 1620096 (-0.00%); split: +0.01%, -0.01%
Instrs: 2036003 -> 2033382 (-0.13%); split: -0.16%, +0.04%
CodeSize: 13988944 -> 13971384 (-0.13%); split: -0.17%, +0.05%
Spills: 5505 -> 5504 (-0.02%)
ALU: 1514305 -> 1511676 (-0.17%); split: -0.22%, +0.05%
FSCIB: 1514305 -> 1511676 (-0.17%); split: -0.22%, +0.05%
GPRs: 200723 -> 200779 (+0.03%); split: -0.06%, +0.09%
Uniforms: 642921 -> 645743 (+0.44%); split: -0.00%, +0.44%
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35720 >
2025-06-26 16:41:55 +00:00
Alyssa Rosenzweig
6efe557718
nir/search_helpers: add has_multiple_uses helper
...
heuristic for the next patch.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35720 >
2025-06-26 16:41:55 +00:00
Alyssa Rosenzweig
22272c71f2
hk: use new path for !soft fault UBO
...
this is more efficient for !soft fault and lets us drop a code path. i've been
running fossils without soft fault since dev machine so that's what these stats
are based on.
Totals from 11799 (22.22% of 53090) affected shaders:
MaxWaves: 11472896 -> 11467200 (-0.05%); split: +0.09%, -0.14%
Instrs: 7032360 -> 6603558 (-6.10%); split: -6.11%, +0.02%
CodeSize: 49902322 -> 48693876 (-2.42%); split: -2.95%, +0.52%
Spills: 2817 -> 2846 (+1.03%); split: -5.75%, +6.78%
Fills: 2911 -> 3143 (+7.97%); split: -2.37%, +10.34%
Scratch: 10896 -> 11020 (+1.14%); split: -1.95%, +3.08%
ALU: 5092487 -> 5265337 (+3.39%); split: -0.58%, +3.97%
FSCIB: 5092487 -> 5265333 (+3.39%); split: -0.58%, +3.97%
IC: 1461194 -> 1387408 (-5.05%); split: -5.22%, +0.17%
GPRs: 803121 -> 805414 (+0.29%); split: -0.80%, +1.08%
Uniforms: 2942007 -> 2247619 (-23.60%); split: -24.35%, +0.75%
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35720 >
2025-06-26 16:41:55 +00:00
Alyssa Rosenzweig
63ce73a601
nir,hk: sink lowered UBOs
...
this is better than doing it once we've lowered to hardware ops which makes it
more challenging to sink since then we'd have to sink the whole tree instead of
a single intrinsic.
Totals from 17617 (32.81% of 53701) affected shaders:
MaxWaves: 16863872 -> 16901504 (+0.22%); split: +0.24%, -0.02%
Instrs: 12406405 -> 12430375 (+0.19%); split: -0.15%, +0.35%
CodeSize: 87055248 -> 87180802 (+0.14%); split: -0.18%, +0.33%
Spills: 10350 -> 9301 (-10.14%); split: -11.57%, +1.43%
Fills: 5215 -> 3733 (-28.42%); split: -31.49%, +3.07%
Scratch: 113164 -> 110472 (-2.38%); split: -2.63%, +0.25%
ALU: 9552550 -> 9558513 (+0.06%); split: -0.22%, +0.28%
FSCIB: 9552545 -> 9558508 (+0.06%); split: -0.22%, +0.28%
IC: 2874032 -> 2876442 (+0.08%); split: -0.00%, +0.09%
GPRs: 1470040 -> 1459283 (-0.73%); split: -1.00%, +0.27%
Uniforms: 5113254 -> 5115158 (+0.04%); split: -0.82%, +0.85%
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Job Noorman <job@noorman.info > [NIR]
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35720 >
2025-06-26 16:41:55 +00:00
Alyssa Rosenzweig
d17dd8332e
hk: sink SSBO loads
...
Seems to hit instr count due to RA lottery but reduce reg pressure a LOT so,
probably worth it.
Totals from 5305 (9.88% of 53701) affected shaders:
MaxWaves: 4487168 -> 4551040 (+1.42%); split: +1.51%, -0.09%
Instrs: 6063323 -> 6178678 (+1.90%); split: -0.17%, +2.07%
CodeSize: 44356516 -> 44662024 (+0.69%); split: -0.21%, +0.90%
Spills: 7321 -> 4034 (-44.90%); split: -45.49%, +0.59%
Fills: 8522 -> 5069 (-40.52%); split: -40.87%, +0.35%
Scratch: 21940 -> 9856 (-55.08%); split: -55.17%, +0.09%
ALU: 4541440 -> 4554906 (+0.30%); split: -0.20%, +0.50%
FSCIB: 4541440 -> 4554906 (+0.30%); split: -0.20%, +0.50%
IC: 1180150 -> 1184856 (+0.40%); split: -0.01%, +0.41%
GPRs: 605023 -> 576336 (-4.74%); split: -5.00%, +0.26%
Uniforms: 1421832 -> 1425367 (+0.25%); split: -0.08%, +0.33%
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35720 >
2025-06-26 16:41:55 +00:00
Alyssa Rosenzweig
776f07517f
hk: optimize load_global_bounded
...
Totals from 5967 (11.24% of 53090) affected shaders:
MaxWaves: 5044864 -> 5126720 (+1.62%); split: +1.95%, -0.32%
Instrs: 6911845 -> 6227557 (-9.90%); split: -9.96%, +0.06%
CodeSize: 46353592 -> 45359410 (-2.14%); split: -4.41%, +2.27%
Spills: 18002 -> 7046 (-60.86%); split: -63.22%, +2.36%
Fills: 15833 -> 8074 (-49.01%); split: -54.59%, +5.58%
Scratch: 52160 -> 23324 (-55.28%); split: -58.32%, +3.04%
ALU: 4235569 -> 4602546 (+8.66%); split: -1.79%, +10.45%
FSCIB: 4235364 -> 4602341 (+8.66%); split: -1.79%, +10.45%
IC: 1261552 -> 1253110 (-0.67%); split: -4.33%, +3.66%
GPRs: 664060 -> 640627 (-3.53%); split: -4.69%, +1.16%
Uniforms: 1568288 -> 1505664 (-3.99%); split: -10.88%, +6.89%
Loops: 4669 -> 4670 (+0.02%)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35720 >
2025-06-26 16:41:54 +00:00
Alyssa Rosenzweig
caa0854da8
nir: plumb load_global_bounded
...
this lets the backend implement bounded loads (i.e. robust SSBOs) in a way
that's more clever than a full branch. similar idea to
load_global_constant_bound which should eventually be merged into this.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Job Noorman <job@noorman.info >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35720 >
2025-06-26 16:41:53 +00:00
Dave Airlie
37e71a5cb2
radv/video: add support for AV1 encoding
...
Co-authored-by: Charlie Turner <cturner@igalia.com >
Co-authored-by: Benjamin Cheng <benjamin.cheng@amd.com >
Co-authored-by: David Rosca <david.rosca@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32440 >
2025-06-26 15:41:01 +00:00
Dave Airlie
724655bfc6
vulkan/video: add support for AV1 encoding to runtime
...
Co-authored-by: Charlie Turner <cturner@igalia.com >
Co-authored-by: Benjamin Cheng <benjamin.cheng@amd.com >
Co-authored-by: David Rosca <david.rosca@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32440 >
2025-06-26 15:41:01 +00:00
David Rosca
ac935c18b2
vulkan/video: Add bit depth to session and session params
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32440 >
2025-06-26 15:41:01 +00:00
Dave Airlie
ee9ec055d9
radv/video: move session defines to header as encode needs more.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32440 >
2025-06-26 15:41:01 +00:00
Dylan Baker
dd45e25dc3
meson: update b_sanitize check for Meson >= 1.8
...
In Meson 1.8 the b_sanitize option was changed from an enumerated set of
known sanitizers to an array of options to test with `-fsanitize`, this
means that the thread sanitizer could be used in conjunction with one
or more other sanitizers and we need to account for this. Use
`.contains()` to check if `thread` is in the sanitizer list
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35747 >
2025-06-26 14:59:27 +00:00
Mike Blumenkrantz
5cfaa6cd5f
zink: use smaller keys for surface/bufferview caching and switch to sets
...
this should be a bit more efficient
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
9ac256645e
zink: use samplerview obj to check buffer rebinds in non-db path
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
c88cc5d135
zink: unify bvci creation
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
3517ad1432
zink: remove redundant pipe_resource param from zink surface funcs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
5cf6cb1c6d
zink: enforce pipe_surface::texture matching the resource in zink_get_surface()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
ef3f798957
zink: prune zink_surface down to the imageview and create/fetch on demand
...
this eliminates all pipe_surface allocations
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
309710c260
zink: various trivial struct access changes
...
ideally no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
b8108d0e7a
zink: use temp struct for implicit feedback loop detection
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
9197de066c
zink: add layer info to bindless descriptor
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
daa07aba98
zink: directly return import2d resource
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
ed325d9309
zink: directly use imageview format for image descriptors for depth clamping
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
21fbe0f893
zink: track whether fb has swapchain bound on context
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
defc3dfa79
zink: use a better check for current fb zsbuf in zink_clear_depth_stencil()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
76e2b61a2f
zink: delete/simplify some bindless descriptor resource accesss
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
8805afd291
zink: delete zink_surface::ivci
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
a9c928954e
zink: allocate keys for surface cache to stop using zink_surface::ivci
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
b3c02d2bca
zink: store/use fb attachment formats directly
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
b177136c56
zink: tweak zink_create_transient_surface to stop using zink_surface::ivci
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
35cd9f663b
zink: break out fb ivci init
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
25441082d9
zink: big resource view rework
...
* move/unify the cache onto zink_resource_object to streamline rebinds
* delete refcounts from surfaces and bufferviews
* only delete surfaces and bufferviews when owner object is destroyed
* cache swapchain surfaces onto the swapchain image
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
8eb5f272f2
zink: remove some usage of zink_surface::ivci
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
b030b20d72
zink: unify some z24 sampler clamping code
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
74cf4f4efc
zink: remove random format check in surface create
...
not sure why this was here
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
efcd6c11d9
zink: delete some redundant flagging of ctx->rp_changed
...
this already happens during unbind
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
635f0c5f4f
zink: delete transient attachments instead of leaking them
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
07cc25d968
zink: always directly create surfaces
...
no need to defer this anymore
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
a7bfa37c6a
zink: unify zink_resource_object_init_mutable() calling
...
this all goes through surface creation the same way
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
2ac0f97921
zink: delete surface handling of blockTexelViewCompatibleMultipleLayers
...
this is a pipe cap now
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
e7a2268ca2
zink: simplify code surrounding prep_fb_attachment()
...
there's no need to pass a surface here since no part
of the surface is actually used besides the resource
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
9a1f5e82ee
zink: clean up null surface case in prep_fb_attachment()
...
this is already checking for non-null surface in the caller,
and usage must be set after swapchain acquire to handle barriers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
78cd7f17af
zink: move zink_prep_fb_attachment up and make static
...
no longer used externally
also move update_res_sampler_layouts() as a dependency
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
0f58227324
zink: remove pipe_resource ref from bufferviews
...
this was only ever needed for shader images and bindless, which both
now take their own refs
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
3da0853867
zink: make pipe_resource refs for image views more consistent
...
now they always get a ref on bind and lose the ref on unbind
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
6658533ad5
zink: add a pipe_resource ref to bindless descriptors
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
f385b87963
zink: delete zink_surface::usage_info
...
not needed, just regenerated on creation
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
37bb3af312
zink: remove resource param from apply_view_usage_for_format()
...
not actually needed
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
a4d4fee9d3
zink: delete zink_surface::hash
...
this is barely used
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz
0a2c395394
zink: require nullDescriptor feature
...
this simplifies a huge amount of code and enables a lot of refactoring
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722 >
2025-06-26 10:10:28 -04:00
Valentine Burley
bac51d2931
virtio/ci: Add nightly Android Venus jobs on Intel TGL and ADL
...
Introduce nightly Cuttlefish jobs on Intel Tiger Lake and Alder Lake.
Like `android-angle-venus-anv-cml`, these jobs run dEQP with the Android
guest using Venus + ANGLE, and the host using the ANV Vulkan driver.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35737 >
2025-06-26 12:51:54 +00:00
Valentine Burley
bf98db1c45
virtio/ci: Split android-angle-venus-anv into reusable template
...
Move shared variables and configuration for the android-angle-venus-anv
job into a new template so that it can be reused by other jobs.
This follows the structure used everywhere else.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35737 >
2025-06-26 12:51:54 +00:00
Valentine Burley
32264e7a00
virtio/ci: Increase timeout for AHB tests
...
Some of the tests occasionally time out on Tiger Lake.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35737 >
2025-06-26 12:51:54 +00:00
Valentine Burley
e2ac66efdd
ci: Uprev kernel to enable Multi-Gen LRU
...
Update the kernel to enable CONFIG_LRU_GEN.
This is the only change from the previous kernel build.
Mutli-gen LRU improves how Linux handles high memory pressure, which
allows Cuttlefish to boot on devices with limited RAM.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35737 >
2025-06-26 12:51:54 +00:00
Lucas Stach
29eb30c747
etnaviv/ci: drop fails due to ignored stencil valuemask
...
Now that the workaround for stencil valuemask 0 is gone on more
recent cores, we can drop the failures that were caused by this
workaround.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35704 >
2025-06-26 12:17:06 +00:00
Lucas Stach
41b08a2040
etnaviv: allow 0 back stencil valuemask on new cores
...
Older cores have a hardware bug where the stencil test misbehaves when
the valuemask is 0 in the back stencil. The workaround is to effectively
switch to single sided stencil and hope for the best. This seems to be
okay for most actual use-cases and tests, as a 0 valuemask is quite rare.
However, as 0 is a valid value for the mask the workaround breaks some
edge cases. Newer cores don't seem to require the workaround and operate
correctly with all stencil valuemasks, so drop the workaround for them.
I don't know which feature bit tells us about the bugfix. I made an
educated guess by checking behavior on multiple GPUs: GC880r5106 and
GC2000r5108 need the workaround, GC3000r5450, GC7000r6204 and GC600r4653
work fine without it. By comparing the set BugFixes feature bits between
the cores and the fact that BugFixes15 already fixes some PE issues, I
think this one is the most likely candidate.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35704 >
2025-06-26 12:17:06 +00:00
Lucas Stach
2dc5db625b
etnaviv: simplify stencil ref front/back selection condition
...
Drop the check for front stencil enable when selecting which stencil
ref value to put into the back stencil state. If the front stencil
isn't enabled then stencil operations as a whole aren't enabled and
we don't care which value ends up in the state.
While at it fix indentation.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35704 >
2025-06-26 12:17:06 +00:00
Lucas Stach
a6e9061880
etnaviv: drop obsolete question about alpha/stencil test interaction
...
There's a few things that will prevent enabling the more efficient
PE_COLOR_FORMAT_OVERWRITE mode, but pixel dicard due to alpha or
stencil testing isn't one of those conditions, as this behaves the
same way as pixel discard due to a failed depth test.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35704 >
2025-06-26 12:17:05 +00:00
Lucas Stach
277b9bba38
etnaviv: remove obsolete two-sided stencil comment
...
There is no question anymore: we need to swap front/back stencil
depending on the frontface winding order, as the hardware doesn't
have a front face configuration option. This is what is implemented
in the driver.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35704 >
2025-06-26 12:17:05 +00:00
Natalie Vock
af86cc37d5
aco/spill: Don't spill scratch_rsrc-related temps
...
These temps are used to create the scratch_rsrc. Spilling them will
never benefit anything, because assign_spill_slots will insert code
that keeps them live. Since the spiller assumes all spilled variables
to be dead, this can cause more variables being live than intended and
spilling to fail.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35031 >
2025-06-26 11:02:53 +00:00
Natalie Vock
acf29e403a
aco/spill: Add a null scratch offset if no scratch_offset arg exists
...
Function callees' scratch_rsrc comes with the scratch offset
pre-applied.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35031 >
2025-06-26 11:02:53 +00:00
Natalie Vock
630913e1b4
aco: Introduce static_scratch_rsrc program member
...
Function callees get their scratch resource as a parameter instead of
generating it on-the-fly.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35031 >
2025-06-26 11:02:53 +00:00
Natalie Vock
e006f68b11
aco/isel: Don't add scratch offset as gfx8- soffset if no offsets exist
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35031 >
2025-06-26 11:02:53 +00:00
Natalie Vock
a5eba11657
aco/isel: Use stack pointer parameter in load/store_scratch
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35031 >
2025-06-26 11:02:53 +00:00
Natalie Vock
4a62b342f3
aco: Add common utility to load scratch descriptor
...
Also modifies the scratch descriptor to take the stack pointer into
account.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35031 >
2025-06-26 11:02:52 +00:00
Natalie Vock
cd2caa5e2b
aco/spill: Use scratch stack pointer
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35031 >
2025-06-26 11:02:52 +00:00
Natalie Vock
22624d6f12
aco: Add scratch stack pointer
...
Function callees shouldn't overwrite caller's stacks.
Track where to write scratch data with a stack pointer.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35031 >
2025-06-26 11:02:52 +00:00
Natalie Vock
be89c02be5
aco: Add pseudo instr to calculate a function callee's stack pointer
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35031 >
2025-06-26 11:02:52 +00:00
Job Noorman
54151cfb76
ir3/cf: add support for movs
...
movs supports the same conversions as cov which means that any cov of
its dst can be folded into the movs if all uses of its dst are the same
type of cov.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32624 >
2025-06-26 10:22:09 +00:00
Job Noorman
bf203fbf20
ir3: add codegen for movs
...
movs is just nir_intrinsic_read_invocation so this is a matter of
disabling the current lowering to nir_intrinsic_read_invocation_cond_ir3
and adding lowering to movs.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32624 >
2025-06-26 10:22:09 +00:00
Job Noorman
d94bea85b8
ir3: make backend aware of movs
...
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32624 >
2025-06-26 10:22:09 +00:00
Job Noorman
4b3f58701c
ir3/isa: add isaspec definition for movs
...
movs works like subgroupBroadcast/OpGroupNonUniformBroadcast. The fiber
id can either be an immediate or a value in a0.x. In the latter case,
the value has to be dynamically uniform or else the behavior is
undefined. The dst register has to be shared or else the behavior seems
to be equivalent to a normal mov (i.e., the fiber id is not taken into
account anymore).
movs can do a cov on the broadcasted value. It works exactly like a
normal cov except that using u8 as the src type does not seem to work at
all.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32624 >
2025-06-26 10:22:09 +00:00
Job Noorman
d328b1e8c0
ir3/parser: add uinteger helper
...
To match unsigned immediates.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32624 >
2025-06-26 10:22:09 +00:00
Job Noorman
f9b03fd170
ir3/a7xx: disable half shared mov quirk
...
The HW issue was fixed in a7xx so we can remove the workarounds there.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32624 >
2025-06-26 10:22:09 +00:00
Job Noorman
edce6f410f
ir3: support half regs for read_{first,cond,getlast}
...
The emitted mov had a hard coded dst type of u32. This was fine because
we needed this to work around a HW bug with shared half movs. However,
since this bug was fixed in a7xx, we need to support half movs as well.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32624 >
2025-06-26 10:22:08 +00:00
Job Noorman
a02d7b0131
ir3: add helper to apply half shared mov quirk
...
The quirk was copy-pasted in 3 separate places making it difficult to
make changes.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32624 >
2025-06-26 10:22:08 +00:00
Daniel Schürmann
7620957193
aco/ra: always set fill_operands=true when handling operands
...
This makes the behavior consistent and less prone to error.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35735 >
2025-06-26 10:05:07 +00:00
Daniel Schürmann
ee8424d839
aco/ra: always fill moved operands when handling vector-operands
...
update_renames() assumes that killed operands are already removed from
the register file, except for precolored and copy-kill operands.
When dealing with vector-operands, however, unrelated operands might
also be moved, in order to make space.
Fixes: fb689f133e ('aco/ra: handle register assignment of vector-aligned operands')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35735 >
2025-06-26 10:05:07 +00:00
Georg Lehmann
7de352e99e
nir,radv: add an option to not move 8/16bit vecs
...
ACO will overestimate the register demand of the sources, so we don't
want to create the vector later.
Foz-DB Navi48:
Totals from 240 (0.30% of 80265) affected shaders:
MaxWaves: 6429 -> 6435 (+0.09%)
Instrs: 3406069 -> 3406646 (+0.02%); split: -0.01%, +0.03%
CodeSize: 18231596 -> 18233288 (+0.01%); split: -0.01%, +0.02%
VGPRs: 14768 -> 14732 (-0.24%)
Latency: 18981274 -> 18979170 (-0.01%); split: -0.02%, +0.01%
InvThroughput: 4247331 -> 4246634 (-0.02%); split: -0.02%, +0.01%
VClause: 85453 -> 85458 (+0.01%); split: -0.01%, +0.01%
Copies: 262046 -> 261971 (-0.03%); split: -0.06%, +0.03%
PreVGPRs: 10899 -> 10775 (-1.14%)
VALU: 1923441 -> 1923485 (+0.00%); split: -0.01%, +0.01%
SALU: 457983 -> 457982 (-0.00%)
VOPD: 4980 -> 4861 (-2.39%); split: +0.48%, -2.87%
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35729 >
2025-06-26 09:29:43 +00:00
Georg Lehmann
7ac9a87572
nir/opt_sink: don't assume moving conversion can't increase register pressure
...
Foz-DB Navi48:
Totals from 11311 (14.09% of 80265) affected shaders:
MaxWaves: 337664 -> 337648 (-0.00%); split: +0.00%, -0.01%
Instrs: 10102221 -> 10101625 (-0.01%); split: -0.05%, +0.04%
CodeSize: 55000184 -> 54999292 (-0.00%); split: -0.04%, +0.03%
VGPRs: 571052 -> 571064 (+0.00%); split: -0.03%, +0.03%
Latency: 59247189 -> 59204726 (-0.07%); split: -0.13%, +0.06%
InvThroughput: 10236407 -> 10215675 (-0.20%); split: -0.26%, +0.06%
VClause: 211730 -> 211677 (-0.03%); split: -0.07%, +0.04%
SClause: 284802 -> 284762 (-0.01%); split: -0.07%, +0.06%
Copies: 702890 -> 702539 (-0.05%); split: -0.18%, +0.13%
Branches: 205117 -> 205112 (-0.00%)
PreSGPRs: 475898 -> 475825 (-0.02%); split: -0.02%, +0.00%
PreVGPRs: 366318 -> 366449 (+0.04%); split: -0.14%, +0.17%
VALU: 5764791 -> 5764349 (-0.01%); split: -0.02%, +0.01%
SALU: 1259529 -> 1259517 (-0.00%); split: -0.04%, +0.04%
VOPD: 5854 -> 5724 (-2.22%); split: +0.70%, -2.92%
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35729 >
2025-06-26 09:29:43 +00:00
David Rosca
0c8b245094
radeonsi/vpe: Change some error messages to warnings
...
Error should be only used for critical failures.
Fixes warning spam when the input surface has DCC.
Reviewed-by: Peyton Lee <peytolee@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35719 >
2025-06-26 08:19:33 +00:00
Jose Maria Casanova Crespo
1377e18234
v3d: avoid submit of supertile coordinates on jobs without rasterization
...
If all draw calls of a job were submitted with GL_RASTERIZER_DISCARD
enabled we can avoid all the rasterization by not submitting the
supertile coordinates in the CLE.
There is a performance improvement in scenarios where only running the
geometry stages is needed like using TF. Altought the load/stores were
already avoided. Before this patch, the FS was still being executed for
each tile.
It helps on manhattan benchmarks.
fps_avg helped: gl_manhattan.trace: 12.71 -> 13.16 (3.54%)
fps_avg helped: gl_manhattan31.trace: 7.86 -> 8.02 (2.03%)
total fps_avg in affected (through threshold) runs: 20.57 -> 21.18 (2.96%)
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35739 >
2025-06-26 07:27:11 +00:00
Jose Maria Casanova Crespo
d0163f1096
v3d: Avoid fast TLB blit if reused job doesn't store the color buffer
...
Fixes: 66de8b4b5c ("v3d: add a faster TLB blit path")
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35739 >
2025-06-26 07:27:11 +00:00
Pierre-Eric Pelloux-Prayer
04d283c628
radeonsi: transition to TC-compatible HTILE on full clears
...
The new layout affects the whole buffer so it needs to be done
on a full clear.
This fixes this piglit test on a RX 6800 XT:
ext_framebuffer_multisample-accuracy 6 depth_resolve small depthstencil
Fixes: 75a03d733a ("radeonsi: simplify and fix enable_tc_compatible_htile_next_clear logic")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35582 >
2025-06-26 07:06:51 +00:00
Pierre-Eric Pelloux-Prayer
ac6abd9c23
radeonsi: enable SQTT for more chips
...
Same as radv.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35582 >
2025-06-26 07:06:51 +00:00
Pierre-Eric Pelloux-Prayer
ca0ed07588
ac/pm4: determine spi_shader_pgm_lo_reg when PKT3_SET_SH_REG_PAIRS is used
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35582 >
2025-06-26 07:06:51 +00:00
Pierre-Eric Pelloux-Prayer
5da4941101
radeonsi: fix typo in sdma code
...
cs_create returns a bool not an int so check correctly for
success (sdma was still used because sdma_cs would be non
NULL when entering this function the second time).
While at it update debug_flags to not retry creating sdma_cs
if it failed.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35582 >
2025-06-26 07:06:51 +00:00
Pierre-Eric Pelloux-Prayer
6c206ffbbc
radeonsi: use si_set_buf_desc_address helper
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35582 >
2025-06-26 07:06:51 +00:00
Konstantin Seurer
42c2ccbfb2
spirv: Move the shader_call_data workaround above nir_validate_shader
...
Prevents validation failures.
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35532 >
2025-06-26 06:30:44 +00:00
Samuel Pitoiset
30ccd97cd2
radv: gather nir shader info at the end of radv_optimize_nir()
...
Otherwise, outputs_read/outputs_written might not be up-to-date
(mostly after nir_remove_dead_variables) and remove_point_size() might
reach an assertion later because the output variable isn't found.
It seems better to run nir_shader_gather_info() at the very end of
radv_optimize_nir() which can change a lot of things anyways.
No fossils-db changes.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35707 >
2025-06-26 06:11:54 +00:00
Rob Clark
2e00925c81
freedreno/a6xx: Fix max_threads to account for reg footprint
...
The register footprint could limit occupancy. We need to take this into
account to avoid deadlocks when a kernel is using barriers.
Fixes: 6d85cd6a3b ("freedreno: Implement get_compute_state_info for Adreno 6xx/7xx")
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35745 >
2025-06-26 03:12:07 +00:00
Rob Clark
6f5ff6be44
nir: Fix lower_readonly_images_to_tex bitsize
...
The txf instruction could be returning something smaller than 32b.
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35758 >
2025-06-26 02:48:16 +00:00
Timothy Arceri
642c4cf2b2
dril: add BGR{X,A}8888 and RGB{X,A}8888
...
Needed after a6f534107a
Fixes: a6f534107a ("gbm/dri: Fix color format for big endian.")
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35726 >
2025-06-26 02:24:37 +00:00
Timothy Arceri
b03cd283d5
dril: use endian independent pipe formats
...
fourcc_to_pipe_format() was using the endian specific pipe
formats but drilConfigs which guards the supported formats
was using the little endian definitions directly so we would
always skip the formats on big endian. The little endian
pipe format is the correct one to use since that is how
DRM_FORMAT_* formats are defined.
Fixes: 20b3400701 ("dril: rework config creation")
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35726 >
2025-06-26 02:24:37 +00:00
Timothy Arceri
e446c05a49
dril: fix format typo in lookup helper
...
Fixes: 20b3400701 ("dril: rework config creation")
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35726 >
2025-06-26 02:24:37 +00:00
Caio Oliveira
30490de24a
intel/executor: allow single line comments in macro lines
...
Assembler supports them, so allow them on @-macro lines. For now
we don't bother with multiline comments, if becomes a thing we
can add them later.
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35699 >
2025-06-26 00:58:02 +00:00
Caio Oliveira
d14fa6683b
intel/executor: update SFID names in macros to match recent changes
...
After commit 88309a9818 , SFID names were renamed
- "dp data 1" became "hdc1"
- "thread_spawner" became "ts/btd"
Update macros in executor to use the new SFID names so the
generated assembly can be parsed correctly.
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35701 >
2025-06-25 17:31:00 -07:00
Antonino Maniscalco
32a6b7ae09
freedreno/decode: expose lookback as a cli option
...
It is sometimes necessary to exetend the lookback in order to catch
`CP_INDIRECT_BUFFER` packets.
Expose it as a command line option to facilitate that.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35752 >
2025-06-26 00:10:16 +00:00
Timothy Arceri
eaad90c262
util/cpu: fix broken powerpc linux builds
...
Fixes: 0ffbfa1d54 ("util/cpu: Teach the Linux code about getauxval()")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35727 >
2025-06-25 23:39:23 +00:00
Eric Engestrom
2801c51a9e
freedreno/drm: fix libvdrm inclusion logic
...
Fixes: 0e3584df44 ("freedreno/drm/virtio: Switch to vdrm helper")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35723 >
2025-06-26 01:02:37 +02:00
Eric Engestrom
1a6fc7006a
meson: split subdir for virtio/vdrm and virtio/vulkan
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35723 >
2025-06-25 22:21:48 +00:00
Eric Engestrom
6f8c4a7ce1
virtio: move inc_virtio up one folder
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35723 >
2025-06-25 22:21:48 +00:00
Eric Engestrom
a1daeb87a8
meson: fix vdrm inclusion logic
...
This is about which driver use vdrm, not which OS we're on.
Fixes the build on non-KMS/DRM system.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12899
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35723 >
2025-06-25 22:21:48 +00:00
Eric Engestrom
d0c7bea727
meson: allow "venus without virgl" builds
...
`cc: mesa-stable` instead of `fixes:` because several commits have
modified this but keeping this bug:
- 06e57e3231 ("virtio: Add vdrm native-context helper") made
an unconditional copy of subdir(virtio)
- cede4e7ac3 ("meson: Only include virtio when DRM available")
introduced a new condition, which doesn't cover everything that was
needed
- other commits made more changes
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35723 >
2025-06-25 22:21:47 +00:00
Eric Engestrom
b4ed35994d
meson: bump required meson version to 1.4
...
See https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35652#note_2973761
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35742 >
2025-06-25 21:55:16 +00:00
Eric Engestrom
474774ea58
meson: drop error for meson < 1.3 since we require 1.3+ already
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35742 >
2025-06-25 21:55:16 +00:00
Eric Engestrom
cd9879d632
docs: drop outdated line about meson version
...
Clearly we don't keep this line updated, so let's just drop it to not
state incorrect information.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35742 >
2025-06-25 21:55:15 +00:00
Mohamed Ahmed
ab6c55893b
nil/copy.rs: Add host copy support for Fermi-Volta
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35756 >
2025-06-25 21:32:38 +00:00
Faith Ekstrand
3c5b4fdc82
nil: Rename a few GOB types
...
This adds a single catch-all depth/stencil GOB type instead of Turing
having its own and renames the Fermi GOB type FermiColor because we
don't want to pretend depth/stencil and color are the same anywhere at
the moment.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35756 >
2025-06-25 21:32:38 +00:00
Faith Ekstrand
c83493cfb2
nil: Fix the GOBType::TuringColor2D description
...
The sectors were in the wrong order.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35756 >
2025-06-25 21:32:37 +00:00
Antonino Maniscalco
8ea0b00a75
zink: wait for sparse queue to go idle
...
When destroying the context we should also wait for the sparse queue to
go idle.
cc: mesa-stable
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35750 >
2025-06-25 18:24:35 +00:00
Samuel Pitoiset
e91029c82d
aco: consider that nir_tex_src_{coord,ddx} can be the first source
...
Only -1 means it's not found, but 0 is still valid.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35736 >
2025-06-25 17:20:02 +00:00
Eric R. Smith
fddd455e9c
pan: Teach libpanfrost about YU08/Y010
...
This is just a matter of adding a few entries to existing
arrays/switch-statements, the rest of the logic stays
unchanged.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35318 >
2025-06-25 18:40:32 +02:00
Eric R. Smith
f2093b137e
dri2: Teach the DRI layer about YU08 and YU10
...
Add the necessary bits to support YU08/YU10 images.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35318 >
2025-06-25 18:38:40 +02:00
Eric R. Smith
8c68512b84
gallium/st: Teach the state tracker about YU08 and YU10 formats
...
Add the necessary bits to the state tracker to support single plane
YUV 420 formats (YU08 and YU10 fourcc codes).
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35318 >
2025-06-25 18:38:37 +02:00
Eric R. Smith
d4f83a96c9
util/format: add support for YU08 and YU10 formats
...
Adds support for single plane YUV 420 formats (YU08 and YU10 fourcc
codes). The internal layout for these is unspecified and driver
specific.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35318 >
2025-06-25 18:37:28 +02:00
Pierre-Eric Pelloux-Prayer
bb22697437
winsys/amdgpu: use mesa_loge instead of fprintf
...
It's helpful on platforms with custom loggers like Android.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35733 >
2025-06-25 16:19:59 +00:00
Pierre-Eric Pelloux-Prayer
c1bfbabca3
radeonsi: use mesa_loge instead of fprintf
...
It's helpful on platforms with custom loggers like Android.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35733 >
2025-06-25 16:19:59 +00:00
Pierre-Eric Pelloux-Prayer
514a35b5ae
winsys/amdgpu: remove return value from amdgpu_init_cs_context
...
It can't fail.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35733 >
2025-06-25 16:19:59 +00:00
Pierre-Eric Pelloux-Prayer
613e9e9c23
radeonsi: check set_debug_callback before use
...
The callback might not be installed yet if si_create_context fails
early.
Fixes: 59a3f38ff6 ("radeonsi: clear the debug callback on ctx destroy")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35733 >
2025-06-25 16:19:58 +00:00
Michel Dänzer
ac8dc19512
radeonsi: Don't assert src_va != 0 with CP_DMA_CLEAR
...
CP_DMA_CLEAR just clears the destination, which doesn't require a valid
source address.
Fixes spurious assertion failures running xserver build tests (with
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34958 also
applied).
Fixes: a1b8c6c404 ("radeosi: assert addresses are not NULL in a couple of places")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35718 >
2025-06-25 14:35:22 +00:00
Lars-Ivar Hesselberg Simonsen
ef91ad64d5
panvk/v10+: Advertise nullDescriptor support
...
Advertise support for VK_EXT_robustness2 with only the nullDescriptor
feature enabled.
Except for index buffers, the same implementation should work for v9 as
well.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35609 >
2025-06-25 11:23:49 +00:00
Lars-Ivar Hesselberg Simonsen
228d62479a
panvk/v9+: Handle nullDescriptor for texture/image builtins
...
When loading the texure/image glsl builtins from a descriptor, we
currently apply modifiers to account for the stored value. This does not
work for nullDescriptors.
Therefore, check whether the Descriptor Type field is set to zero, which
would indicate a nullDescriptor, and if so directly return zero.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35609 >
2025-06-25 11:23:49 +00:00
Lars-Ivar Hesselberg Simonsen
a789867cb4
panvk/v10+: Implement nullDescriptor support
...
Adds support for nullDescriptors in PanVK by memsetting the relevant
descriptors to zero. This is valid for v9+.
Note that vertex/index buffers require special handling in order to rely
on out-of-bounds behavior.
For index buffers specifically, the approach is only valid for v10+, as
v9 does not have a way to specify index buffer size.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35609 >
2025-06-25 11:23:49 +00:00
Lars-Ivar Hesselberg Simonsen
bbe3c7e1a3
pan/genxml/v9+: Add support for NullDescriptor decode
...
It's now valuable to know whether a decoded descriptor is completely
zeroed (NullDescriptor) or invalid.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35609 >
2025-06-25 11:23:49 +00:00
Georg Lehmann
01d20680e2
aco/optimizer: generalize p_create_vector of split vector opt
...
Foz-DB Navi48:
Totals from 116 (0.14% of 80251) affected shaders:
MaxWaves: 2965 -> 2972 (+0.24%)
Instrs: 145933 -> 144632 (-0.89%); split: -0.91%, +0.02%
CodeSize: 815968 -> 806512 (-1.16%); split: -1.20%, +0.04%
VGPRs: 7240 -> 7144 (-1.33%); split: -1.66%, +0.33%
Latency: 3065858 -> 3063802 (-0.07%); split: -0.11%, +0.05%
InvThroughput: 745395 -> 743506 (-0.25%); split: -0.26%, +0.01%
VClause: 3702 -> 3694 (-0.22%); split: -0.65%, +0.43%
SClause: 3187 -> 3191 (+0.13%)
Copies: 12716 -> 11804 (-7.17%); split: -7.42%, +0.25%
Branches: 3501 -> 3503 (+0.06%)
PreVGPRs: 5400 -> 5327 (-1.35%); split: -1.41%, +0.06%
VALU: 76455 -> 75492 (-1.26%); split: -1.30%, +0.04%
SALU: 23594 -> 23595 (+0.00%); split: -0.00%, +0.01%
VOPD: 1478 -> 1527 (+3.32%); split: +4.67%, -1.35%
Mostly helps FSR4.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35674 >
2025-06-25 11:03:30 +00:00
Boris Brezillon
5fe1b95b33
pan: Make it so all pan_image_xxx helpers get passed an image
...
Some layout related helpers are being passed images subfields. Let's
make things consistent by always passing an image, plus extra parameters
to specify which part of the image is addressed.
While at it, move these helpers protypes/definitions to pan_image.h.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35555 >
2025-06-25 12:10:53 +02:00
Boris Brezillon
53e5e07c4b
pan: Add the concept of modifier handler
...
There are a few operations that are modifier specific. Instead of
spreading the
if (is_mod_x) do_x
else if (is_mod_y) do_y
...
pattern, let's add the concept of mod handler so we can abstract away
these operations and get rid of some boiler-plate.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35555 >
2025-06-25 12:10:53 +02:00
Boris Brezillon
0f90ae39c4
panfrost: Allow AFBC(3D) on Valhall
...
Now that pan_layout_init() has been fixed to report the correct
slice size, we can do what the comment says and allow AFBC(3D)
on v7+.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35555 >
2025-06-25 12:10:53 +02:00
Boris Brezillon
92ea3139c1
pan/layout: Don't mix AFBC and non-AFBC properties
...
AFBC is different from other modifiers (AFRC, u-tiled and linear) in that
metadata is placed in a separate memory section that needs to be properly
sized/aligned. This forces us to have header/body (or metadata/payload)
info stored at the layout level if we don't want to recalculate one
from the other everytime we need to fill descriptors.
Those properties were already present, but some of them were encoded in
non-afbc prefixed fields which makes things very confusing. Let's clarify
that by moving AFBC properties to their own struct, and move the
previously generic {row,surface}_stride_B to a tiled_or_linear struct.
We use a union to combine both.
With this sanitized semantics, we can fix some inconsistencies in our
AFBC layout initialization, hence the functional changes to
test-layout.cpp.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35555 >
2025-06-25 12:10:53 +02:00
Boris Brezillon
b06f6b81a6
pan/layout: Fix WSI.Import test
...
We were leaving the depth to zero, but the layout code expects a depth
of at least one.
Add an assert() in pan_image_layout_init() to catch this in the future.
Fixes: 916f75a2a6 ("pan/layout: Test WSI import behavior on all supported format/mods")
Signed-off-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/35555 >
2025-06-25 12:10:47 +02:00
Boris Brezillon
f87cd970e3
pan/layout: Document the strict property
...
pan_image_layout_constraints::strict only applies to imports of AFBC/AFRC
resources. Linear/tiled imports are already strict, and any new modifier
addition should be strict too.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35555 >
2025-06-25 12:10:37 +02:00
Boris Brezillon
1f2aa429d8
pan/layout: Get rid of pan_image_[render]block_size_el()
...
Now that things are handled per-modifier at the pan_layout level, there's
no good reason to keep those helpers.
The BlockSize.Linear test is dropped, since blocksize is assumed to be
<1,1> all the time.
panfrost_resource_create_with_modifier() is changed to make use of the
pan_image_get_wsi_row_pitch() helper to calculate the DUMB_BUFFER
stride/width.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35555 >
2025-06-25 12:10:37 +02:00
Boris Brezillon
e6f8cab698
pan/layout: Split the logic per modifier
...
Prepare for mod handlers by splitting the layout logic per modifier.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35555 >
2025-06-25 12:10:37 +02:00
Boris Brezillon
18f87b6ada
pan/format: De-duplicate get_plane_blocksize()
...
Expose a pan_format_get_planed_blocksize() so we don't have to duplicate
the logic in test-layout.cpp.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35555 >
2025-06-25 12:10:37 +02:00
Boris Brezillon
4bf983fb26
pan/afbc: Add the pan_afbc_{super,render}block_size_el() helpers
...
Those are just pan_afbc_{render,super}block_size_el() but with the
size returned in number of elements instead of pixels. This is only
relevant for YUV-formats whose block extent is bigger than one pixel.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35555 >
2025-06-25 12:10:37 +02:00
Boris Brezillon
8b93e8c33e
pan/layout: Get rid of pan_image_surface_{offset,stride}()
...
For AFBC images it's not clear what the offset/stride refers to (header
or body). Let's clear the confusion by dropping the helper and letting
the callers dereference the layout directly.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35555 >
2025-06-25 12:10:37 +02:00
Boris Brezillon
0825eccb47
pan/image: Get rid of pan_iview_get_surface()
...
No longer used, get rid of it.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35555 >
2025-06-25 12:10:37 +02:00
Boris Brezillon
8a8ea487de
pan/desc: Split the attachment descriptor emission per modifier
...
Will be needed for the pan_mod_handler abstraction we'll introduce later
on.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35555 >
2025-06-25 12:10:37 +02:00
Boris Brezillon
d4f89986ff
pan/genxml: Get rid of the Plane descriptor
...
We use specialized plane descriptors now almost everywhere except when
we want to get the plane descriptor size, and we can use a null plane in
that case, so let's get rid of the old definitions.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35555 >
2025-06-25 12:10:37 +02:00
Boris Brezillon
4b3be4a4a6
pan/texture: Split the texture payload emission logic per modifier
...
This is a preliminary step to allow delegating texture payload emission
to a modifier handler.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35555 >
2025-06-25 12:10:37 +02:00
Boris Brezillon
442be34441
pan/genxml: Introduce per-type plane descriptors
...
It makes it easier to decipher when reading a dump, and it will also
make overlapping fields impossible to set twice once we've converted the
texture logic to use those.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35555 >
2025-06-25 12:10:37 +02:00
Boris Brezillon
5b654a07b1
pan/afxc: s/pan_format_supports_afxc/pan_afxc_supports_format/
...
Let's stay consistent with the rest of the afxc helpers and
prefix this helper with pan_afxc.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35555 >
2025-06-25 12:10:37 +02:00
Boris Brezillon
1522fdc371
pan/afbc: Fix header alignment requirement on Midgard
...
This is actually 64 byte on Midgard. This makes pan_afbc_body_align()
and pan_afbc_header_align() return the same value, so let's define
one as a wrapper around the other.
Not flagged as a fix because pan_image_layout() init is handling AFBC
header alignment properly on Midgard already, but we want that fixed
to cleanup the image layout logic.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35555 >
2025-06-25 12:10:37 +02:00
Boris Brezillon
883ce63db5
pan/genxml: Reconcile AFBC RT properties naming on v5+
...
Pick the same names we use on v9+ for the "Render Target AFBC Overlay"
properties that exist on v5+ too.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35555 >
2025-06-25 12:10:37 +02:00
Boris Brezillon
a2e9ce39e9
pan/layout: Drop pan_image_slice_layout::afbc::{stride_sb,nr_sblocks}
...
Those fields are only used for AFBC packing which has deep knowledge
of AFBC layouts and can easily recover the row_stride/size in superblock
from other layout fields.
By getting rid of these two fields we also reduce the number of ways we
can express the same information, which makes things less confusing
overall.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35555 >
2025-06-25 12:10:37 +02:00
Boris Brezillon
abe23e1cd0
pan/layout: Use uint64_t types for offsets and sizes
...
As things are now, the pan_image_slice_layout::{offset,size}_B calculation
can exceed UINT32_MAX, and we silently droppin the upper 32-bit on the
floor. Same goes for the crc offset. Let's use a uint64_t to make sure
that doesn't happen.
While at it, move the two 64-bit field next to each other to avoid
padding, and document what size_B encodes.
It's hard to find the commit that introduced the problem with all the
code motion that happened this this struct was introduced, so I'll
just flag for backport.
Backport-to: 25.1
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35555 >
2025-06-25 12:10:37 +02:00
Boris Brezillon
dad53edc9c
pan/layout: Relax alignment constraints on pre-v7 for imports of linear/u-tiled
...
Commit f64a7c1506 ("pan/layout: Check the wsi_layout consistency in
wsi_row_pitch_to_row_stride()") introduced stricter alignments on pre-v7
for linear/tiled imports. It turns out alignment constraints on pre-v7 are
weaker than they are on v7+, and this got lost in the refactoring.
Let's fix linear_or_tiled_row_align_req() helper so we can import images
that don't have their base address/row_pitch aligned on a cacheline, and
only cacheline alignment for images we create ourselves.
Also add unittests to make sure we don't regress that in the future.
With this being tested, we can also use
pan_linear_or_tiled_row_align_req() in offset_align_for_mod()
(test-layout.cpp) instead of open-coding it.
Fixes: f64a7c1506 ("pan/layout: Check the wsi_layout consistency in wsi_row_pitch_to_row_stride()")
Fixes: 916f75a2a6 ("pan/layout: Test WSI import behavior on all supported format/mods")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35555 >
2025-06-25 12:10:37 +02:00
Boris Brezillon
25059a4576
pan/layout: Fix get_plane_blocksize()
...
The blocksize of for R8G8_R8G8_xxx formats is 4 bytes, not 2 bytes.
Fixes: 4d9a4e8228 ("pan/image: Teach pan_image/layout about planar images")
Fixes: 916f75a2a6 ("pan/layout: Test WSI import behavior on all supported format/mods")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35555 >
2025-06-25 12:10:37 +02:00
Boris Brezillon
1389a23708
pan/layout: Fix size_B calculation for AFBC(3D)
...
Right now the headers are not counted when we calculate the total slice
size of an AFBC(3D) image. Fix that by special-casing size_B
initialization for AFBC.
I couldn't get back to the original commit introducing this mistakes,
so I'm flagging for backport instead of adding a proper Fixes tag.
Backport-to: 25.1
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35555 >
2025-06-25 12:10:37 +02:00
Boris Brezillon
a6ba8019d4
panvk: Check the return of pan_image_layout_init()
...
Fail the image creation if the image layout initialization fails instead
of silently ignoring the problem.
Signed-off-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/35555 >
2025-06-25 12:10:37 +02:00
Boris Brezillon
e25a91d919
panvk: Lower maxImageDimension{2D,3D,Cube} to match the HW caps
...
Maximum texture dimension is 2^16, but we're limited by the 32-bit
fields that are used to pass strides/sizes in various descriptors.
Assuming RGBA32_FLOAT is the biggest format we support, that gives us a
16k-1 image size for 2D and cube map, and 512 for 3D.
Change our GetPhysicalDeviceImageFormatProperties2() implementation so
that smaller formats can still advertise bigger image sizes.
Fixes: d5ed77800e ("panvk: Fix GetPhysicalDeviceProperties2() to report accurate info")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35555 >
2025-06-25 12:10:37 +02:00
Boris Brezillon
c4f1dd1e2d
panvk: Make sure we don't use AFBC on images that are too big
...
AFBC headers point to their tile with a 32-bit offset, meaning the last
header has to cross the entire body to reach its tile, so we can't
have a body size that's bigger than UINT32_MAX.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35555 >
2025-06-25 12:10:37 +02:00
Boris Brezillon
700f179bc8
panfrost: Let ::can_create_resource() report when the layout init failed
...
We will soon make pan_image_layout_init() return false even for
non-explicit layout case, which will allow panfrost_can_create_resource()
to properly report when the resource size doesn't fix some HW limits.
But before we can do that, we need to let panfrost_resource_setup()
return an error instead of asserting() that pan_image_layout_init()
always return true. Add a new panfrost_resource_try_setup() helper
and define panfrost_resource_setup() as wrapper around it with the
existing assert(valid), and make panfrost_can_create_resource() use the
new helper.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35555 >
2025-06-25 12:10:37 +02:00
Boris Brezillon
4c9d3bc171
panfrost: Make sure we don't use AFBC on resources that are too big
...
AFBC headers point to their tile with a 32-bit offset, meaning the last
header has to cross the entire body to reach its tile, so we can't
have a body size that's bigger than UINT32_MAX.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35555 >
2025-06-25 12:10:37 +02:00
Boris Brezillon
737fc5d3c1
pan/genxml: Make sure we catch overflows on 32-bit integer fields
...
If we store the temporary value in a [u]int32_t, the result might be
silently truncated, making the overflow check in the u_pack helpers
useless.
Make sure we use 64-bit fields as soon as the size is greater than 31
bits to prevent that.
It forces us to fix some types in the xml and helper arguments (sint
wrongly defined as uint) and add explicit casts on u32 subtraction
whose result is stored in an s32.
Signed-off-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/35555 >
2025-06-25 12:10:37 +02:00
David Rosca
189bf9fe9a
radv/video: Prefer visible VRAM for host visible context buffers
...
In most cases this has little to no effect, but AV1 decode on VCN5
is up to 40% slower when the context buffer is in GTT.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35684 >
2025-06-25 09:39:11 +00:00
Christoph Pillmayer
f5498fda2a
panvk: Fix occlusion query oq_chain order
...
We were pointing the new_node.next at the previous node but trying to
iterate over the nodes starting at the first one.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35687 >
2025-06-25 08:15:54 +00:00
Christoph Pillmayer
d1448e3243
panvk: Add cs_single_link_list
...
The linked list will be used to store occlusion queries to signal after a
renderpass.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35687 >
2025-06-25 08:15:54 +00:00
Samuel Pitoiset
2d4b4a296e
radv: move pipeline layout implementation to radv_pipeline_layout.c/h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35708 >
2025-06-25 07:52:12 +00:00
Samuel Pitoiset
46f78b40f0
radv: simplify add_descriptor_set()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35708 >
2025-06-25 07:52:12 +00:00
Samuel Pitoiset
f5a71a1262
radv: rename border_color_slot to border_color_index
...
To match future work.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35708 >
2025-06-25 07:52:12 +00:00
Samuel Pitoiset
c08a97633c
radv: remove an useless check about custom border color
...
The Vulkan spec is pretty clear and says:
"VUID-VkSamplerCreateInfo-None-04012
The maximum number of samplers with custom border colors which can be
simultaneously created on a device is implementation-dependent and
specified by the maxCustomBorderColorSamplers member of the
VkPhysicalDeviceCustomBorderColorPropertiesEXT structure"
So this check can be removed because it would be an application bug
otherwise.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35708 >
2025-06-25 07:52:12 +00:00
Martin Roukala (né Peres)
7272323d48
zink/ci: run glcts and piglit on NVK's ad106
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35546 >
2025-06-25 07:34:51 +00:00
Martin Roukala (né Peres)
15111a6e36
nvk/ci: run on our jobs on ad106
...
We currently only have 2 hosts with RTX 4060 GPUs, with more expected
to be added in a near future in order to enable pre-merge testing for
NVK.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35546 >
2025-06-25 07:34:51 +00:00
Martin Roukala (né Peres)
dfecd38519
nvk/ci: uprev the kernel to v6.16-rc2
...
This allows us to use the GSP v570 which has been reported to be more
stable than the previous v535.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35546 >
2025-06-25 07:34:51 +00:00
Martin Roukala (né Peres)
d1e9b56dd1
nvk/ci: split the common ci-tron parts to their own job
...
This will allow us to add new DUTs without duplicating the driver-level
variables.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35546 >
2025-06-25 07:34:51 +00:00
Valentine Burley
a7f970ee6d
zink/ci: Add glcts and piglit job on Cezanne with RADV
...
AMD Cezanne is Vega, where we already have radeonsi coverage on Raven.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35682 >
2025-06-25 07:09:08 +00:00
Valentine Burley
fc9dbe4e01
zink/ci: Rename zink-radv Valve rule to make it unambiguous
...
Also drop redundant build-piglit.sh rule, as changes to .gitlab-ci are
already tracked by the core rules.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35682 >
2025-06-25 07:09:07 +00:00
Valentine Burley
57f97ad64a
radeonsi/ci: Add glcts and piglit job on Mendocino
...
Like Van Gogh, Mendocino is RDNA 2. This new job is intended to replace
the existing radeonsi-vangogh-glcts job, which couldn't run the full
test suite pre-merge.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35682 >
2025-06-25 07:09:07 +00:00
Valentine Burley
e5323ff07b
radeonsi/ci: Rename radeonsi Collabora rule to make it unambiguous
...
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35682 >
2025-06-25 07:09:06 +00:00
Valentine Burley
1e31ebc21e
radeonsi/ci: Move full radeonsi-stoney-glcts-piglit job to pre-merge
...
The full job previously ran in the nightly pipeline, but its runtime is
within the recommended 10-minute limit reported by deqp-runner. This
allows us to run it pre-merge and remove the separate nightly job.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35682 >
2025-06-25 07:09:05 +00:00
Georg Lehmann
1819e1caef
radv: keep fp8 conversions vectorized
...
Totals from 11 (0.01% of 80265) affected shaders:
MaxWaves: 102 -> 104 (+1.96%)
Instrs: 24105 -> 21027 (-12.77%)
CodeSize: 190744 -> 167480 (-12.20%)
VGPRs: 1968 -> 1920 (-2.44%)
Latency: 91890 -> 90302 (-1.73%); split: -2.86%, +1.13%
InvThroughput: 100616 -> 98496 (-2.11%); split: -2.24%, +0.13%
VClause: 802 -> 759 (-5.36%); split: -6.48%, +1.12%
Copies: 3131 -> 3329 (+6.32%); split: -0.48%, +6.80%
PreVGPRs: 1816 -> 1802 (-0.77%)
VALU: 12543 -> 11399 (-9.12%)
SALU: 4635 -> 2859 (-38.32%)
VOPD: 1133 -> 1195 (+5.47%); split: +7.33%, -1.85%
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35676 >
2025-06-25 05:34:48 +00:00
Georg Lehmann
e6d208b1f9
nir/opt_shrink_vectors: also split vecs into distinct smaller vecs if possible
...
Foz-DB Navi48:
Totals from 17 (0.02% of 80265) affected shaders:
Instrs: 75085 -> 74912 (-0.23%); split: -0.23%, +0.00%
CodeSize: 428968 -> 427028 (-0.45%); split: -0.45%, +0.00%
Latency: 1306841 -> 1306080 (-0.06%); split: -0.06%, +0.00%
InvThroughput: 598998 -> 598719 (-0.05%)
Copies: 15733 -> 15561 (-1.09%)
Branches: 2435 -> 2422 (-0.53%)
PreVGPRs: 1723 -> 1721 (-0.12%)
VALU: 43019 -> 42847 (-0.40%)
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35676 >
2025-06-25 05:34:48 +00:00
Georg Lehmann
22d7dd69b2
nir/shrink_vectors: shrink larger vectors too
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35676 >
2025-06-25 05:34:48 +00:00
Iván Briano
d964b8d5fa
anv: don't report custom sample locations for sample count 1
...
We can't actually enable MSAA for images with sample count 1, and
without MSAA active, the sample location machinery does not get used.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35504 >
2025-06-24 19:44:34 +00:00
Eric Engestrom
127926977a
lavapipe/ci: explicitly state in the job name which test is being run
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35683 >
2025-06-24 19:24:45 +00:00
Eric Engestrom
7f66823fd7
lavapipe/ci: move job timeout definition to jobs
...
The `.lavapipe-rules` job template cannot know what the job will run and how long it will take.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35683 >
2025-06-24 19:24:45 +00:00
Eric Engestrom
686b774952
lavapipe/ci: drop redundant .lavapipe-rules in .lavapipe-test
...
All the jobs (except two, fixed here) already re-specify whether they
want `.lavapipe-rules` or `.lavapipe-manual-rules`, so drop this.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35683 >
2025-06-24 19:24:44 +00:00
Eric Engestrom
90439f6af5
lavapipe/ci: promote vkd3d job from nightly to merge pipelines
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35683 >
2025-06-24 19:24:43 +00:00
Eric Engestrom
afc0b7bed3
lavapipe/ci: drop unneeded MESA_VK_IGNORE_CONFORMANCE_WARNING
...
The non-conformance warning on lavapipe was removed 3 years ago, in
bfebf51571 ("lavapipe: state latest conformance tests passed")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35683 >
2025-06-24 19:24:43 +00:00
Eric Engestrom
9d970a442c
lavapipe/ci: drop redundant stage:
...
It's already defined by `.lavapipe-rules`/`.lavapipe-manual-rules`.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35683 >
2025-06-24 19:24:42 +00:00
Caterina Shablia
3653085b45
panvk: add panvk_as_alloc and panvk_as_free helpers
...
In panvk we often need to allocate and free address ranges in the
address space represented by panvk_device::as::heap. In most
situations, panvk_device::as::lock has to be held while performing
an operation on panvk_device::as::heap, so there are a lot of
instances of exactly the same 3 locs locking the as::lock,
allocating or freeing a range in as::heap, and unlocking the lock.
These helpers are the less verbose replacements for these 3 locs
that should be used going forward.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35692 >
2025-06-24 18:53:04 +00:00
Caterina Shablia
e16d4b3eba
panvk: move panvk_image_plane_bind to the beginning of the file
...
We'll need this function in panvk_CreateImage in order to implement
sparse images.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35692 >
2025-06-24 18:53:04 +00:00
Caterina Shablia
09814eb32a
panvk: prepare for multiple queue types
...
Make the queue entry points forward to the implementations
appropriate for the queue's type.
Rename panvk_queue to panvk_gpu_queue.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35692 >
2025-06-24 18:53:04 +00:00
Boris Brezillon
33060373c0
panvk: Make panvk_device.{c,h} panvk_queue agnostic
...
We will soon have a panvk_bind_queue object to expose bind queues,
so let's modify the code to make this reasonably clean by letting
the CSF/JM backing keep their queue object opaque.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-By: Caterina Shablia <caterina.shablia@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35692 >
2025-06-24 18:53:04 +00:00
Yiwei Zhang
4d972bce5b
venus: use more common wsi codes
...
This has been unblocked a while back after common queue adoption.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35705 >
2025-06-24 18:38:32 +00:00
Yiwei Zhang
25d7c6cd4d
venus: relocate tls ring hint from wsi init to queue submission
...
This ensures synchronous shader compilation doesn't occur on most render
threads.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35705 >
2025-06-24 18:38:32 +00:00
Adrián Larumbe
cf4a137459
panfrost: Add missing util_range_init()
...
It was absent when initialising a panfrost_resource from a winsys handle.
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com >
Fixes: 7da251fc72 ("panfrost: Check in sources for command stream")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34224 >
2025-06-24 18:11:09 +00:00
Adrián Larumbe
b351600436
panfrost: Implement pipe screen's resource_label interface
...
Extend the panfrost resource screen interface with a function that lets
the pipe resource the BO belongs to share a label pointer for debugging
purposes.
Then append this resource label to the existing driver tag and label the
backing kernel BO accordingly.
A panfrost_resource::user_label field was added to store the argument
user label. Because in the case of an AFBC-packed resource, user tagging
can happen before the packed BO is created, we need to store it
separately, so that all the necessary label fields are available before
a complete label can be given to the kernel driver.
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34224 >
2025-06-24 18:11:09 +00:00
Adrián Larumbe
a4ffd2395f
mesa: Implement label sharing from GL objects with UM drivers
...
At the moment, the string passed to glObjectLabel() stays only within the
confines of GL objects. It would be nice if that textual description could
be made known to the underlying drivers somehow.
Expand the pipe screen function interface to allow passing GL object labels
down to the UM driver that handles a particular pipe screen.
Not all GL objects have an associated GL resources, so this behaviour has
been implemented for those which are associated with at least one.
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34224 >
2025-06-24 18:11:08 +00:00
Adrián Larumbe
3bd0e58d66
panfrost: Expand BO label for panfrost resources
...
When creating a BO that backs a panfrost resource, append additional
information. To this end, add a new helper that composes it from
a base resource label and some parameters of interest.
To avoid dealing with situations in which a BO is referenced by multiple
resources, we only allow the BO creator to claim ownership at resource
creation time. There are, however, code paths in which a panfrost
resource's BO is assigned from an existing resource. In those cases, we
transfer ownership between resources.
In those cases, we assign the old BO a label in static memory without
passing it down to the kernel, because in a majority of times that BO
will immediately reach a refcnt of 0, leading to its destruction. That
way we avoid a useless round-trip to the kernel through the BO labelling
ioctl().
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34224 >
2025-06-24 18:11:08 +00:00
Adrián Larumbe
0f22729d51
panfrost: Flag resources with imported BOs
...
In preparation of a future commit in which UM will be able to pass
down a label from the GL layer and append it to the existing BO's driver
label, we want to disallow resource handling of imported BO labels.
To this end, add a boolean flag to the panfrost_resource definition so
that future commits can take this into account when managing resource
labels.
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34224 >
2025-06-24 18:11:08 +00:00
Adrián Larumbe
b9b1c5438e
panfrost: Label kernel BO's for newly created objects
...
To this end, provide a helper that passes the label to the kmod layer
upon demand. Helper returns the old label, in preparation for future
commits in which the label might not be in static RO memory, but
dynamically alocated instead, and its lifetime managed by the resource
layer.
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34224 >
2025-06-24 18:11:07 +00:00
Adrián Larumbe
32b128be01
panfrost: Fix Panfrost BO leak in error handling path
...
When panfrost_resource_init_afbc_headers() fails, freeing the newly
created resource is not enough, because we need to unreference its BOs.
This will also take care of freeing its resource label.
Also replace instances of FREE() in error-handling paths with
panfrost_resource_destroy(), as it is capable of handling partially
initialised resources.
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com >
Fixes: e3f2bc7963 ("panfrost: handle mmap failures")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34224 >
2025-06-24 18:11:07 +00:00
Adrián Larumbe
28c43385d1
pan/kmod: Add Panfrost BO Labeling IOCTL support
...
Implement kmod->ops->bo_label operation for Panfrost kmod driver.
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34224 >
2025-06-24 18:11:07 +00:00
Adrián Larumbe
a05b6829c8
pan/kmod: Add Panthor BO Labeling IOCTL support
...
Implement kmod->ops->bo_label operation for Panthor kmod driver.
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34224 >
2025-06-24 18:11:07 +00:00
Adrián Larumbe
9fa730b15d
drm-uapi: Sync panfrost_drm.h
...
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34224 >
2025-06-24 18:11:06 +00:00
Adrián Larumbe
e64de493cf
drm-uapi: Sync panthor_drm.h
...
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34224 >
2025-06-24 18:11:06 +00:00
Adrián Larumbe
0c9841ec7d
pan/kmod: Add BO-labeling kernel module operation
...
Both Panfrost and Panthor are expected to implement these in a
device-specific way.
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34224 >
2025-06-24 18:11:06 +00:00
Romaric Jodin
bc973d687c
panvk: fix bi_emit_alu calling bi_make_vec_to
...
bi_emit_alu needs to fully set the vector of bi_index pass to
bi_make_vec_to, as it is expected by the callee.
Fixes: 3cc6a4c5 ("pan/bi: Handle swizzles in i2i8")
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35642 >
2025-06-24 17:30:54 +00:00
Georg Lehmann
21523dad96
radv/nir/lower_cmat: use nir_src_as_deref
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35633 >
2025-06-24 17:12:34 +00:00
Georg Lehmann
48fc8c8d1c
radv/nir/lower_cmat: set optimal load/store alignment
...
Allows vectorizing load/stores with sub dword types or with robustness.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35633 >
2025-06-24 17:12:33 +00:00
Georg Lehmann
ed2ecf9ef8
radv/nir/lower_cmat: share cmat_load/cmat_store code
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35633 >
2025-06-24 17:12:33 +00:00
Boris Brezillon
f3f67823c4
pan/format: Add an entry for BGR8 to the blendable table
...
Without it, BGR8 gets a NULL entry, and it trips out the GPU when it
gets passed a blend descriptor with RGB8 as a format to convert to.
Fixes: bba4785f60 ("pan/format: Add render target support for R8G8B8/B8G8R8 formats")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35715 >
2025-06-24 16:41:01 +00:00
Mike Blumenkrantz
ec0387f13f
zink: enable image2DViewOf3DSparse with maint9
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35714 >
2025-06-24 16:18:46 +00:00
Georg Lehmann
4ac6aae3a4
radv/nir/lower_cmat: fix gfx11 B->ACC conversion
...
Of course I messed up the one path that's not tested by CTS.
Fixes: 249ccc6b4c ("radv/nir/lower_cmat: implement use conversions/transpose")
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35713 >
2025-06-24 15:53:52 +00:00
Matt Turner
7d329d615a
vulkan: Generate files with newline at end
...
These generator scripts use the `write` function that, unlike `print`,
doesn't print a trailing newline. So let's add one to the template.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35697 >
2025-06-24 14:01:04 +00:00
Matt Turner
6a47531440
intel: Generate files with newline at end
...
This generator scripts uses the `write` function that, unlike `print`,
doesn't print a trailing newline. So let's add one to the template.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35697 >
2025-06-24 14:01:04 +00:00
Matt Turner
6100dbc3d0
compiler: Generate files with newline at end
...
These generator scripts use the `write` function that, unlike `print`,
doesn't print a trailing newline. So let's add one to the template.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35697 >
2025-06-24 14:01:04 +00:00
Ashley Smith
2ce201707e
mesa: Add support for GL_EXT_shader_clock
...
Signed-off-by: Ashley Smith <ashley.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35630 >
2025-06-24 13:21:28 +00:00
Georg Lehmann
b729ad1742
nir/loop_analyze: consider movs/vecs free
...
They are free more likely than not.
Foz-DB Navi31:
Totals from 462 (0.58% of 80251) affected shaders:
Instrs: 1464013 -> 1868466 (+27.63%)
CodeSize: 8476352 -> 10745544 (+26.77%)
VGPRs: 27412 -> 27560 (+0.54%)
SpillSGPRs: 0 -> 16 (+inf%)
SpillVGPRs: 83 -> 76 (-8.43%)
Scratch: 6072832 -> 6071808 (-0.02%)
Latency: 19282476 -> 19552323 (+1.40%); split: -0.11%, +1.51%
InvThroughput: 2198357 -> 2258490 (+2.74%); split: -0.47%, +3.21%
VClause: 32986 -> 43491 (+31.85%)
SClause: 72760 -> 126112 (+73.33%)
Copies: 165286 -> 223368 (+35.14%)
Branches: 60530 -> 79743 (+31.74%); split: -0.03%, +31.77%
PreSGPRs: 24885 -> 25077 (+0.77%)
PreVGPRs: 23004 -> 22494 (-2.22%); split: -2.26%, +0.04%
VALU: 760978 -> 898136 (+18.02%)
SALU: 187786 -> 252995 (+34.73%); split: -0.03%, +34.75%
VMEM: 58469 -> 69164 (+18.29%); split: -0.07%, +18.36%
SMEM: 87926 -> 158175 (+79.90%); split: -0.00%, +79.90%
VOPD: 580 -> 732 (+26.21%); split: +31.38%, -5.17%
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35686 >
2025-06-24 12:18:47 +00:00
Georg Lehmann
b1290fdf20
nir/loop_analyze: handle vector selections properly
...
Consider all conditions, not just the first.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35686 >
2025-06-24 12:18:47 +00:00
Georg Lehmann
47aba15489
nir/loop_analyze: always consider comparisions between induction var and constant free
...
There is no reason why this should be restricted to single uses.
Foz-DB Navi31:
Totals from 21 (0.03% of 80251) affected shaders:
Instrs: 54424 -> 65851 (+21.00%)
CodeSize: 286688 -> 346896 (+21.00%)
Latency: 2980310 -> 2959904 (-0.68%)
InvThroughput: 403744 -> 400782 (-0.73%)
VClause: 923 -> 1316 (+42.58%)
SClause: 1217 -> 1705 (+40.10%)
Copies: 3226 -> 3393 (+5.18%); split: -0.87%, +6.04%
Branches: 1014 -> 1130 (+11.44%); split: -0.39%, +11.83%
PreSGPRs: 1327 -> 1306 (-1.58%)
PreVGPRs: 1896 -> 1868 (-1.48%)
VALU: 36083 -> 43560 (+20.72%)
SALU: 4471 -> 4708 (+5.30%); split: -2.75%, +8.05%
VMEM: 2225 -> 2743 (+23.28%)
SMEM: 1662 -> 2273 (+36.76%); split: -0.06%, +36.82%
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35686 >
2025-06-24 12:18:47 +00:00
Samuel Pitoiset
dc4be89e7c
radeonsi: add a way to override the disk cache key with radeonsi-build-id
...
This is similar to radv-build-id which is mainly used on SteamOS for
shaders pre-compilation.
For RadeonSI, it also useful to have this option to force the disk
cache key to be uniq for redistributed shaders accross machines when
it's safe.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35629 >
2025-06-24 09:34:50 +00:00
Erik Faye-Lund
2815287f55
panfrost/ci: add new 8x/16x msaa fails on t760
...
These tests are all failing on t760 after enabling 8x and 16x MSAA.
Let's mark them as expected until the issue has been root-caused.
Acked-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35689 >
2025-06-24 08:47:29 +00:00
Erik Faye-Lund
e3c50ddfaf
panfrost/ci: explain g52 fails
...
I already marked these as expected fails on G57, but missed the
corresponding failures on G52 because those were moved to post-merge
while the feature here was in development.
Fixes: 350eccd032 ("Uprev Piglit to a0a27e528f643dfeb785350a1213bfff09681950")
Fixes: 423f3fd485 ("panfrost: enable 8x and 16x msaa modes when supported")
Acked-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35689 >
2025-06-24 08:47:29 +00:00
Antonio Ospite
c9a8e1f49a
ci/android: get aapt from the build-tools from Google instead of Debian
...
The aapt package form Debian might not be recent enough to install the
packages from Android CTS.
Resulting in an error like:
```
03:12:09.302: Module(s) with run failure(s):
03:12:09.302: x86_64 CtsGraphicsTestCases: com.android.tradefed.targetprep.TargetSetupError[AAPT_PARSER_FAILED|520050|DEPENDENCY_ISSUE]: AaptParser failed for file CtsGraphicsTestCases.apk. The APK won't be installed
```
So get aapt from the build-tools matching the ANDROID_SDK_VERSION
corresponding to the Android version and CTS version used in the tests,
to ensure compatibility.
This effectively reverts the changes from commit b3c07fe722
(ci/android: Use aapt from Debian packages, 2025-04-21), but moving the
code around a bit.
The build-tools are not taken as LAVA overlay because LAVA is not able
to handle zip files, and the file in not big enough to be worth any
repacking effort.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35688 >
2025-06-24 08:21:18 +00:00
Antonio Ospite
8383d28b44
ci/android: test that all available modules ran in android-cts-runner.sh
...
If an Android CTS module does not even start the amount of `FAILED`
tests in the invocation summary could still show up as 0, passing the
sanity check on the completion status, and `cts-tradefed` would not
reflect the module-level failure in the return value either.
So explicitly check that all included modules completed and, in case
they didn't, propagate this kind of failure to `EXIT_CODE`.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35688 >
2025-06-24 08:21:17 +00:00
Georg Lehmann
a61b564cf5
radv/ci: test VK_NV_cooperative_matrix2
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34793 >
2025-06-24 07:14:36 +00:00
Georg Lehmann
8256097c0c
radv: advertise VK_NV_cooperative_matrix2/cooperativeMatrixConversions behind an env var
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34793 >
2025-06-24 07:14:35 +00:00
Georg Lehmann
249ccc6b4c
radv/nir/lower_cmat: implement use conversions/transpose
...
This could potentially be improved using packed 32bit subgroup ops,
but what we actually care about (gfx12 ACC -> B) is free.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34793 >
2025-06-24 07:14:34 +00:00
Georg Lehmann
bdd2c7b9f2
spirv: implement CooperativeMatrixConversionsNV
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34793 >
2025-06-24 07:14:34 +00:00
Georg Lehmann
8c4225b99b
nir: add cmat_transpose
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34793 >
2025-06-24 07:14:34 +00:00
Ryan Mckeever
bba4785f60
pan/format: Add render target support for R8G8B8/B8G8R8 formats
...
Add render target support to the existing R8G8B8/B8G8R8 formats
and add the B8G8R8_UNORM format.
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34889 >
2025-06-24 05:41:48 +00:00
Ryan Mckeever
6c871b1a7d
st/mesa: Support RGB888/BGR888 formats
...
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34889 >
2025-06-24 05:41:48 +00:00
Ryan Mckeever
a4d5012a66
egl/wayland: Support RGB888/BGR888 formats
...
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34889 >
2025-06-24 05:41:48 +00:00
Ryan Mckeever
c86b3e1ae9
egl/wayland: Set EGL_NATIVE_VISUAL_ID for EGLConfig
...
We want to make sure that EGL doesn't de-duplicate configs with
'identical' properties but different visual IDs. This way clients can
explicitly select which format they want to use (e.g., XRGB vs. RGB).
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34889 >
2025-06-24 05:41:48 +00:00
Ryan Mckeever
53a4960f2e
gbm/dri: Support RGB888/BGR888 formats
...
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34889 >
2025-06-24 05:41:48 +00:00
Ryan Mckeever
4848fbf774
gallium: Support RGB888/BGR888 formats
...
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34889 >
2025-06-24 05:41:48 +00:00
Ryan Mckeever
1f33be6503
st/mesa: Do not specify PIPE_FORMAT_R8G8B8X8_UNORM twice for RGB
...
PIPE_FORMAT_R8G8B8X8_UNORM is already the first format in
DEFAULT_RGB_FORMATS, so removing it should make no difference.
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34889 >
2025-06-24 05:41:48 +00:00
Ryan Mckeever
0cafd65a31
frontend/dri: Replace tabs with spaces
...
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34889 >
2025-06-24 05:41:47 +00:00
Faith Ekstrand
42097772f9
nil: Improve Tiling and GOBType documentation
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35660 >
2025-06-24 02:58:12 +00:00
Mohamed Ahmed
f0c34f1702
nil/copy: Add Blackwell+ GOB layouts for host copy
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35660 >
2025-06-24 02:58:12 +00:00
Faith Ekstrand
69cd6069c9
nil/copy: Add a simpler CopyGOBLines trait
...
This lets us implement all the complex logic of copying a GOB in a
central place and all we really need for each GOB type is an iterator
function. There's a bit of duplication here with the copy functions but
it's still better than what we had before.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35660 >
2025-06-24 02:58:12 +00:00
Mohamed Ahmed
0ad57c169a
nil/copy: Rename Copy16B to CopyBytes and add a copy_8b method
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35660 >
2025-06-24 02:58:12 +00:00
Faith Ekstrand
9981227dae
nil: Add new GOBTypes for blackwell+
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35660 >
2025-06-24 02:58:11 +00:00
Faith Ekstrand
76e72d63f0
nil: Match on gob types in the tiled image copy code
...
This depends on GOB types but we really only support Turing for now.
Add the match statement anyway so we panic if we see an unsupported GOB
type instead of pretending it's TuringColor2D and copying anyway.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35660 >
2025-06-24 02:58:11 +00:00
Faith Ekstrand
d8c43ff46a
nil: Use GOBType::choose() to pick gob kinds for modifiers
...
The gob kind and sector layout should map directly to a unique GOBType.
We can now also advertise zero modifiers for GOB types that don't
support modifiers. Currently this is redundant with the earlier return
for depth/stencil images but it should help protect us in the future
when adding new GOB types.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35660 >
2025-06-24 02:58:11 +00:00
Faith Ekstrand
52b8072040
nil: Add more GOBType enums
...
We know Turing+ is different because it's different in the NVIDIA
modifiers and because we've implemented host image copies and the
current implementation doesn't work on Volta and earlier. We also know
that Z/S is different from color and that there's some sort of 3D GOB
concept we haven't reverse engineered yet. Let's make everything a as
explicit as we can.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35660 >
2025-06-24 02:58:10 +00:00
Karol Herbst
0012715b8f
rusticl/queue: reuse vector between queue iterations
...
There is no reason not to and this will get rid of some pointless
reallocations.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35672 >
2025-06-24 01:49:43 +00:00
Karol Herbst
4254e13300
rusticl/queue: use let else statement when receiving new events
...
Gets rid of an unwrap() call.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35672 >
2025-06-24 01:49:43 +00:00
Karol Herbst
513a7ca417
rusticl/queue: do not block when dropping a queue
...
There is no need for a blocking wait anymore now that event processing
doesn't depend on the queue anymore.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35672 >
2025-06-24 01:49:43 +00:00
Karol Herbst
162ab66c2e
rusticl/event: convert queue to Weak reference
...
This works around applications leaking cl_event references, which
prevented queues to be destroyed and GPU context resources to be freed.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35672 >
2025-06-24 01:49:42 +00:00
Karol Herbst
8291331c43
rusticl/event: check the queue timed to detect enabled profiling in call
...
Gets rid of an unwrap and the dependency on the queue.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35672 >
2025-06-24 01:49:42 +00:00
Karol Herbst
815373fe62
rusticl/event: change Queue argument to Context in EventSig
...
Will allow us to drop the strong reference to the queue in events.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35672 >
2025-06-24 01:49:41 +00:00
Karol Herbst
f03f79d9c6
rusticl/queue: signal events directly on panics
...
This works better than checking if the worker thread still exists. It also
will allow us to turn the Event -> Queue dependency into a Weak one more
easily.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35672 >
2025-06-24 01:49:40 +00:00
Lucas Stach
906d4d5dfe
etnaviv/ci: update expectation after dither fixes
...
Remove the fails that were caused by precision issues when trying
to dither a 4bpc format.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35673 >
2025-06-23 23:27:24 +00:00
Lucas Stach
46cb190944
etnaviv: improve dither enable conditions
...
Take into account the alpha blend state of all render targets when deciding
whether it is okay to enable dithering. Do not dither render targets with
less than 5 bits of precision per channel as this leads to visible artifacts.
GC7000 fails to blend RGBA4444 correctly when dithering is disabled but
PE_LOGIC_OP_DITHER_MODE is set to anything other than 0, so set this state
depending on whether dithering is actually enabled.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35673 >
2025-06-23 23:27:24 +00:00
Jesse Natalie
07af41b0a2
microsoft/compiler: Separate 'advanced texture ops' from SM6.7
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35664 >
2025-06-23 23:10:15 +00:00
Christian Gmeiner
e64390a056
etnaviv: nir: Move pre-halti5 tex lowering
...
Let's have all the texture lowerings in one place.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35696 >
2025-06-23 22:50:38 +00:00
Yiwei Zhang
84cb568150
vulkan/wsi: drop wsi_common_get_images
...
..since there's no users of it now.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35702 >
2025-06-23 22:05:19 +00:00
Yiwei Zhang
8d8bdd2b1b
dozen: drop redundant dzn_swapchain_get_image api
...
This drops the last usage of wsi_common_get_images.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35702 >
2025-06-23 22:05:19 +00:00
David Neto
e9b9f1f764
spirv: spirv-to-c-array: use '-' to specify stdin
...
The spirv-to-c-array.py script assembles a SPIR-V module,
then disassembles it, capturing that text, then re-assembles
that text, providing it on stdin. But this last invocation of
spirv-as must use '-' to specify that the text input appears
on stdin.
Currently it always errors out, complaining that there must
be exactly one input file.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35691 >
2025-06-23 21:24:56 +00:00
Dave Airlie
29c599ffea
anv: only expose VK_KHR_cooperative_matrix on devices with hw instructions.
...
Currently anv exposes this on lots of devices, with the intent to be better
than apps can give, but I think this is wrong for a couple of reasons.
Apps want to know if hw exposes the fast path, Vulkan is meant to be explicit,
and telling llama.cpp if the fast path exists lets it make smarter decisions.
It seems unless someone heavily optimises the slow path, that CPU is usually
faster than GPU with llama-bench unless the hw path exists.
v2: added INTEL_LOWER_DPAS support
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35564 >
2025-06-23 21:06:51 +00:00
Konstantin Seurer
4cbbdc0a50
vulkan: Pass a structure to most BVH build callbacks
...
It is annoying to change all function signatures when a driver needs
more information. There are also some callbacks that have a lot of
parameters and there have already been bugs related to that.
This patch tries to clean the interface by adding a struct that contains
all information that might be relevant for the driver and passing that
to most callbacks.
radv changes are:
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
anv changes are:
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
turnip changes are:
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
vulkan runtime changes are:
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35385 >
2025-06-23 20:43:43 +00:00
Konstantin Seurer
a73824a59d
vulkan: Remove bvh_state::leaf_node_size
...
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35385 >
2025-06-23 20:43:43 +00:00
Konstantin Seurer
28713789ad
vulkan: Replace get_*_key with get_build_config
...
It is a cleaner API and gives more control about the build to the
driver.
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35385 >
2025-06-23 20:43:43 +00:00
Konstantin Seurer
37869a9bc2
vulkan: Move the build options to the accel struct header
...
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35385 >
2025-06-23 20:43:42 +00:00
Konstantin Seurer
6cae6e8708
vulkan: Allow reserving scratch memory for encode passes
...
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35385 >
2025-06-23 20:43:42 +00:00
Alyssa Rosenzweig
f336b4d1dd
hk: enable snorm rendering
...
now that blending works.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35519 >
2025-06-23 19:38:27 +00:00
Alyssa Rosenzweig
d37bf148d2
nir/lower_blend: fix snorm factor clamping
...
The spec says (emphasis mine):
If the color attachment is fixed-point, the components of the source and
destination values **AND BLEND FACTORS** are each clamped to [0,1] or [-1,1]
respectively for an unsigned normalized or signed normalized color attachment
prior to evaluating the blend operations. If the color attachment is
floating-point, no clamping occurs.
However, neither the CTS nor any hardware implement this semantic.
For unsigned normalized formats, the definitions are roughly equivalent (except
perhaps around constant colours). 0 <= x <= 1 implies that 0 <= 1 - x <= 1.
Therefore if the source/destination colours are clamped to [0, 1], then their
complements are also in [0, 1], so clamping any blend factor (except constant
colour) has no effect if the source/dest were already clamped.
For signed normalized formats, however, this difference matters. -1 <= x <= 1
implies that 0 <= 1 - x <= 2... so to implement the spec text faithfully, we
would need to clamp again the complemented colour blend factors to return back
to signed normalized range. Software blending implementations can of course do
that... but doing so causes CTS fails, as the CTS reference renderer does not do
this.
This commit adjusts nir_lower_blend to match what actual hardware does, what CTS
requires, and what the spec should have said.
See https://gitlab.khronos.org/vulkan/vulkan/-/issues/4293 for the spec
resolution.
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/35519 >
2025-06-23 19:38:27 +00:00
Yiwei Zhang
09d6427c13
docs/venus: keep requirements up to date
...
Reviewed-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35680 >
2025-06-23 19:16:34 +00:00
Yiwei Zhang
a441470315
docs/venus: drop Virtio-WL section
...
virtio-gpu cross-domain context supersedes the downstream virtio-wl.
However, there's no compositor working well with cross-domain context
yet (sommelier from ChromeOS only works robustly with virtio-wl while
being pretty broken with cross-domain). So let's just drop the legacy
piece to avoid confusions.
Reviewed-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35680 >
2025-06-23 19:16:34 +00:00
José Roberto de Souza
bdd20457ed
anv: Emit STATE_COMPUTE_MODE before COMPUTE_WALKER when new async compute limits are needed
...
Cc: stable
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35563 >
2025-06-23 18:57:25 +00:00
José Roberto de Souza
b37747ce68
blorp: Emit STATE_COMPUTE_MODE before COMPUTE_WALKER
...
Cc: stable
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35563 >
2025-06-23 18:57:25 +00:00
José Roberto de Souza
52bd6fae0e
iris: Emit STATE_COMPUTE_MODE before COMPUTE_WALKER when new async compute limits are needed
...
Cc: stable
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35563 >
2025-06-23 18:57:25 +00:00
José Roberto de Souza
59d361043e
intel/common: Use as much as possible spec recommended values for compute engine async thread limits
...
Spec recommended values should give us a good balance between progress
in render and compute engines, also with less possibility of values
it will reduce the number of times that we need to emit
STATE_COMPUTE_MODE reducing the number of stalls in the compute engine.
Cc: stable
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35563 >
2025-06-23 18:57:25 +00:00
José Roberto de Souza
080b9a165c
intel/common: Add function to compute optimal compute engine async thread limits
...
Spec has several restrictions to the values we program to compute
engine async thread limits.
Without those we risk hit deadlocks, so here adding a function to
return the optimal value based on those restrictions.
Cc: stable
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35563 >
2025-06-23 18:57:24 +00:00
Emma Anholt
61ceaed48c
tu: Block ib2 skipping for pre-final subpass resolves.
...
Fixes a TODO I noticed along the way in this MR.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17943 >
2025-06-23 18:40:41 +00:00
Emma Anholt
37ce9a7a61
turnip: Share gmem allocations between attachments.
...
If attachments are used in separate subpasses, then we can store them in
the same GMEM area. That gives us more space per attachment and thus
larger tile sizes. For gfxbench vk-5-normal's main renderpass it goes
from 128x128 to 160x128, improving perf by 2.125% +/- 0.194356% (n=4)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17943 >
2025-06-23 18:40:41 +00:00
Emma Anholt
ba9d0ba9a0
turnip: Emit tile stores at subpass end time.
...
This can reduce the subpass live range of attachments, for future gmem
attachment space sharing.
We have to disable IB2 skipping when the subpass isn't the last, but being
able to reuse the gmem space by storing early ends up paying off (in the
next commit).
Fixes : #5181
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17943 >
2025-06-23 18:40:41 +00:00
Emma Anholt
33f3e6255d
turnip: Move end-of-subpass resolves to a helper function.
...
Deduplicates a bit of attachment walking code, and drops a note about
something that's not right with how we're doing things.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17943 >
2025-06-23 18:40:40 +00:00
Emma Anholt
2b0e6f42de
turnip: Fix subpass depth/stencil change detection.
...
Subpass had a postfix increment, not prefix, so last_subpass was the same
as subpass.
Fixes: 550975f229 ("turnip: Don't disable LRZ in subpasses after the first in the easy case.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17943 >
2025-06-23 18:40:40 +00:00
Emma Anholt
d0d3797a4d
freedreno/a2xx: Share the shader state create/delete functions.
...
They were almost exactly the same.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8431 >
2025-06-23 18:24:00 +00:00
Emma Anholt
3178b9f4d1
freedreno/a2xx: Dump the intrinsic name instead of a number when compile failing.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8431 >
2025-06-23 18:24:00 +00:00
Emma Anholt
5a3300f4a3
freedreno/a2xx: Disable interpolated input intrinsics.
...
We never wanted them, it appears to be a refactor bug.
Fixes: 25d4943481 ("nir: make use_interpolated_input_intrinsics a nir_lower_io parameter")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8431 >
2025-06-23 18:24:00 +00:00
Emma Anholt
58187a98c7
ir3: Enable NIR matrix reassociation.
...
We have to be careful about the placement of this to run after preamble,
otherwise you start executing more instructions in the case of uniform *
uniform * varying.
fossils on a730 (ANGLE affected):
Totals from 45 (0.09% of 50500) affected shaders:
Instrs: 6548 -> 6456 (-1.41%)
CodeSize: 14032 -> 13512 (-3.71%)
NOPs: 364 -> 476 (+30.77%)
MOVs: 91 -> 157 (+72.53%)
Full: 506 -> 508 (+0.40%)
(sy)-stall: 2691 -> 2507 (-6.84%)
Cat0: 411 -> 523 (+27.25%)
Cat1: 195 -> 261 (+33.85%)
Cat2: 1980 -> 1710 (-13.64%)
GL on a630 (mostly ANGLE, skia affected)
total instructions in shared programs: 11097572 -> 11096713 (<.01%)
instructions in affected programs: 43897 -> 43038 (-1.96%)
total nops in shared programs: 1549278 -> 1549333 (<.01%)
nops in affected programs: 4027 -> 4082 (1.37%)
total non-nops in shared programs: 9548294 -> 9547380 (<.01%)
non-nops in affected programs: 39625 -> 38711 (-2.31%)
total mov in shared programs: 290948 -> 290888 (-0.02%)
mov in affected programs: 3382 -> 3322 (-1.77%)
total dwords in shared programs: 21428802 -> 21426224 (-0.01%)
dwords in affected programs: 65354 -> 62776 (-3.94%)
total last-baryf in shared programs: 381845 -> 381784 (-0.02%)
last-baryf in affected programs: 278 -> 217 (-21.94%)
total last-helper in shared programs: 2613970 -> 2614334 (0.01%)
last-helper in affected programs: 31582 -> 31946 (1.15%)
total full in shared programs: 783901 -> 783989 (0.01%)
full in affected programs: 128 -> 216 (68.75%)
total cat0 in shared programs: 1722310 -> 1722365 (<.01%)
cat0 in affected programs: 4291 -> 4346 (1.28%)
total cat1 in shared programs: 478775 -> 478715 (-0.01%)
cat1 in affected programs: 3406 -> 3346 (-1.76%)
total cat2 in shared programs: 4245797 -> 4245335 (-0.01%)
cat2 in affected programs: 4148 -> 3686 (-11.14%)
total cat3 in shared programs: 4134879 -> 4134483 (<.01%)
cat3 in affected programs: 1971 -> 1575 (-20.09%)
total cat6 in shared programs: 167122 -> 167126 (<.01%)
cat6 in affected programs: 433 -> 437 (0.92%)
total sstall in shared programs: 633551 -> 633541 (<.01%)
sstall in affected programs: 47 -> 37 (-21.28%)
total (ss) in shared programs: 188548 -> 187926 (-0.33%)
(ss) in affected programs: 1320 -> 698 (-47.12%)
total systall in shared programs: 1632601 -> 1632496 (<.01%)
systall in affected programs: 14152 -> 14047 (-0.74%)
total (sy) in shared programs: 90995 -> 91000 (<.01%)
(sy) in affected programs: 394 -> 399 (1.27%)
total waves in shared programs: 1530906 -> 1530892 (<.01%)
waves in affected programs: 38 -> 24 (-36.84%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35622 >
2025-06-23 17:49:51 +00:00
Emma Anholt
bc8994cb48
nir: Add a pass to reassociate multiplication of mat*mat*vec.
...
The typical case of mat4*mat4*vec4 is 80 scalar multiplications, but
mat4*(mat4*vec4) is only 32.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35622 >
2025-06-23 17:49:51 +00:00
Timothy Arceri
21ea8c205f
nir: raise NIR_SEARCH_MAX_VARIABLES limit to 24
...
This is required to process the pattern in the following patch.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35622 >
2025-06-23 17:49:51 +00:00
Brian Paul
a5b36600d8
svga: assorted code clean-ups in svga drm code
...
Fix whitespace/formatting. Remove trailing whitespace. Replace
tabs with spaces. No functional change.
Signed-off-by: Brian Paul <brian.paul@broadcom.com >
Reviewed-by: Neha Bhende <neha.bhende@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35663 >
2025-06-23 17:33:18 +00:00
Pohsiang (John) Hsu
d7d31708fa
d3d12: fix failure when building with v1.717.0-preview and running on Windows 11 without Agility Pack
...
remove wrong #else statment preventing falling back to old interface.
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35690 >
2025-06-23 17:18:55 +00:00
Eric Engestrom
2ae9b2ce43
r300/ci: update expectations and document recent flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35693 >
2025-06-23 16:58:19 +00:00
Eric Engestrom
63e1fbd891
zink/ci: document recent flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35693 >
2025-06-23 16:58:19 +00:00
Eric Engestrom
5848e3a894
broadcom/ci: document recent flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35693 >
2025-06-23 16:58:19 +00:00
Eric Engestrom
4052348d09
radv/ci: document recent flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35693 >
2025-06-23 16:58:19 +00:00
Eric Engestrom
8fa443b3a8
radeonsi/ci: document recent flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35693 >
2025-06-23 16:58:19 +00:00
Eric Engestrom
8553cfe125
lavapipe/ci: document recent flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35693 >
2025-06-23 16:58:19 +00:00
Eric Engestrom
6eacb756de
lavapipe/ci: remove duplicate flakes line
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35693 >
2025-06-23 16:58:19 +00:00
Eric Engestrom
3a58b84033
lavapipe/ci: fix flakes regex
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35693 >
2025-06-23 16:58:18 +00:00
Guilherme Gallo
969bb7bd70
ci/android: Use structured tag for Android CTS version
...
Structured tagging ensures that we are building and testing the current
component version specified in the commit by matching the checksum of
the related build script file.
In this case, it is worthy to isolate the Android CTS version part,
because we don't need to rebuild the entire test-android container when
we change the CTS version or the CTS modules filtering.
PS: actually the new file `build-android-cts.sh` is not building
anything, it is just downloads, filters, compress and reupload the
stripped version to S3. The `build-` prefix is to make it work
transparently with `bin/ci/update_tag.py` script.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35596 >
2025-06-23 15:22:45 +00:00
Guilherme Gallo
b26ad1783d
ci/android: Disable zipbomb detection for CTS
...
The CTS is almost 9GB, when we unzip it locally (on Fedora 41 at least)
it is partially extracted because it is falsely detected as a zipbomb.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35596 >
2025-06-23 15:22:45 +00:00
Guilherme Gallo
e9a1e22d6c
ci/android: Store stripped CTS on S3
...
The CTS has almost 9GB atm, which takes almost 20 minutes to download
it. Moreover, it is stripped down after that, so we don't need the entire
file anyway.
So let's move this artifact to S3 in a similar way that we do with
fluster vectors.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35596 >
2025-06-23 15:22:44 +00:00
Faith Ekstrand
261366cb11
nvk: Use nir_tex_get/steal_src in nvk_nir_lower_descriptors()
...
Our index manipulation was only okay because of the order in which
spirv_to_nir constructs texture sources. It's better if we always
reference sources by type and not by index. Otherwise, we risk
screwing up indices when we remove a source.
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35623 >
2025-06-23 14:25:31 +00:00
Faith Ekstrand
bb4c5edda1
nir: Add more tex_src helpers
...
This adds a variant of nir_steal_tex_src() which is for derefs as well
as versions that just return the source without removing it.
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35623 >
2025-06-23 14:25:30 +00:00
Faith Ekstrand
2b40fa09f2
nir: Move nir_steal_tex_src() to nir.h
...
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35623 >
2025-06-23 14:25:30 +00:00
David Neto
bff2b1b947
mesa: flush stderr when dumping nir validation errors
...
When dumping nir validation errors, flush stderr before
calling abort. Otherwise the errors might not be emitted.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35665 >
2025-06-23 13:36:09 +00:00
Patrick Lerda
b986550b92
r600: enable AMD_framebuffer_multisample_advanced
...
This change was tested on rv770, palm, barts and cayman:
spec/amd_framebuffer_multisample_advanced/api-glcore: skip pass
spec/amd_framebuffer_multisample_advanced/api-gles3: skip pass
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Acked-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35429 >
2025-06-23 12:24:42 +00:00
Patrick Lerda
d27ed38d1a
r600: fix emit_image_load_or_atomic() snorm formats
...
The snorm formats are not compatible with the srf flag
which was set by the emit_image_load_or_atomic() function.
In this specific case, "use_const_fields" is not set which
implies that the format definition is local. The other
supported formats do not require the srf flag as well.
This change was tested on cypress, barts and cayman. Here are the tests fixed:
khr-gl4[2-6]/shader_image_load_store/basic-allformats-load: fail pass
khr-gl4[2-6]/shader_image_load_store/basic-alltargets-loadstorecs: fail pass
khr-gl4[5-6]/es_31_compatibility/shader_image_load_store/basic-allformats-loadstorecomputestage: fail pass
khr-gl4[5-6]/es_31_compatibility/shader_image_load_store/basic-alltargets-loadstorecs: fail pass
khr-gles31/core/shader_image_load_store/basic-allformats-loadstorecomputestage: fail pass
khr-gles31/core/shader_image_load_store/basic-alltargets-loadstorecs: fail pass
deqp-gles31/functional/image_load_store/2d/format_reinterpret/r32f_rgba8_snorm: fail pass
deqp-gles31/functional/image_load_store/2d/format_reinterpret/rgba8_rgba8_snorm: fail pass
deqp-gles31/functional/image_load_store/2d_array/format_reinterpret/r32f_rgba8_snorm: fail pass
deqp-gles31/functional/image_load_store/2d_array/format_reinterpret/rgba8_rgba8_snorm: fail pass
deqp-gles31/functional/image_load_store/3d/format_reinterpret/r32f_rgba8_snorm: fail pass
deqp-gles31/functional/image_load_store/3d/format_reinterpret/rgba8_rgba8_snorm: fail pass
deqp-gles31/functional/image_load_store/buffer/format_reinterpret/r32f_rgba8_snorm: fail pass
deqp-gles31/functional/image_load_store/buffer/format_reinterpret/rgba8_rgba8_snorm: fail pass
deqp-gles31/functional/image_load_store/cube/format_reinterpret/r32f_rgba8_snorm: fail pass
deqp-gles31/functional/image_load_store/cube/format_reinterpret/rgba8_rgba8_snorm: fail pass
Cc: mesa-stable
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35548 >
2025-06-23 12:11:07 +00:00
Patrick Lerda
e8fa3b4950
r600: make vertex r10g10b10a2_snorm conformant on palm and beyond
...
The mode r10g10b10a2_snorm processed as vertex on palm at the
hardware level doesn't follow the current standard. Indeed, the .w
component (2-bits) is not calculated as expected. The table below
describes the situation.
This change fixes this issue by adding three gpu instructions at
the vertex fetch shader stage. An equivalent C representation and
a gpu asm dump of the generated sequence are available below.
.w(2-bits) expected palm
0 0.0 0.000000
1 1.0 0.333333
2 -1.0 0.666667
3 -1.0 1.000000
w_out = (4.*w_in > 1. ? 1. : 4.*w_in) - (w_in > 0.5 ? 2. : 0.);
0002 00000008 A0080000 ALU 3 @16
0016 00000C02 A0000CC0 1 y: MOV*4_sat __.y, R2.w
0018 801F8C02 600004A0 w: SETGT*2 __.w, R2.w, 0.5
0020 839FC4FE 60400010 2 w: ADD R2.w, PV.y, -PV.w
Note: The rv770 and cypress don't need this correction. This is
definitely a hardware change between these gpus.
This change was tested on palm, barts and cayman. Here are the tests fixed:
spec/arb_vertex_type_2_10_10_10_rev/arb_vertex_type_2_10_10_10_rev-array_types: fail pass
deqp-gles3/functional/draw/random/124: fail pass
deqp-gles3/functional/vertex_arrays/single_attribute/normalize/int2_10_10_10/components4_quads1: fail pass
deqp-gles3/functional/vertex_arrays/single_attribute/normalize/int2_10_10_10/components4_quads256: fail pass
khr-gl43/vertex_attrib_binding/basic-input-case5: fail pass
khr-gl44/vertex_attrib_binding/basic-input-case5: fail pass
khr-gl45/vertex_attrib_binding/basic-input-case5: fail pass
Cc: mesa-stable
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32427 >
2025-06-23 11:56:11 +00:00
Patrick Lerda
f6df349a1a
r600: update the documentation of the extensions
...
This change updates the documentation of the extensions.
Here are the commits where these extensions were activated:
8348c9c84d "r600: enable ARB_gl_spirv": GL_ARB_gl_spirv GL_ARB_spirv_extensions
8a1ef5bd31 "r600: enable ARB_transform_feedback_overflow_query": GL_ARB_transform_feedback_overflow_query
6fab29d37e "r600: implement EXT_window_rectangles": GL_EXT_window_rectangles
769510f1cc "r600: implement EXT_shader_image_load_store": GL_EXT_shader_image_load_store
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35547 >
2025-06-23 11:40:52 +00:00
Bas Nieuwenhuizen
b53602ce71
radv: Use packed invocation ids for newer CDNA.
...
From inspection.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33963 >
2025-06-23 11:23:40 +00:00
Bas Nieuwenhuizen
9574089ea2
radv: Add CDNA register settings.
...
From inspection.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33963 >
2025-06-23 11:23:40 +00:00
Bas Nieuwenhuizen
098770ec51
radv: Don't init gfx preamble without gfx support.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33963 >
2025-06-23 11:23:40 +00:00
Bas Nieuwenhuizen
d2e69dc734
radv: Add support for not having gfx queues.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33963 >
2025-06-23 11:23:40 +00:00
Patrick Lerda
1a441ad5cb
r600: clamp to max_texel_buffer_elements
...
This change is inspired by the following updates: 74a172a448 ("radeonsi:
fix glTexBuffer max size handling") and 86cce0e677 ("panfrost: clamp
buffer-size to max-size").
The value of max_texel_buffer_elements is updated as well and synchronized
with radeonsi. The previous value was too high.
Note: the clamp is done on rv770 and cypress and the tests are failing. This
seems to be related to resinfo (textureSize()) which is not working properly
on these gpus.
This change was also tested on barts and cayman. Here are the tests fixed:
spec/arb_texture_buffer_object/texture-buffer-size-clamp/r8ui_texture_buffer_size_via_image: fail pass
spec/arb_texture_buffer_object/texture-buffer-size-clamp/r8ui_texture_buffer_size_via_sampler: fail pass
spec/arb_texture_buffer_object/texture-buffer-size-clamp/rg8ui_texture_buffer_size_via_image: skip pass
spec/arb_texture_buffer_object/texture-buffer-size-clamp/rg8ui_texture_buffer_size_via_sampler: skip pass
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35159 >
2025-06-23 11:07:46 +00:00
Patrick Lerda
1d03751801
r600: clean up and refactor texture_buffer_sampler_view()
...
The parameters width0 and height0 are not used anymore and
the function is prepared for the clamp update.
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35159 >
2025-06-23 11:07:45 +00:00
Danylo Piliaiev
af1465c36b
tu/perfetto: Ignore events with zero duration
...
Zero duration can only happen when tracepoints did not happen on GPU.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35657 >
2025-06-23 09:30:48 +00:00
Eric Engestrom
99e8d804bf
intel/compiler tests: fix variable type for getopt_long() return value
...
`getopt_long()` returns an `int`, not a `char`; putting the value in
a `char` before comparing it to `-1` was making the comparison always
fail, resulting in the invalid codepath taken that then fails with:
option `-' is invalid: ignored
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34756 >
2025-06-23 08:26:29 +00:00
Eric Engestrom
f545f9eed4
intel/compiler tests: fix "is there something after the options" check
...
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34756 >
2025-06-23 08:26:29 +00:00
Eric Engestrom
729922cdae
intel/compiler tests: fix path-to-string conversion
...
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34756 >
2025-06-23 08:26:29 +00:00
Eric Engestrom
de6ab1beda
intel/compiler tests: rewrite subprocess handling in run-test.py
...
`subprocess.Popen()` returns immediately, and the subprocess might not
have finished by the time `stdout` is read on the next line, spuriously
failing the tests.
`subprocess.check_output()` makes sure the output is available before
returning, solving this issue; it additionally raises an error if the
subprocess failed, giving a better error than a failed diff later in the
script.
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34756 >
2025-06-23 08:26:29 +00:00
Georg Lehmann
60796c85d1
radv: expose VK_EXT_shader_float8
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35434 >
2025-06-23 07:59:27 +00:00
Georg Lehmann
cbd17cb4d6
radv/nir/lower_cmat: handle float8 conversions
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35434 >
2025-06-23 07:59:27 +00:00
Georg Lehmann
c7a6b3318e
radv: vectorize float8 conversions
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35434 >
2025-06-23 07:59:27 +00:00
Georg Lehmann
001cd632ee
aco: select float8 to fp32 conversions
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35434 >
2025-06-23 07:59:27 +00:00
Georg Lehmann
19ca4be6b0
aco/isel: fix get_alu_src with 8bit vec2 source
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35434 >
2025-06-23 07:59:27 +00:00
Georg Lehmann
f047a67fba
nir,aco: optimize FP16_OFVL pattern created by vkd3d-proton
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35434 >
2025-06-23 07:59:27 +00:00
Georg Lehmann
9e6adcbca0
aco: select fp32 to float8 conversions
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35434 >
2025-06-23 07:59:26 +00:00
Georg Lehmann
3a45802514
aco/lower_to_hw: support saturating fp8 conversions
...
Sadly amd only made this behavior controlable with global state.
We add a new pseudo opcode for this purpose and change FP16_OVFL
for each instruction. Ideally we would only do it once for clauses
and after ilp scheduling, but this can be improved in the future.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35434 >
2025-06-23 07:59:25 +00:00
Georg Lehmann
65650cfef8
aco: emit float8 wmma
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35434 >
2025-06-23 07:59:25 +00:00
Georg Lehmann
a1b88fcd8c
spirv: support float8 capabilities
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35434 >
2025-06-23 07:59:25 +00:00
Georg Lehmann
51d3c4c889
spirv: support float8 spec constant op
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35434 >
2025-06-23 07:59:25 +00:00
Georg Lehmann
55b2f4958f
spirv: create float8 types
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35434 >
2025-06-23 07:59:25 +00:00
Georg Lehmann
e19ccb00f2
spirv: support float8 conversions
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35434 >
2025-06-23 07:59:24 +00:00
Georg Lehmann
30ec9ed1cf
spirv,nir: emit saturating float8 cmat convert
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35434 >
2025-06-23 07:59:24 +00:00
Georg Lehmann
d0ac1cfb0d
spirv: vtn_has_decoration helper
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35434 >
2025-06-23 07:59:24 +00:00
Georg Lehmann
5addbf63f9
nir: add float8 conversion opcodes
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35434 >
2025-06-23 07:59:24 +00:00
Georg Lehmann
2237c022a2
util: add float8 conversion functions
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35434 >
2025-06-23 07:59:24 +00:00
Georg Lehmann
9da23499ff
compiler: add float8 glsl types
...
e4m3fn: 8bit floating point format with 4bit exponent, 3bit mantissa
and no infinities (finite only)
e5m2: 8bit floating point format with 5bit exponent, 2bit mantissa
and with infinities.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35434 >
2025-06-23 07:59:24 +00:00
Mauro Rossi
28f7bb2418
radv: Fix gnu-empty-initializer error
...
Fixes the following builing error happening with clang:
../src/amd/vulkan/radv_pipeline.c:817:29: error: use of GNU empty initializer extension [-Werror,-Wgnu-empty-initializer]
struct amd_stats stats = {};
^
1 error generated.
Fixes: 325dfd80 ("radv,aco: switch to shader statistics framework")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35677 >
2025-06-23 07:09:09 +00:00
Samuel Pitoiset
2754915f07
mr-label-maker.yml: remove remaining osmesa occurrences
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35638 >
2025-06-23 06:42:50 +00:00
Samuel Pitoiset
34b8aeec41
meson: remove unused osmesa option
...
Looks like this was forgot during the removal.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35638 >
2025-06-23 06:42:50 +00:00
Lionel Landwerlin
4e25a4ce1e
intel/ci: document a couple of vkd3d failures
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35679 >
2025-06-23 05:45:25 +00:00
Lionel Landwerlin
786bace191
anv: fix sampler hashing in set layouts
...
The logic needs to handle embedded samplers without conversion state.
Fixes vkd3d-proton's test_sampler_border_color
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35679 >
2025-06-23 05:45:25 +00:00
Lionel Landwerlin
32b53a7c6a
anv: fix clears on single aspect of YCbCr images
...
Fixes vkd3d-proton's test_planar_video_formats
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35679 >
2025-06-23 05:45:25 +00:00
Lionel Landwerlin
691ac65000
isl: handle DISABLE_AUX in get_mcs_surf
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35679 >
2025-06-23 05:45:24 +00:00
Yiwei Zhang
2d3f64bf97
venus: use common vk_android_get_front_buffer_usage helper
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35568 >
2025-06-23 00:46:43 +00:00
Yiwei Zhang
61a90a154d
v3dv: use common vk_android_get_front_buffer_usage helper
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35568 >
2025-06-23 00:46:42 +00:00
Yiwei Zhang
64326d0be5
anv: use common vk_android_get_front_buffer_usage helper
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35568 >
2025-06-23 00:46:42 +00:00
Yiwei Zhang
6ea894a809
vulkan/android: add a helper to easy front buffer usage query
...
When front buffer rendering is supported, the returned usage bit is
non-zero. Return zero for all other cases including uninitialized
gralloc.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35568 >
2025-06-23 00:46:42 +00:00
Emma Anholt
cf17230e54
ci/tu: Fix a typo in the flakes list, add a couple more tess/gs flakes.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35675 >
2025-06-22 15:09:33 +00:00
Rohan Garg
e103afe7be
brw: run the nir_opt_offsets pass and set the maximum offset size
...
Perf A/B testing on DG2: no changes
Perf A/B testing on BMG: +2.1% Blackops3, +1.5% Cyberpunk
DG2 stats (mostly insignificant):
Assassins Creed Valhalla:
Totals from 1169 (55.67% of 2100) affected shaders:
Instrs: 509237 -> 509215 (-0.00%)
Cycle count: 30614325 -> 30607419 (-0.02%); split: -0.03%, +0.00%
Non SSA regs after NIR: 83434 -> 85909 (+2.97%)
Blackops 3:
Totals from 1045 (64.63% of 1617) affected shaders:
Instrs: 527312 -> 527310 (-0.00%)
Cycle count: 496912222 -> 496902846 (-0.00%); split: -0.00%, +0.00%
Non SSA regs after NIR: 106883 -> 109095 (+2.07%)
Cyberpunk:
Totals from 706 (56.03% of 1260) affected shaders:
Instrs: 345976 -> 345974 (-0.00%); split: -0.00%, +0.00%
Cycle count: 9775138 -> 9775472 (+0.00%); split: -0.00%, +0.00%
Max live registers: 40295 -> 40297 (+0.00%)
Non SSA regs after NIR: 93245 -> 94718 (+1.58%)
Fortnite:
Totals from 4210 (55.98% of 7521) affected shaders:
Instrs: 2205471 -> 2205469 (-0.00%)
Cycle count: 91451040 -> 91450956 (-0.00%); split: -0.00%, +0.00%
Non SSA regs after NIR: 952354 -> 961664 (+0.98%)
LNL stats (notable changes):
Assassins Creed Valhalla:
Totals from 1684 (83.57% of 2015) affected shaders:
Instrs: 774305 -> 764501 (-1.27%); split: -1.27%, +0.01%
Cycle count: 58845842 -> 58699250 (-0.25%); split: -0.98%, +0.73%
Spill count: 625 -> 638 (+2.08%)
Fill count: 1490 -> 1503 (+0.87%)
Scratch Memory Size: 41984 -> 44032 (+4.88%)
Max live registers: 196424 -> 197561 (+0.58%); split: -0.10%, +0.68%
Blackops 3:
Totals from 1125 (76.53% of 1470) affected shaders:
Instrs: 781749 -> 773275 (-1.08%); split: -1.08%, +0.00%
Subgroup size: 22896 -> 22912 (+0.07%)
Cycle count: 659864454 -> 654641032 (-0.79%); split: -1.10%, +0.31%
Max live registers: 116772 -> 116854 (+0.07%); split: -0.01%, +0.08%
Non SSA regs after NIR: 172648 -> 168260 (-2.54%); split: -2.55%, +0.01%
Control:
Totals from 378 (51.50% of 734) affected shaders:
Instrs: 148184 -> 147544 (-0.43%)
Cycle count: 6905200 -> 6913366 (+0.12%); split: -0.30%, +0.42%
Max live registers: 41271 -> 41281 (+0.02%)
Non SSA regs after NIR: 44964 -> 43868 (-2.44%); split: -2.45%, +0.01%
Cyberpunk:
Totals from 1141 (92.46% of 1234) affected shaders:
Instrs: 636744 -> 629333 (-1.16%)
Subgroup size: 24256 -> 24272 (+0.07%)
Cycle count: 24952258 -> 24801298 (-0.60%); split: -1.39%, +0.78%
Max live registers: 125848 -> 126855 (+0.80%); split: -0.00%, +0.80%
Non SSA regs after NIR: 127399 -> 119837 (-5.94%); split: -5.95%, +0.02%
Fortnite:
Totals from 5497 (83.52% of 6582) affected shaders:
Instrs: 4072831 -> 4041852 (-0.76%); split: -0.77%, +0.01%
Subgroup size: 103296 -> 103312 (+0.02%)
Cycle count: 133046874 -> 132789242 (-0.19%); split: -0.67%, +0.48%
Spill count: 7218 -> 7254 (+0.50%); split: -0.33%, +0.83%
Fill count: 11724 -> 11749 (+0.21%); split: -0.34%, +0.55%
Scratch Memory Size: 591872 -> 599040 (+1.21%)
Max live registers: 816530 -> 818522 (+0.24%); split: -0.01%, +0.26%
Non SSA regs after NIR: 1610296 -> 1560284 (-3.11%); split: -3.11%, +0.00%
Hitman3:
Totals from 4713 (92.39% of 5101) affected shaders:
Instrs: 2731598 -> 2698224 (-1.22%)
Cycle count: 186422098 -> 185472640 (-0.51%); split: -1.12%, +0.61%
Spill count: 3244 -> 3242 (-0.06%)
Fill count: 9937 -> 9933 (-0.04%)
Max live registers: 585035 -> 589801 (+0.81%); split: -0.00%, +0.82%
Non SSA regs after NIR: 347681 -> 324314 (-6.72%); split: -6.73%, +0.01%
Hogwarts Legacy:
Totals from 930 (59.81% of 1555) affected shaders:
Instrs: 464146 -> 459526 (-1.00%); split: -1.00%, +0.01%
Subgroup size: 19104 -> 19120 (+0.08%)
Cycle count: 24062460 -> 24078964 (+0.07%); split: -0.49%, +0.56%
Spill count: 2068 -> 1964 (-5.03%); split: -5.22%, +0.19%
Fill count: 2342 -> 2205 (-5.85%); split: -6.40%, +0.56%
Scratch Memory Size: 147456 -> 141312 (-4.17%)
Max live registers: 112384 -> 112787 (+0.36%); split: -0.08%, +0.44%
Non SSA regs after NIR: 80293 -> 79161 (-1.41%); split: -1.72%, +0.32%
Metro Exodus:
Totals from 29755 (78.62% of 37846) affected shaders:
Instrs: 11495578 -> 11492951 (-0.02%); split: -0.02%, +0.00%
Subgroup size: 644688 -> 644704 (+0.00%)
Cycle count: 301572068 -> 301548054 (-0.01%); split: -0.03%, +0.02%
Max live registers: 3369504 -> 3370454 (+0.03%); split: -0.00%, +0.03%
Non SSA regs after NIR: 2476561 -> 2396090 (-3.25%); split: -3.27%, +0.02%
Red Dead Redemption 2:
Totals from 4161 (78.61% of 5293) affected shaders:
Instrs: 2428782 -> 2409032 (-0.81%); split: -0.82%, +0.00%
Subgroup size: 85344 -> 85360 (+0.02%)
Cycle count: 8514984142 -> 8533415324 (+0.22%); split: -0.02%, +0.23%
Spill count: 4659 -> 4674 (+0.32%); split: -0.02%, +0.34%
Fill count: 11236 -> 11231 (-0.04%); split: -0.19%, +0.14%
Scratch Memory Size: 398336 -> 397312 (-0.26%)
Max live registers: 473946 -> 475798 (+0.39%); split: -0.08%, +0.47%
Non SSA regs after NIR: 616820 -> 567706 (-7.96%); split: -8.09%, +0.12%
Rise Of The Tomb Raider:
Totals from 68 (46.58% of 146) affected shaders:
Instrs: 28209 -> 27801 (-1.45%)
Subgroup size: 1584 -> 1600 (+1.01%)
Cycle count: 16182992 -> 16249364 (+0.41%); split: -0.97%, +1.38%
Max live registers: 7320 -> 7296 (-0.33%); split: -0.38%, +0.05%
Non SSA regs after NIR: 8438 -> 8207 (-2.74%); split: -2.82%, +0.08%
Spiderman Remastered:
Totals from 6403 (93.87% of 6821) affected shaders:
Instrs: 5662713 -> 5597949 (-1.14%); split: -1.28%, +0.14%
Cycle count: 282861519016 -> 279806958122 (-1.08%); split: -1.26%, +0.18%
Spill count: 61150 -> 60754 (-0.65%); split: -1.13%, +0.48%
Fill count: 162597 -> 163190 (+0.36%); split: -0.84%, +1.21%
Scratch Memory Size: 5834752 -> 5804032 (-0.53%); split: -0.70%, +0.18%
Max live registers: 901926 -> 903820 (+0.21%); split: -0.01%, +0.22%
Non SSA regs after NIR: 555053 -> 521016 (-6.13%); split: -6.14%, +0.01%
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35252 >
2025-06-22 10:55:24 +00:00
Rohan Garg
8a5e062e5e
brw: store the buffer offset for load/store intrinsics
...
This will later be encoded by the backend into the
LSC extended descriptor message.
Reworks:
* Sagar: Add nir_intrinsic_ssbo_atomic_swap
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35252 >
2025-06-22 10:55:24 +00:00
Rohan Garg
0186113640
brw: encode the offset into the message descriptor for Xe2
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35252 >
2025-06-22 10:55:24 +00:00
Rohan Garg
937d37f0b1
brw: introduce MEMORY_LOGICAL_ADDRESS_OFFSET to encode address offsets
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35252 >
2025-06-22 10:55:24 +00:00
Lionel Landwerlin
d5a58364b1
brw: add new helper for immediate integer register with type
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35252 >
2025-06-22 10:55:24 +00:00
Lionel Landwerlin
50dab62f57
nir/opt_offsets: add support for intel intrinsics
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35252 >
2025-06-22 10:55:23 +00:00
Lionel Landwerlin
16fca611d7
nir: add new intel ssbo intrinsics
...
Similar to ir3 ones, to optimize offsets in the backend.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35252 >
2025-06-22 10:55:23 +00:00
Lionel Landwerlin
ba119c73c6
intel: replace RANGE_BASE by BASE for uniform block loads
...
We're not currently using RANGE_BASE and we'll use BASE for offset
optimizations on Xe2+.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35252 >
2025-06-22 10:55:23 +00:00
Rohan Garg
909ec6ff1f
nir/lower_io: add io_offset support for more intrinsics
...
This will be used by upcoming changes in the intel compiler.
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35252 >
2025-06-22 10:55:22 +00:00
Lionel Landwerlin
098249ba66
brw: print descriptor & extended descriptors
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35252 >
2025-06-22 10:55:22 +00:00
Lionel Landwerlin
8ea124f877
nir/divergence: add missing intel intrinsics
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35252 >
2025-06-22 10:55:21 +00:00
Lionel Landwerlin
87ef9aabe9
intel: fix monitor build dependencies
...
Signed-off-by: Lionel Landwerlin <llandwerlin@gmail.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35252 >
2025-06-22 10:55:21 +00:00
Doug Nazar
c3980bb4ec
glx: Fix memory leak with software dri
...
dri_screen_init() now calls glx_screen_init() directly. Calling
twice overwrites the config.
Fixes: 7930fe5f01 ("glx: unify dri screen init")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35525 >
2025-06-21 23:47:13 +00:00
Lucas Stach
3387e9e8e9
Revert "etnaviv/ci: document new failure"
...
This reverts commit 757ad6a333 . This test has been flagged as failing
due to something that looks more like a runner issue than a real test
failure and it has been showing up as unexpected pass in later CI runs.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35671 >
2025-06-21 18:59:24 +00:00
Christian Gmeiner
74526442b2
etnaviv: nir: Use nir offset lowering
...
We can use the offset lowering for
- nir_texop_tex in vertex shader only
- nir_texop_txf
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35573 >
2025-06-21 17:09:17 +00:00
Lucas Stach
3a40d5a7bf
etnaviv: don't advertise anisotropic filtering on GPUs with NO_ANISTRO_FILTER
...
Anisotropic filtering is generally supported starting with halti0, but there
is a separate feature bit telling us that the filter is not available.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35666 >
2025-06-21 11:59:29 +00:00
Lucas Stach
4b424e9b86
etnaviv: use TX_SEAMLESS_CUBE to determine seamless cubemap support
...
I have no idea why the HWDB includes two distinct bits that seem to
relate to seamless cubemap support. However, the only cores where
both bits disagree are NPUs (which don't have any samplers) and the
GC880, which is currently special cased in the driver.
Use TX_SEAMLESS_CUBE to determine seamless cubemap support, which
seems to accurately reflect the real support status.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35666 >
2025-06-21 11:59:29 +00:00
Eric Engestrom
d31b0c9b3b
egl/meson: include glvnd in the devenv
...
This was working by accident in the case where `-D glvnd-vendor-name`
was not set, because `meson devenv` adds all the folders that produce
a lib to `LD_LIBRARY_PATH` and the system's glvnd's json was pointing
to the same filename as the build had, which ended up getting picked up.
This breaks when `-D glvnd-vendor-name` is set to any other value than
the one set by the distro packagers though, so let's set it up properly.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35652 >
2025-06-20 22:18:22 +00:00
Eric Engestrom
367fb5e233
egl/meson: allow passing a full path to the glvnd json file
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35652 >
2025-06-20 22:18:22 +00:00
Eric Engestrom
b952c1a26a
egl/meson: move glvnd config file after libEGL
...
Necessary for the next commit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35652 >
2025-06-20 22:18:21 +00:00
Eric Engestrom
2e8d14406f
egl/meson: reuse existing glvnd_vendor_name variable
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35652 >
2025-06-20 22:18:21 +00:00
Eric Engestrom
b5b49dcfd7
egl/meson: simplify glvnd json configuration
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35652 >
2025-06-20 22:18:20 +00:00
Eric Engestrom
413dbcdf79
meson: include VkLayer_MESA_overlay in the devenv
...
See https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderLayerInterface.md#linux-layer-discovery
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35650 >
2025-06-20 21:51:17 +00:00
Eric Engestrom
294d8ce80a
meson: include VkLayer_MESA_device_select in the devenv
...
See https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderLayerInterface.md#linux-layer-discovery
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35650 >
2025-06-20 21:51:17 +00:00
Eric Engestrom
6b11a53a3a
meson: include VkLayer_INTEL_nullhw in the devenv
...
See https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderLayerInterface.md#linux-layer-discovery
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35650 >
2025-06-20 21:51:17 +00:00
Alyssa Rosenzweig
43a47266c8
hk: merge adjacent CDM control streams
...
this reduces submission overhead in the kernel/firmware.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35662 >
2025-06-20 21:38:12 +00:00
Alyssa Rosenzweig
f7db4afd09
hk: use fast-clears for empty render passes
...
this generalizes our trivial VDM optimization.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35662 >
2025-06-20 21:38:12 +00:00
Alyssa Rosenzweig
9cdf486f14
hk: implement vkCmdClear*Image with fast-clears
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35662 >
2025-06-20 21:38:11 +00:00
Alyssa Rosenzweig
7120f86035
libagx: add fast-clear kernels
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35662 >
2025-06-20 21:38:11 +00:00
Alyssa Rosenzweig
908d12d346
libagx: export coordinate twiddle routine
...
we'll use for both image atomics and fast-clears
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35662 >
2025-06-20 21:38:11 +00:00
Alyssa Rosenzweig
319a6259d9
libagx: add agx_2d grid helper
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35662 >
2025-06-20 21:38:11 +00:00
Alyssa Rosenzweig
349e802e78
ail,asahi,hk: distinguish logical vs allocation compression
...
the hw uses the wrong definition of compressability of mip levels in some
places, but not in others. we need to distinguish these for correct fast clears.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35662 >
2025-06-20 21:38:11 +00:00
Alyssa Rosenzweig
9740474021
ail: generalize solid mode values
...
this is blocksize dependenant, fill in the gaps.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35662 >
2025-06-20 21:38:11 +00:00
Alyssa Rosenzweig
cdb4463b52
asahi,hk: fix ts allocation for more shader types
...
3c5c3d7819 ("hk: fix texture state count"), part 2.
Backport-to: 25.1
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35662 >
2025-06-20 21:38:10 +00:00
Marek Olšák
d4b742f934
radeonsi: fix printing asm for the first shader of merged shaders for ACO
...
When we print asm for merged VS+TCS, we need to record asm for VS
even when only TCS is being printed because they are printed together.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35620 >
2025-06-20 21:21:27 +00:00
Marek Olšák
23c3646164
radeonsi: fix tess regression with latest LLVM git
...
The problem was that SGPRs returned from LS were treated as VGPRs by LLVM
because LS executes conditionally. The workaround is to use input SGPRs
initialized by the hw (i.e. parameters of the wrapper function) instead of
the ones returned by LS.
Fixes: 80236f2367 - ac/nir/tess: add if/endif for HS threads in NIR instead of ACO/LLVM
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35620 >
2025-06-20 21:21:27 +00:00
Eric Engestrom
b3ed7f7b63
radeonsi/ci: reduce coverage of radeonsi-vangogh-glcts
...
It currently takes 15min of test run time, which is higher than what
a merge-pipeline test is allowed.
Reduce it to 10min, and reduce the timeouts which were way too high.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35588 >
2025-06-20 20:24:59 +00:00
Eric Engestrom
fb8c2a6318
turnip/ci: document vkd3d regression
...
It started failing after a commit in the 2782fa2c...df55ea8c range.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35661 >
2025-06-20 20:08:57 +00:00
Emma Anholt
e9d75ce16b
ci/tu: Sync up a660's flakes with a618 where they seem to match up.
...
and generalize a couple more things into regexes. I noticed these after
enabling 660 flake reporting and starting to see them roll in on the CI
channel.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35659 >
2025-06-20 19:46:45 +00:00
Emma Anholt
8e22420187
ci/tu: Don't forget to report flakes on a660, too.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35659 >
2025-06-20 19:46:45 +00:00
Emma Anholt
2919d64d98
ci/tu: Add some recent flakes and consolidate lists into regexes.
...
I was going to stability test an MR, and for that I want the flakes list
to be truthful.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35659 >
2025-06-20 19:46:45 +00:00
Eric Engestrom
6addaca3d4
hasvk: only run tests on x86 (32 & 64 bit)
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13305
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35635 >
2025-06-20 19:32:18 +00:00
Danylo Piliaiev
9db945c3be
tu: Add info about usage to command buffers tracepoint
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35637 >
2025-06-20 19:15:44 +00:00
Danylo Piliaiev
9f74fcffe4
tu: Add MESA_TRACE_FUNC to submit and BO alloc paths
...
Makes much easier to see how slow are submits and BO allocs,
which sometimes happen together.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35637 >
2025-06-20 19:15:44 +00:00
Danylo Piliaiev
6e5944ec4b
tu: Cache copy timestamp cs to avoid allocations on submit
...
For non-ONE_TIME_SUBMIT command buffers we have to create CS that
copies u_trace timestamps. Having cs pool allows us to avoid
allocations in most cases.
Together with previous commit, BO allocations on submit would be
rare during normal u_trace tracing.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35637 >
2025-06-20 19:15:44 +00:00
Danylo Piliaiev
a1b9aa3385
tu: Suballocate u_trace buffers to avoid allocations on submit
...
For non-ONE_TIME_SUBMIT command buffers we have to copy tracepoints
which leads to BO allocations. That adds overhead we don't want,
especially when there are many tiny submissions.
While suballocator for u_trace BOs is allocated only when needed,
it's not deallocated afterwards, since the point where it's not needed
is tricky to determine.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35637 >
2025-06-20 19:15:44 +00:00
Alyssa Rosenzweig
8ec4337c1f
hk: drop psiz writes with !largePoints
...
affects geom/tess mostly.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35658 >
2025-06-20 18:46:16 +00:00
Alyssa Rosenzweig
691aa581c3
hk: optimize !largePoints
...
should slightly help proton
requires reordering the uvs lowering to be after tes lowering since that can
insert psiz writes.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35658 >
2025-06-20 18:46:16 +00:00
Alyssa Rosenzweig
9d7301b2d1
hk: disable custom border for proton
...
zoom.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35658 >
2025-06-20 18:46:16 +00:00
Alyssa Rosenzweig
ba4bab0584
hk: make border colour lint quieter
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35658 >
2025-06-20 18:46:16 +00:00
Alyssa Rosenzweig
81e005c18b
hk: don't give DXVK fake min/max
...
no games use this, we want to be demoted to fl11 for dxvk for perf anyway.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35658 >
2025-06-20 18:46:16 +00:00
Alyssa Rosenzweig
b68f34e1f9
hk: stop uploading blend constants
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35658 >
2025-06-20 18:46:15 +00:00
Alyssa Rosenzweig
34b8ef8f7e
hk: stop reserving pile of uniform regs for literally no reason
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35658 >
2025-06-20 18:46:15 +00:00
Alyssa Rosenzweig
8fb891334f
hk: make image heap / root uniform dynamic
...
so we don't have to worst case alloc without disrupting gl.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35658 >
2025-06-20 18:46:15 +00:00
Alyssa Rosenzweig
f64ba2d2dc
hk: don't advertise b4g4r4a4 format
...
it is optional and broken with opaque_black
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35658 >
2025-06-20 18:46:14 +00:00
Alyssa Rosenzweig
3afd675310
hk: use #defines for uniforms
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35658 >
2025-06-20 18:46:14 +00:00
Alyssa Rosenzweig
53bbd850f5
asahi: use #defines for uniforms
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35658 >
2025-06-20 18:46:14 +00:00
Alyssa Rosenzweig
c3b449ff98
asahi: use #defines for prologs/epilogs
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35658 >
2025-06-20 18:46:14 +00:00
Alyssa Rosenzweig
733dd3ba4e
asahi: clean up fs prolog pass
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35658 >
2025-06-20 18:46:14 +00:00
Alyssa Rosenzweig
c4b3f8cf74
agx: add headers for uniform abi
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35658 >
2025-06-20 18:46:14 +00:00
Alyssa Rosenzweig
5795c8595f
nir: model dynamic uniform layout on hk
...
add some new intrinsics so we can defer lowering until we have the information.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35658 >
2025-06-20 18:46:13 +00:00
Yiwei Zhang
7b81c5bb78
vulkan/android: clean up u_gralloc_get_buffer_color_info handling
...
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35613 >
2025-06-20 18:13:36 +00:00
Yiwei Zhang
072223c11d
egl/android: clean up u_gralloc_get_buffer_color_info handling
...
No longer need the defaults, and can properly bail on real errors. The
behavior change of chroma sitting has been mentioned in the prior
commit, and doesn't affect gallium side.
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35613 >
2025-06-20 18:13:36 +00:00
Yiwei Zhang
4b68ed990b
u_gralloc: assign default u_gralloc_buffer_color_info
...
Gralloc is the central piece to align defaults and expectations across
different APIs. Doing so simplifies client side handling. To be noted,
midpoint chroma location is preferred as the default to skip the chroma
lowering pass. The same has been suggested by all Vulkan drivers with
AHB implemented and practiced for years under venus.
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35613 >
2025-06-20 18:13:36 +00:00
Yiwei Zhang
64d18f84b0
u_gralloc/mapper4: fill u_gralloc_buffer_color_info properly
...
Clients are expecting the color info to be fully filled when the api
exists. Give proper defaults for the metadata to stay aligned with
legacy backends.
Also amend the missing ChromaSiting cases.
Fixes: ee42e2166d ("android: Introduce the Android buffer info abstraction")
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35613 >
2025-06-20 18:13:36 +00:00
Yiwei Zhang
0ac1e05f65
u_gralloc/mapper5: fill u_gralloc_buffer_color_info properly
...
Clients are expecting the color info to be fully filled when the api
exists. Give proper defaults for the metadata to stay aligned with
legacy backends.
Fixes: 122fd46b15 ("Android15 support gralloc IMapper5")
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35613 >
2025-06-20 18:13:36 +00:00
Karol Herbst
de1ce0f75e
rusticl: allow packagers to enable freedreno by default
...
The msm driver hasn't yet passed conformance, so it's not part of the
auto set at this point in time. But this will allow distribution to
enable it by default, if they find it suitable.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35618 >
2025-06-20 17:46:32 +00:00
Job Noorman
bc10c812d6
ir3/legalize: apply initial GS/TCS sync in legalize
...
When applying the sync flags after legalize, we might run into the issue
of the first instruction not supporting (ss)/(sy). We cannot insert a
nop at that point anymore since jump targets have already been
calculated. Fix this by applying the sync flags during legalize, where
all other sync flags are also applied.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35653 >
2025-06-20 17:23:46 +00:00
Job Noorman
e51fa32aac
ir3/legalize: propagate force_ss/sy across blocks
...
Just like the other sync state, we might need to apply this at the start
of successor blocks.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35653 >
2025-06-20 17:23:46 +00:00
Job Noorman
a5355b5ffd
ir3/legalize: don't force (ss) after predt
...
This isn't necessary and since predt is a terminator and we (mistakenly)
didn't propagate force_ss across blocks, it wasn't actually applied.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35653 >
2025-06-20 17:23:46 +00:00
Mike Blumenkrantz
2e071cc66c
zink: actually use GENERAL image barrier functions
...
and fix a bunch of issues there
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35476 >
2025-06-20 17:08:32 +00:00
Mike Blumenkrantz
5c2344b6a6
zink: mimic buffer transfer dst noop barrier semantics with images
...
this should better guarantee sync with GENERAL
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35476 >
2025-06-20 17:08:32 +00:00
Mike Blumenkrantz
bbac75acd3
zink: always unset unordered access flags when executing an ordered barrier
...
this otherwise confuses the calculator
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35476 >
2025-06-20 17:08:31 +00:00
Mike Blumenkrantz
ea45f89ebe
zink: always pass through src access flags for buffer barriers
...
this is more accurate and avoids mixing/matching flags from different cmdbufs
probably won't affect anything at this exact moment
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35476 >
2025-06-20 17:08:31 +00:00
Mike Blumenkrantz
cb026adc4c
zink: don't use TRANSFER bit as default pipeline stage if no access is set
...
should be TOP_OF_PIPE
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35476 >
2025-06-20 17:08:31 +00:00
Mike Blumenkrantz
5ff573d534
zink: skip sampler layout updates when using GENERAL layouts
...
these are always GENERAL
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35476 >
2025-06-20 17:08:30 +00:00
Mike Blumenkrantz
06be46c7a0
zink: add another aggressive sampler barrier after sequential image copies
...
this should better handle pipelined texture uploads
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35476 >
2025-06-20 17:08:30 +00:00
Mike Blumenkrantz
e5d1547f08
zink: break out the fb unbind sampler barrier
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35476 >
2025-06-20 17:08:30 +00:00
Mike Blumenkrantz
d8c1fdb644
zink: fix GENERAL image copy box resets on non-transfer barrier
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35476 >
2025-06-20 17:08:30 +00:00
Mike Blumenkrantz
43def9716b
zink: use GENERAL layout in zink_copy_image_buffer when possible
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35476 >
2025-06-20 17:08:30 +00:00
Mike Blumenkrantz
4f329fdc61
zink: local screen variable in zink_copy_image_buffer
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35476 >
2025-06-20 17:08:30 +00:00
Mike Blumenkrantz
d30008124d
zink: fix image transfer op batching with GENERAL layouts
...
this depends on the access, not the layout
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35476 >
2025-06-20 17:08:30 +00:00
Mike Blumenkrantz
3d073bb0b3
zink: delete barrier sync flag inferring
...
these are all explicit now
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35476 >
2025-06-20 17:08:30 +00:00
Mike Blumenkrantz
5f22d3f174
zink: fill in sync flags for a couple barriers
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35476 >
2025-06-20 17:08:30 +00:00
Mike Blumenkrantz
4483c6195d
zink: put back the sampler barrier on fb unbind with GENERAL layouts
...
this is actually critical to avoid splitting renderpasses regardless of
the layout being used
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35476 >
2025-06-20 17:08:30 +00:00
Yiwei Zhang
41d241bf6e
radv: relax the native_handle_t::numFds requirement
...
For modern gralloc impl, usually there's other fds appended in the
native_handle_t for gralloc buffer metadata sharing. So numFds can be
greater than 1, while the common agreement is still that the format
plane handles being placed at the beginning in the lack of a standard
format plane fd metadata query mapper api.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13163
Cc: mesa-stable
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35038 >
2025-06-20 16:51:18 +00:00
Alyssa Rosenzweig
b0f8c22682
nir/opt_sink: sink agx backfacing
...
helps an elden ring shader:
Totals from 1 (0.03% of 3206) affected shaders:
Instrs: 4146 -> 4141 (-0.12%)
CodeSize: 27374 -> 27334 (-0.15%)
ALU: 2554 -> 2549 (-0.20%)
FSCIB: 2554 -> 2549 (-0.20%)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35559 >
2025-06-20 16:09:28 +00:00
Alyssa Rosenzweig
3eeba6efdd
nir/opt_preamble: hoist reorderable SSBO loads on AGX
...
basically asahi version of 2f93137308 ("nir/opt_preamble: Handle
load_global_ir3"). elden ring:
Totals from 2409 (75.14% of 3206) affected shaders:
MaxWaves: 2068416 -> 2081984 (+0.66%); split: +0.74%, -0.08%
Instrs: 2439078 -> 1849792 (-24.16%)
CodeSize: 15570886 -> 12196612 (-21.67%)
Spills: 11623 -> 11678 (+0.47%); split: -0.63%, +1.10%
Fills: 9815 -> 9762 (-0.54%); split: -1.37%, +0.83%
Scratch: 31200 -> 31328 (+0.41%); split: -0.23%, +0.64%
ALU: 1154256 -> 1038680 (-10.01%); split: -10.22%, +0.21%
FSCIB: 1154256 -> 1038479 (-10.03%); split: -10.24%, +0.21%
IC: 248318 -> 237344 (-4.42%); split: -4.47%, +0.05%
GPRs: 266323 -> 254621 (-4.39%); split: -4.72%, +0.33%
Uniforms: 639557 -> 794085 (+24.16%); split: -0.07%, +24.23%
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reacted-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35559 >
2025-06-20 16:09:28 +00:00
Christoph Neuhauser
e99446fc5e
egl: Add EGL_EXT_device_query_name and EGL_EXT_device_persistent_id
...
Adds support for the EGL extensions EGL_EXT_device_query_name and
EGL_EXT_device_persistent_id. This enables querying device name, vendor
name, renderer name and device and driver UUIDs.
Signed-off-by: Christoph Neuhauser <christoph.neuhauser@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34958 >
2025-06-20 15:35:44 +00:00
Karol Herbst
ee7536a1e3
radeonsi: implement SVM interfaces
...
Acked-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35175 >
2025-06-20 15:10:42 +00:00
Karol Herbst
a107041112
radeonsi: implement resource_get_address
...
Acked-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35175 >
2025-06-20 15:10:42 +00:00
Karol Herbst
a1b8c6c404
radeosi: assert addresses are not NULL in a couple of places
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35175 >
2025-06-20 15:10:42 +00:00
Mike Blumenkrantz
d2d98abf1d
gallium: add compressed_surface_reinterpret_blocks_layered
...
this affects piglit/bin/ext_texture_array-compressed teximage pbo -auto -fbo
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6891
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35612 >
2025-06-20 14:47:25 +00:00
Valentine Burley
f39240b98f
panvk/ci: Increase DEQP_FRACTION for g610-vk
...
Adjust the fraction of the panfrost-g610-vk:arm64 job, which has
been taking longer than the recommended 10 minutes of testing.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35438 >
2025-06-20 14:05:06 +00:00
Nanley Chery
42ef23ecd1
intel/blorp: Don't redescribe some Tile64 clears
...
We don't support redescribing Tile64 and 3D due to interleaved depth
planes.
Fixes: 312952048b ("intel/blorp: Redescribe gfx12.5 surfaces for CCS fast clears")
Tested-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35619 >
2025-06-20 13:39:20 +00:00
John Anthony
cce2fa9af6
panvk: report the maximum supported size for a variable count iub
...
If VkDescriptorSetVariableDescriptorCountLayoutSupport is passed to
vkGetDescriptorSetLayoutSupport, we should report the maximum size in
bytes for inline uniform blocks.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Fixes: 5fe5e317 ("panvk: advertise descriptor indexing on valhall")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35545 >
2025-06-20 13:14:34 +00:00
John Anthony
1b309e77fc
panvk: handle 0 count for vdc when checking if layout is supported
...
A binding with variable descriptor count should be counted when checking
if a descriptor set layout is supported, even if it has a count of zero.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Fixes: 5fe5e317 ("panvk: advertise descriptor indexing on valhall")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35545 >
2025-06-20 13:14:34 +00:00
John Anthony
5023feb0f7
panvk: count iubs correctly when checking if layout is supported
...
For inline uniform blocks, the descriptor count given in the binding is
a byte size. Convert the size into a descriptor count and use that when
checking if a descriptor set layout is supported.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Fixes: 0440d1dd03 ("panvk: Advertise VK_EXT_inline_uniform_block")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35545 >
2025-06-20 13:14:34 +00:00
John Anthony
3e9dc4f777
panvk: use variable count when initializing iub buffer descriptor
...
Ensure we use the variable count to initialize the internal buffer
descriptor for variable count inline uniform block, if we have one.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Fixes: 5fe5e317 ("panvk: advertise descriptor indexing on valhall")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35545 >
2025-06-20 13:14:33 +00:00
John Anthony
9719744d05
panvk: fix allocated size for sets with variable count iub
...
When allocating descriptor sets, ensure we correctly calculate the new
size if the last binding is an inline uniform block with a variable
count.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Fixes: 5fe5e317 ("panvk: advertise descriptor indexing on valhall")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35545 >
2025-06-20 13:14:33 +00:00
John Anthony
37a5e6562e
panvk: add panvk_get_iub_desc_count and panvk_get_iub_size
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35545 >
2025-06-20 13:14:33 +00:00
John Anthony
677153c642
panvk: fix maxInlineUniformTotalSize
...
maxInlineUniformTotalSize is derived from
MAX_INLINE_UNIFORM_BLOCK_DESCRIPTORS, but due to missing parenthesis
around the expression, the value calculated is incorrect.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Fixes: 0440d1dd03 ("panvk: Advertise VK_EXT_inline_uniform_block")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35545 >
2025-06-20 13:14:32 +00:00
Mary Guillemard
266b25a356
panvk/ci: Update Mali-G52 status with full VKCTS
...
New failures found with current main full run.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35639 >
2025-06-20 10:11:52 +00:00
Mary Guillemard
c3897b3a98
panvk: Fix dependency chain on indirect dispatch for JM
...
The copy job was missing a dependency on the indirect job causing issues
on various "dEQP-VK.synchronization.*indirect*" and
"dEQP-VK.synchronization2.*indirect*" tests.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Fixes: 8b4e515ca2 ("panvk: Implement indirect dispatch on JM")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35639 >
2025-06-20 10:11:52 +00:00
Mary Guillemard
e8137404b6
meson: make clz available in OpenCL code
...
for various math helpers.
the clzll version isn't available since long long is 128-bit for CL.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35639 >
2025-06-20 10:11:52 +00:00
Mary Guillemard
2c455c2d81
libcl: Add more UINT_MAX variants
...
Needed by panvk's minmax CL code.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35639 >
2025-06-20 10:11:52 +00:00
Mary Guillemard
276b65dbca
pan/clc: Lower IO as late as possible
...
We were assigning the scratch size of the whole lib... that was causing
very big TLS usage on draw indirect.
With this TLS usage is way lower now at the cost of running more pass
for every variants.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35639 >
2025-06-20 10:11:52 +00:00
Mary Guillemard
01c8ee5737
pan/clc: Use hash_format_strings option with nir_lower_printf
...
At some point CL C shader switched to a format hash approach and we
forgot to properly migrate here.
This should fix all printf again.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35639 >
2025-06-20 10:11:52 +00:00
Rhys Perry
325dfd809a
radv,aco: switch to shader statistics framework
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12756
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35583 >
2025-06-20 09:26:58 +00:00
Rhys Perry
2382d657ec
radv: use vk_outarray for pipeline statistics/executables
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35583 >
2025-06-20 09:26:58 +00:00
Rhys Perry
eb86717f4d
util/stats: add serialize helpers
...
These copy the stats with any padding zero'd.
The layout is the same as the C struct, so it's still usable as one, if
the alignment is correct.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35583 >
2025-06-20 09:26:58 +00:00
Rhys Perry
92eb0941d3
util/stats: fix XML type validation
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35583 >
2025-06-20 09:26:58 +00:00
Rhys Perry
ace17d0ea1
util/stats: use PRIdx/PRIux format constants
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35583 >
2025-06-20 09:26:58 +00:00
Rhys Perry
3625ed36b7
util/stats: fix signness of c types
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35583 >
2025-06-20 09:26:57 +00:00
Romaric Jodin
ae128624ab
panvk: fix typo in printf in bi_validate
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35641 >
2025-06-20 08:29:54 +00:00
Dave Airlie
d68a1fc0d4
radv/video: port hevc slice header encoding from radeonsi
...
The radeonsi code has been improved to handle reference lists
better, port the code to radv and vulkan API.
This has been updated to for Vulkan
Reviewed-by: David Rosca <david.rosca@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35628 >
2025-06-20 07:31:04 +00:00
Dave Airlie
f7d2939457
radv/video: add some missing hevc header bits
...
Reviewed-by: David Rosca <david.rosca@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35628 >
2025-06-20 07:31:04 +00:00
Samuel Pitoiset
5e2fcdfea2
radv/meta: add a helper to determine if clearing is a full rect
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35603 >
2025-06-20 06:36:19 +00:00
Samuel Pitoiset
525e73c045
ac/descriptors: configure {Z,STENCIL}_READ_ONLY for ds surfaces on GFX12+
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35603 >
2025-06-20 06:36:19 +00:00
Samuel Pitoiset
59dfa8c2f5
radv: switch to nir_intrinsic_load_input_attachment_coord
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35556 >
2025-06-20 06:12:24 +00:00
Rob Clark
df55ea8c51
freedreno/a6xx: Don't use 2d blit path for f16
...
This seems to canonicalize NaNs when the source format is a 16-bit
floating point format, likely because it implicitly converts to 32b.
Fixes OpenCL-CTS:
./test_basic imagearraycopy
./test_basic imagearraycopy3d
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35589 >
2025-06-20 00:10:47 +00:00
Rob Clark
86a8eda644
freedreno: Add custom f16 blit shader
...
To avoid canonicalizing NaNs for f16, we need to avoid promoting the
value to 32b.
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35589 >
2025-06-20 00:10:47 +00:00
Rob Clark
2adff20fde
util: Add a util_blitter_blit_with_txf() helper
...
If a driver is (or is contemplating) providing it's own fs_override then
it needs to know whether the blitter is going to use txf or not. So
split this logic out into a helper.
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35589 >
2025-06-20 00:10:47 +00:00
Rob Clark
9e07f38b91
util+tu: Add util_format_is_float16()
...
Extract out a helper to check for f16 formats from turnip so it can be
used elsewhere.
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35589 >
2025-06-20 00:10:47 +00:00
Valentine Burley
0273f1f504
ci/lava: Fix .lava-x86_64-test-android dependencies
...
Container jobs might not exist in mesa/mesa pipelines.
Fixes: c035454a3c ("ci/virtio: Add an Android Venus job on Intel Comet Lake")
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35646 >
2025-06-19 22:08:44 +00:00
Emma Anholt
eae86f455c
v3d: Stop advertising support for HW clip planes.
...
The GL frontend is perfectly good at lowering it like we do. Cuts out a
bunch of duplicate code.
We still have ucp_enables for the FS due to lowering of CLIPDIST to
discards in the FS.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8953 >
2025-06-19 21:44:55 +00:00
Emma Anholt
211e03d026
gallium: Remove the need for set_clip_state() on !PIPE_CAP_CLIP_PLANES.
...
More driver boilerplate we don't need. We do still have to go through the
transformation in st_atom_clip.c because the clip state can get used in
draw fallbacks. This revealed that lima had a dirty bit being set that
nobody was reading.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8953 >
2025-06-19 21:44:55 +00:00
Eric Anholt
a9b622bcca
vc4: Drop VS ucp lowering code.
...
The GL frontend handles it for us since c1442030ec ("vc4: lower clip
planes in st/mesa"). Now we should just be dropping the VS re-recompiles
we were doing, along with dead code.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8953 >
2025-06-19 21:44:55 +00:00
Job Noorman
899a179e8c
freedreno/decode: don't count alias regs for GPR stats
...
Alias regs don't actually consume GPR space so shouldn't be counted.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35627 >
2025-06-19 21:23:01 +00:00
Job Noorman
d2e1e4442a
ir3: enable nir_opt_uniform_subgroup
...
fossildb results:
Totals from 320 (0.19% of 164575) affected shaders:
MaxWaves: 2684 -> 2688 (+0.15%)
Instrs: 458284 -> 457275 (-0.22%); split: -0.22%, +0.00%
CodeSize: 896464 -> 896230 (-0.03%); split: -0.09%, +0.06%
NOPs: 109357 -> 109452 (+0.09%); split: -0.08%, +0.17%
MOVs: 25634 -> 24975 (-2.57%)
Full: 5781 -> 5779 (-0.03%)
(ss): 11491 -> 11241 (-2.18%); split: -2.21%, +0.03%
(sy): 5179 -> 5174 (-0.10%); split: -0.12%, +0.02%
(ss)-stall: 57044 -> 56592 (-0.79%); split: -0.95%, +0.16%
(sy)-stall: 114577 -> 114484 (-0.08%); split: -0.11%, +0.03%
Preamble Instrs: 103205 -> 103748 (+0.53%)
Cat0: 124379 -> 124474 (+0.08%); split: -0.07%, +0.15%
Cat1: 30969 -> 30310 (-2.13%)
Cat2: 163648 -> 163260 (-0.24%)
Cat3: 94946 -> 94921 (-0.03%)
Cat4: 13061 -> 13041 (-0.15%)
Cat5: 7421 -> 7414 (-0.09%)
Cat7: 18041 -> 18036 (-0.03%)
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35636 >
2025-06-19 20:56:35 +00:00
Guilherme Gallo
c035454a3c
ci/virtio: Add an Android Venus job on Intel Comet Lake
...
Introduce a Venus job running in Cuttlefish on Intel Comet Lake DUTs.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Co-authored-by: Antonio Ospite <antonio.ospite@collabora.com >
Co-authored-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35522 >
2025-06-19 20:20:42 +00:00
Valentine Burley
0553a2de25
ci/virtio: Generalize .venus-rules
...
Decouple the .venus-rules definition from lavapipe to prepare for adding
hardware driver coverage for Venus.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Co-authored-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Co-authored-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35522 >
2025-06-19 20:20:42 +00:00
Valentine Burley
03b480d381
ci/intel: Fix the runner tag for Flip-hatch
...
The GitLab runner tags are case sensitive, and Flip-hatch's tag was
incorrectly lowercase. This prevented jobs from being picked up
by the runner.
Also remove an outdated note, as the device now appears to be stable.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35522 >
2025-06-19 20:20:42 +00:00
Valentine Burley
b026b5e277
ci/android: Print the detailed deqp versions
...
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35522 >
2025-06-19 20:20:41 +00:00
Valentine Burley
bbffb1b967
ci/lava: Remove Android CTS from the core rootfs
...
Current LAVA jobs use dEQP instead of Android CTS, so there's no need
to include Android CTS in the rootfs. Removing both Cuttlefish and
Android CTS reduces the rootfs size from ~2GB to ~500MB.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35522 >
2025-06-19 20:20:41 +00:00
Valentine Burley
f7befb9d8d
ci/lava: Make Cuttlefish a LAVA overlay
...
Instead of including Cuttlefish in the core LAVA rootfs, make it an
optional LAVA overlay. This reduces the size of the core rootfs and
keeps Cuttlefish cached when the container is rebuilt, leading to
faster deploys.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35522 >
2025-06-19 20:20:40 +00:00
Guilherme Gallo
6527ac72d4
ci/android: export container for DUTs
...
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35522 >
2025-06-19 20:20:39 +00:00
Lionel Landwerlin
bfee389f0c
anv: only use compressed memory types on Xe2+
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 252cac1e5c ("anv: avoid memory type changes with INTEL_DEBUG=noccs")
Tested-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35615 >
2025-06-19 19:55:59 +00:00
Emma Anholt
6808ccf23a
mesa: Retire the OptimizeForAOS code.
...
It's been unused for years. Back on the brw driver, it was used for a ~1%
win on a VS-heavy workload, because you could hide instruction latency
using a DP4 sequence instead of MADs for doing the MVP transform. Given
that r300 and i915 don't seem to want it, and nobody has successfully
ported it for crocus (see
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14277 ), just
garbage collect the code at this point.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35617 >
2025-06-19 19:23:53 +00:00
Mel Henning
f7aa6ba906
vulkan: Specify library_arch in ICD files
...
This should help vk-icd-loader skip libraries of the wrong bit width.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35567 >
2025-06-19 17:30:24 +00:00
Mike Blumenkrantz
6b9415cb45
ci: rename "lvp" jobs to lavapipe
...
better regex globbing
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35321 >
2025-06-19 17:11:41 +00:00
Mike Blumenkrantz
dc066f8577
draw: silence some no-op draw debug prints
...
this has been annoying me for years
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35584 >
2025-06-19 16:22:05 +00:00
Faith Ekstrand
366b36aefd
vulkan: Drop vk_sampler_init()
...
It's ill-defined at best since it doesn't even initialize the
vk_object_base and its only use was NVK and that use is now gone.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35624 >
2025-06-19 15:45:09 +00:00
Faith Ekstrand
5d416a3742
nvk: Use vk_sampler_state for nvk_sampler_get_header()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35624 >
2025-06-19 15:45:09 +00:00
Faith Ekstrand
a33e25185a
vulkan/sampler: Add border color swizzle info to vk_sampler_state
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35624 >
2025-06-19 15:45:09 +00:00
Faith Ekstrand
4cb8bfe285
vulkan: Add a vk_sampler_state struct
...
This struct gathers up all the sampler state from VkSamplerCreateInfo
and its pNext chain into a single struct. The struct is has no pointers
and has uses -Wpadded to ensure no holes. This means it's hashable and
mem-comparable. We also make give vk_ycbcr_conversion_state -Wpadded
because vk_sampler_state has a copy of vk_ycbcr_conversion_state
embedded in it.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35624 >
2025-06-19 15:45:08 +00:00
Samuel Pitoiset
5ff6d9cbd8
ci: uprev vkd3d
...
This adds new tests with E5B9G9R9 that uncovered a RADV bug.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35634 >
2025-06-19 14:08:52 +00:00
Samuel Pitoiset
50c4d5cccd
radv: use one descriptor per plane for combined image+sampler with ycbcr
...
This removes a very old hack which will also allow us to enable DCC
for multiplanar formats eventually and to reduce the combined
image+sampler descriptor size from 96 to 48 on RDNA3+.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35457 >
2025-06-19 12:58:32 +00:00
Samuel Pitoiset
f46126284f
radv: reduce the number of bytes written for combined image+sampler desc
...
Only for non multiplanar formats.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35457 >
2025-06-19 12:58:32 +00:00
Samuel Pitoiset
22402dadd3
radv: add a separate path for writing ycbcr combined image+sampler desc
...
This will allow us to remove the ycbcr hack and to reduce the number
of bytes written for combined image+sampler from 80 to 64.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35457 >
2025-06-19 12:58:31 +00:00
Samuel Pitoiset
4f37876c7b
radv: replace radv_combined_image_descriptor_sampler_offset() by a constant
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35457 >
2025-06-19 12:58:31 +00:00
Ashley Smith
8160d0b80e
panfrost: Enable GL_EXT_shader_realtime_clock on panfrost v6+
...
Signed-off-by: Ashley Smith <ashley.smith@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35496 >
2025-06-19 11:18:53 +00:00
Rhys Perry
2cfd2d3b1d
aco/tests: add lower_branches tests
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35202 >
2025-06-19 10:58:39 +00:00
Rhys Perry
c45482e652
aco: validate that preds/succs match
...
This isn't done in validate_cfg() because that's called less frequently.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35202 >
2025-06-19 10:58:39 +00:00
Rhys Perry
85db025cd7
aco: continue when try_remove_simple_block can't remove a predecessor
...
We should update linear_preds so that the predecessors we can remove are
actually removed.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35202 >
2025-06-19 10:58:38 +00:00
Rhys Perry
5344abbc56
aco/lower_branches: keep blocks with multiple logical successors
...
It might be the case that both the branch and exec mask write in a
divergent branch block are removed. try_remove_simple_block() might then
try to remove it, but fail because it has multiple logical successors.
Instead, just skip these blocks.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Backport-to: 25.1
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35202 >
2025-06-19 10:58:38 +00:00
Ashley Smith
e9c2c32409
panvk: enable VK_KHR_shader_clock
...
CTS passing and manual tests show it's working well
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Signed-off-by: Ashley Smith <ashley.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35488 >
2025-06-19 09:11:51 +00:00
Iago Toral Quiroga
20ec897598
v3dv: switch to using nir_intrinsic_load_input_attachment_coord
...
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35569 >
2025-06-19 07:55:23 +00:00
Georg Lehmann
001fe8c236
aco: optimize boolean phi with empty else block
...
We can keep the else empty by handling the phi in the "then" block.
Foz-DB Navi21:
Totals from 921 (1.15% of 80065) affected shaders:
Instrs: 4532598 -> 4527309 (-0.12%); split: -0.12%, +0.00%
CodeSize: 24498484 -> 24481780 (-0.07%); split: -0.08%, +0.01%
Latency: 41016915 -> 41020477 (+0.01%); split: -0.10%, +0.11%
InvThroughput: 9998405 -> 9991873 (-0.07%); split: -0.08%, +0.02%
SClause: 128261 -> 128267 (+0.00%)
Copies: 409949 -> 408585 (-0.33%); split: -0.36%, +0.02%
Branches: 169740 -> 169222 (-0.31%); split: -0.58%, +0.27%
PreSGPRs: 64408 -> 64398 (-0.02%)
VALU: 2972521 -> 2972518 (-0.00%)
SALU: 673844 -> 668973 (-0.72%); split: -0.72%, +0.00%
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35165 >
2025-06-19 07:32:43 +00:00
Georg Lehmann
4a2884237a
radv: dump NIR for executable info after nir_to_asm
...
ACO modifies the NIR, most importantly it updates divergence analysis.
Acked-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32990 >
2025-06-19 07:02:20 +00:00
Georg Lehmann
88753ddd1d
aco: allow nir divergence to be printed again
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32990 >
2025-06-19 07:02:20 +00:00
Valentine Burley
bc049216cc
ci/android: Build test AMD drivers
...
Build the radeonsi and RADV drivers for Android.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35578 >
2025-06-19 06:19:06 +00:00
Faith Ekstrand
2782fa2cf3
nvk: Lower input attachments earlier
...
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35551 >
2025-06-19 02:14:05 +00:00
Faith Ekstrand
0e740fa8e6
nvk: Switch to nir_intrinsic_load_input_attachment_coord
...
The important change here is that we're no longer using state to
determine whether or not we're multiview. We just assume that layer_id
is zero when in multiview (this appears to be the case when SET_RT_LAYER
is set to CONTROL_V_SELECTS_LAYER) and that view_index is zero when not
in multiview (this is required by Vulkan) and add the two together.
This fixes a long-standing bug where multiview input attachments didn't
work properly with shader objects.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35551 >
2025-06-19 02:14:05 +00:00
Faith Ekstrand
e1e32fcf0d
nvk: Add a load_root_table() helper
...
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35551 >
2025-06-19 02:14:04 +00:00
Faith Ekstrand
9f9cde04ec
nir: Add a new load_input_attachment_coord intrinsic
...
This hoists all the annoyance of figuring out the current pixel's input
attachment coordinates to the driver. The pass still deals with all the
annoyance of turning an image instruciton into a texture instruction but
it gives the driver more control over the position. For most drivers,
this will be something like ivec3(int(gl_FragCoord.xy), gl_Layer) or
similar, some drivers need something more nuanced. Turnip, for
instance, needs unscaled coordinates for some attachments and NVK
doesn't really want gl_Layer or gl_ViewIndex for the layer. It's better
to just have a new system value that drivers can make what they want.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35551 >
2025-06-19 02:14:04 +00:00
Faith Ekstrand
2c13e1e655
nir/lower_input_attachments: Don't ignore tex coordinates
...
The SPIR-V spec is pretty clear that coordinates on subpass attachments
are relative to the current pixel. They're required to be zero but we
should stay consistent with ourselves (we already do this for image
intrinsics) and with the spec.
Fixes: 84b08971fb ("nir/lower_input_attachments: lower nir_texop_fragment_{mask}_fetch")
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35551 >
2025-06-19 02:14:04 +00:00
Faith Ekstrand
9a52b9372c
nir/lower_input_attachments: Stop assuming tex src indices
...
There's nothing in NIR which guarantees that the deref is the first
source or that the coordinate is the second. Use
nir_tex_instr_src_index() to get the actual indices.
Fixes: 84b08971fb ("nir/lower_input_attachments: lower nir_texop_fragment_{mask}_fetch")
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35551 >
2025-06-19 02:14:03 +00:00
Ryan Houdek
f872cbea37
tu: Fixes missing sse2 flags
...
Turnip when cross-compiled for i386 needs to be built with SSE2 as a
minimum spec, as it uses clflush unconditionally. Make sure to pass in
the sse2_args, which will be empty on Arm64 targets.
Fixes: 7231eef630
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35621 >
2025-06-18 17:13:37 -07:00
Emma Anholt
cd981e27f7
intel/elk: Move wpos_w setup right into nir_intrinsic_load_frag_w.
...
Given that the intrinsic will be CSEed at the NIR level, we don't need to
preemptively set it up at the top of the shader. No change in HSW shader-db.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25190 >
2025-06-18 23:11:43 +00:00
Emma Anholt
269fbcb144
intel/elk: Use pixel_z for gl_FragCoord.z on pre-gen6.
...
Unless I've seriously missed something, we have the Z in the payload
(which we can always request if we need access to it and it's not already
passed to us due other WM IZ settings).
total instructions in shared programs: 4408303 -> 4408186 (<.01%)
instructions in affected programs: 1164 -> 1047 (-10.05%)
total cycles in shared programs: 142485036 -> 142484566 (<.01%)
cycles in affected programs: 26820 -> 26350 (-1.75%)
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25190 >
2025-06-18 23:11:43 +00:00
Emma Anholt
dc55b47a58
intel/elk: Move pre-gen6 smooth interpolation 1/w multiply to NIR.
...
NIR catches that if you're just doing something like adding two smooth
inputs, we can do the multiply once on the result instead of on each
input. BRW shader-db results:
total instructions in shared programs: 4409146 -> 4408303 (-0.02%)
instructions in affected programs: 800761 -> 799918 (-0.11%)
total cycles in shared programs: 143203198 -> 142485036 (-0.50%)
cycles in affected programs: 79081682 -> 78363520 (-0.91%)
total sends in shared programs: 363044 -> 363042 (<.01%)
sends in affected programs: 33 -> 31 (-6.06%)
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25190 >
2025-06-18 23:11:42 +00:00
Emma Anholt
fb9b2261a1
intel/elk: Move pre-gen6 gl_FragCoord.w -> interpolation lowering to NIR.
...
BRW shader-db:
total instructions in shared programs: 4409143 -> 4409146 (<.01%)
instructions in affected programs: 330 -> 333 (0.91%)
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25190 >
2025-06-18 23:11:41 +00:00
Emma Anholt
17ab39fbf8
intel/elk: Fix some tabs in gen4 URB setup.
...
This formatted terribly in my editor, just use spaces.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25190 >
2025-06-18 23:11:40 +00:00
Emma Anholt
9d7a016ed1
intel/elk: Retire the global float pixel_x/y values.
...
Nothing used them any more.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25190 >
2025-06-18 23:11:40 +00:00
Emma Anholt
e1bf014b6e
intel/elk: Reduce this->pixel_x/y usage in gfx4 interp setup.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25190 >
2025-06-18 23:11:40 +00:00
Emma Anholt
241bc5da70
intel/elk: Use the pixel_coord UW x/y values for noncoherent FB reads.
...
No need to force generating the float cast just to turn it back to an int.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25190 >
2025-06-18 23:11:39 +00:00
Emma Anholt
1134cdc198
intel/elk: Lower load_frag_coord to load_{pixel_coord,frag_coord_z/w} in NIR.
...
This moves some conversions to NIR that may get eliminated, and also
distinguishes gl_FragCoord.z/w loads at the shader info level so we don't
need to flag uses_src_depth/uses_src_w when only gl_FragCoord.xy get used
(as is typical). This reduces thread payload setup on many shaders.
Also, interestingly, blorp shaders stop reserving space for z/w despite
not putting them in the payload (since PS_EXTRA isn't filled out for z/w).
HSW shader-db is noise:
total instructions in shared programs: 9942649 -> 9942997 (<.01%)
instructions in affected programs: 143167 -> 143515 (0.24%)
total cycles in shared programs: 314768862 -> 314299112 (-0.15%)
cycles in affected programs: 62951452 -> 62481702 (-0.75%)
LOST: 44
GAINED: 26
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25190 >
2025-06-18 23:11:39 +00:00
Emma Anholt
88f1656133
intel/elk: Save the UW pixel x/y as a temp.
...
This will be used for representing gl_FragCoord in NIR and reducing
payload registers pushed.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25190 >
2025-06-18 23:11:38 +00:00
Emma Anholt
5222c35924
intel/elk: Save the UW pixel x/y as a temp on gfx6+.
...
This will be used for representing gl_FragCoord in NIR and reducing
payload registers pushed.
HSW results:
total instructions in shared programs: 9940636 -> 9948574 (0.08%)
instructions in affected programs: 852560 -> 860498 (0.93%)
total cycles in shared programs: 314804525 -> 314900080 (0.03%)
cycles in affected programs: 39786599 -> 39882154 (0.24%)
LOST: 5
GAINED: 11
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25190 >
2025-06-18 23:11:38 +00:00
Emma Anholt
af74abd68c
intel/fs: Don't bother checking if load_frag_coord uses interpolation.
...
This was leftover dead code from 4bb6e6817e ("intel: Use a system value
for gl_FragCoord") -- the sysval doesn't do any interpolation and doesn't
have sources that could use a barycentric.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25190 >
2025-06-18 23:11:37 +00:00
Emma Anholt
1b9b63de37
intel/shim: Report I915_PARAM_HAS_GEN7_SOL_RESET.
...
Quiets more startup warnings from drm-shim.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25190 >
2025-06-18 23:11:37 +00:00
Emma Anholt
1b6689d79e
intel/shim: Report support for PXP status.
...
Otherwise drm-shim complains on every shader-db run.
Fixes: e358173fbf ("iris: Add GET_PARAM for protected context capability support")
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25190 >
2025-06-18 23:11:37 +00:00
Emma Anholt
908bfb2ac9
nir: Add support for load_frag_coord_zw to nir_opt_fragdepth.
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25190 >
2025-06-18 23:11:36 +00:00
Emma Anholt
3b28604be2
nir: Make pixel_coord/frag_coord_zw be peephole-able sysvals.
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25190 >
2025-06-18 23:11:36 +00:00
Emma Anholt
8fa6d473e7
nir: Add SYSTEM_VALUE_FRAG_COORD_Z/W.
...
Intel's going to use these.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25190 >
2025-06-18 23:11:36 +00:00
Emma Anholt
7db62e6dad
nir: Split nir_load_frag_coord_zw to separate z/w intrinsics.
...
This will be a win for Intel for tracking which payload values need to be
set up.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25190 >
2025-06-18 23:11:36 +00:00
Emma Anholt
0bf114736a
intel: Use the common NIR lowering for fquantize2f16.
...
This generates one extra instruction to set the rounding mode to RTE due
to f2f16_rtne in the lowering. This changes the result for
fquantize2f16(65505.0) from 65536 to 65504, which fixes SPIR-V
conformance for this value:
If Value is positive with a magnitude too large to represent as a
16-bit floating-point value, the result is positive infinity. If Value
is negative with a magnitude too large to represent as a 16-bit
floating-point value, the result is negative infinity.
SPIR-V doesn't specify whether this overflow check is before or after
rounding, but IEEE specifies rounding first, which is what produces our
65504.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25552 >
2025-06-18 22:45:08 +00:00
Yiwei Zhang
4efaa64159
vulkan/treewide: add and use common Android HMI hal implementation
...
There's no need for a per driver HMI implementation since the
vk_icdGetInstanceProcAddr implementation can well populate the required
entrypoints for Android icd.
Changes have to be done in this single commit for simplicity. Otherwise,
I would have to create a separate android shared library in the runtime
like how vk_instance is handled today, so that the target is able to
check per driver enablement def. However, after all drivers have
migrated over within this MR, we still have to clean those up. So I
decided to just do those in a single commit instead.
v2: avoid preloading u_gralloc in vulkan hal open
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com > (v1)
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35561 >
2025-06-18 22:23:53 +00:00
Yiwei Zhang
04d0392007
vulkan/android: clean up helpers no longer used
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35561 >
2025-06-18 22:23:53 +00:00
Yiwei Zhang
08f18030bd
venus: adopt common android u_gralloc helpers
...
Drop explicit u_gralloc init since it will be initialized upon the
initial vk_android_get_ugralloc.
Reviewed-by: Corentin Noël <corentin.noel@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35561 >
2025-06-18 22:23:53 +00:00
Yiwei Zhang
217685108a
gfxstream: free up hwvulkan_device_t upon driver unloading
...
Per <hardware/hwvulkan.h>, the hw_device_t::close() function is called
upon driver unloading. The behavior has been like this since Android 10.
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35561 >
2025-06-18 22:23:52 +00:00
Yiwei Zhang
edbefeb5b1
v3dv: drop explicit u_gralloc init
...
u_gralloc will be initialized upon the initial vk_android_get_ugralloc.
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35561 >
2025-06-18 22:23:52 +00:00
Yiwei Zhang
6d27c16f13
v3dv: free up hwvulkan_device_t upon driver unloading
...
Per <hardware/hwvulkan.h>, the hw_device_t::close() function is called
upon driver unloading. The behavior has been like this since Android 10.
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35561 >
2025-06-18 22:23:52 +00:00
Yiwei Zhang
818464f443
turnip: free up hwvulkan_device_t upon driver unloading
...
Per <hardware/hwvulkan.h>, the hw_device_t::close() function is called
upon driver unloading. The behavior has been like this since Android 10.
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35561 >
2025-06-18 22:23:52 +00:00
Yiwei Zhang
ba48380260
radv: free up hwvulkan_device_t upon driver unloading
...
Per <hardware/hwvulkan.h>, the hw_device_t::close() function is called
upon driver unloading. The behavior has been like this since Android 10.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35561 >
2025-06-18 22:23:51 +00:00
Yiwei Zhang
ca419ff624
panvk: free up hwvulkan_device_t upon driver unloading
...
Per <hardware/hwvulkan.h>, the hw_device_t::close() function is called
upon driver unloading. The behavior has been like this since Android 10.
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35561 >
2025-06-18 22:23:51 +00:00
Yiwei Zhang
73aa0f5370
nvk: drop explicit u_gralloc init
...
u_gralloc will be initialized upon the initial vk_android_get_ugralloc.
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35561 >
2025-06-18 22:23:50 +00:00
Yiwei Zhang
0bff86d31e
nvk: free up hwvulkan_device_t upon driver unloading
...
Per <hardware/hwvulkan.h>, the hw_device_t::close() function is called
upon driver unloading. The behavior has been like this since Android 10.
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35561 >
2025-06-18 22:23:50 +00:00
Yiwei Zhang
0e77de00e3
lvp: drop explicit u_gralloc init
...
u_gralloc will be initialized upon the initial vk_android_get_ugralloc.
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35561 >
2025-06-18 22:23:50 +00:00
Yiwei Zhang
a2ca6843c7
lvp: free up hwvulkan_device_t upon driver unloading
...
Per <hardware/hwvulkan.h>, the hw_device_t::close() function is called
upon driver unloading. The behavior has been like this since Android 10.
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35561 >
2025-06-18 22:23:50 +00:00
Yiwei Zhang
02c65181c1
hasvk: free up hwvulkan_device_t upon driver unloading
...
Per <hardware/hwvulkan.h>, the hw_device_t::close() function is called
upon driver unloading. The behavior has been like this since Android 10.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35561 >
2025-06-18 22:23:49 +00:00
Yiwei Zhang
710282f83c
anv: adopt common Android gralloc helpers
...
u_gralloc will be initialized upon the initial vk_android_get_ugralloc.
v2: drop explicit gralloc init
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com > (v1)
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35561 >
2025-06-18 22:23:49 +00:00
Yiwei Zhang
896bda5143
anv: free up hwvulkan_device_t upon driver unloading
...
Per <hardware/hwvulkan.h>, the hw_device_t::close() function is called
upon driver unloading. The behavior has been like this since Android 10.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35561 >
2025-06-18 22:23:49 +00:00
Yiwei Zhang
0c141ef492
vulkan/android: update helper to initialize u_gralloc once
...
Initialize u_gralloc once upon the initial init or get call. We'll skip
updating the backend drivers for this since most usages will be cleaned
up later.
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35561 >
2025-06-18 22:23:49 +00:00
Yiwei Zhang
6c284cd534
vulkan/android: rename global u_gralloc ptr
...
...to avoid mixing up with type name and local returns from getter.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35561 >
2025-06-18 22:23:48 +00:00
Jesse Natalie
856f1d4e3c
d3d12: Fail-fast on PSO creation failures
...
I'm seeing crash reports from the wild where it's not necessarily clear why
something failed, and it'd be nice to have the PSO desc on the stack when
something failed. It ends up being fatal anyway (we don't gracefully drop
draw calls, and I don't think we should).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35614 >
2025-06-18 22:07:19 +00:00
Jesse Natalie
43d61df19b
microsoft/compiler: Clamp bias to DXIL valid range
...
Technically this won't produce valid results, but it will at least compile and
will probably be good enough, which is better than where we are right now,
which is that shaders fail to validate.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35614 >
2025-06-18 22:07:19 +00:00
Olivia Lee
b8c7fcda27
panfrost: fix depth clip range with u_blitter
...
u_blitter sets a viewport transform with depth range [-1,1], which is
outside the [0,1] range that is allowed by opengl.
The mali hardware docs state that setting the LOW_DEPTH_CLAMP register
outside of [0,1] is undefined behavior. We haven't observed any problems
with this so far, but better to fix it.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Fixes: 810135fb42 ("gallium/u_blitter: Fix depth.")
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35225 >
2025-06-18 21:16:23 +00:00
Sagar Ghuge
a676ba9294
anv: Apply flush during WriteAccelerationStructures
...
We are reading accel header parameter those are updated by CS, so we
need to apply flushes to make L3 coherent with CS.
This fixes ray query tests on MTL:
- dEQP-VK.ray_query.*.serialization.*
Cc: mesa-stable
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35590 >
2025-06-18 20:56:56 +00:00
Eric Engestrom
6446433761
docs: add sha sum for 25.1.4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35611 >
2025-06-18 20:52:32 +00:00
Eric Engestrom
5e772e00d5
docs: add release notes for 25.1.4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35611 >
2025-06-18 20:52:32 +00:00
Eric Engestrom
952305e853
docs: update calendar for 25.1.4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35611 >
2025-06-18 20:52:32 +00:00
Emma Anholt
0ba0681cfc
tu: Add a link to my branch for stencil read optimization.
...
No sense in someone else retimplementing it if they want to test it, too.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34991 >
2025-06-18 20:30:31 +00:00
Emma Anholt
7714480c79
tu,freedreno/a6xx: Give the FS_CTRL UNK24 bit a name: INOUTREGOVERLAP.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34991 >
2025-06-18 20:30:31 +00:00
Emma Anholt
7fe18b147d
tu,freedreno: Rename the MRT enable_blend field to blend_reads_dest.
...
The per-MRT blend enables are in RB_MRT_CONTROL regs, this field is a
bitmask of whether we need to read in the MRT's current color in order to
perform the blending/colormask/logicop.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34991 >
2025-06-18 20:30:31 +00:00
Job Noorman
78f62d6d6d
nir: remove unused global_atomic(_swap)_ir3 intrinsics
...
ir3 switched to using the generic ones.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33797 >
2025-06-18 19:06:33 +00:00
Job Noorman
2490ecf5fc
ir3: ingest global addresses as 64b values from NIR
...
There are currently two places where we have to handle values that are
logically 64b: 64b atomics and 64b global addresses. For the former, we
ingest the values as 64b from NIR, while the latter uses 2x32b values.
This commit makes things more consistent by using 64b NIR values for
global addresses as well.
Of course, we could also go the other way around and use 2x32b values
everywhere, which would make things consistent as well. Given that ir3
doesn't actually have 64b registers, and 64b values are represented by
collected 2x32b registers, this could actually make more sense.
In the end, both methods are mostly equivalent and it probably doesn't
matter too much one way or the other. However, the reason I have a
slight preference for ingesting things as 64b is that it allows us to
use more of the generic NIR intrinsics, which use 1-component values for
64b addresses or atomic values. This commit already makes
global_atomic(_swap)_ir3 obsolete and I'm planning to create generic
intrinsics to support ldg.a/stg.a as well.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33797 >
2025-06-18 19:06:32 +00:00
Job Noorman
c91f4b2363
ir3: use ir3_64b helpers where possible
...
Don't rely on manually (un)packing 64b values from/into components but
use the newly introduced ir3_64b helpers.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33797 >
2025-06-18 19:06:32 +00:00
Job Noorman
7cf01a1ae0
ir3: don't vectorize 64b values
...
The only 64b ops that are supported are (un)packs and using rptN won't
help them.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33797 >
2025-06-18 19:06:32 +00:00
Job Noorman
669270ca7e
ir3: add support for u2u64
...
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33797 >
2025-06-18 19:06:31 +00:00
Job Noorman
d2f9972945
ir3/lower_preamble: add support for 64b values
...
Now that we support 64b values in more places, they might end up being
stored in the preamble.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33797 >
2025-06-18 19:06:31 +00:00
Job Noorman
917c56c78c
ir3: add ir3_split_off_scalar helper
...
This implements the common pattern of splitting-off a scalar value from
a vector. It handles both 64b (via ir3_64b) and normal register scalars.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33797 >
2025-06-18 19:06:31 +00:00
Job Noorman
37f4786881
ir3: add helpers to handle 64b values
...
64b values occupy 2 registers but we receive them as a single component
value from NIR. Since there are many places that assume a 1:1
relationship between components and instructions, this can be error
prone as we have to remember to double the number of components whenever
a 64b value is involved.
This commit tries to improve on this situation by representing 64b
values as a collect of 2 registers, restoring the 1:1 mapping between
NIR components and ir3 instructions. This commit only adds some helpers
to create 64b values and access their individual components but doesn't
actually use them yet. This will happen in a follow-up commit.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33797 >
2025-06-18 19:06:31 +00:00
Job Noorman
2f75e6cba9
ir3: flatten nested collects
...
When creating a collect with a source that is itself a collect, flatten
the latter's sources into the new collect. This is mainly useful for
collects used for 64b values, as we can treat them just like non-64b
values when collecting them.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33797 >
2025-06-18 19:06:30 +00:00
Job Noorman
74aecf2207
ir3: add support for collects in ir3_get_src_shared
...
We want to start lowering certain NIR instructions to collects (e.g.,
instructions with a 64b def) which means that ir3_get_src_shared has to
support collects. Since we can't mov the result of a collect, implement
this by converting its sources and creating a new collect.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33797 >
2025-06-18 19:06:30 +00:00
Job Noorman
36300ee51d
ir3: move collect/split helpers to ir3.{c,h}
...
They have nothing to do with ir3_context and this way, we can use them
from ir3.h.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33797 >
2025-06-18 19:06:30 +00:00
José Roberto de Souza
37f4182ac3
Revert "anv: Enable preemption due 3DPRIMITIVE in GFX 12"
...
Enabling preemption in 3DPRIMITIVE is causing glitches on Dota 2,
so reverting this until the issue with preemption is fixed.
This reverts commit 3cd972a2d3 .
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13289
Fixes: 12ddaa6b8b ("anv: Enable preemption due 3DPRIMITIVE in GFX 12")
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35586 >
2025-06-18 18:52:19 +00:00
Georg Lehmann
e9c886c331
nir/opt_intrinsic: fix inclusive scan rewrite with multiple uses
...
Modifying the iterated list is a footgun, so just create a new instruction.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13364
Fixes: 5c70a55bf3 ("nir/opt_intrinsics: optimize (exclusive_scan(op, a) op a) to inclusive scan")
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35577 >
2025-06-18 18:18:15 +00:00
Corentin Noël
ab5605aab3
ci: Update CrosVM and Virglrenderer
...
Update to their latest version on time
Update Rust to 1.81 as it is the minimal required version for CrosVM
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35598 >
2025-06-18 17:34:11 +00:00
Hoe Hao Cheng
412d97e667
zink/codegen: init properties struct fully for double-loaded extensions
...
Fixes: 4d1768aec5
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35608 >
2025-06-18 17:17:08 +00:00
Jesse Natalie
1fb0e76233
microsoft/compiler: Fix PSV0 for validator 1.8
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35595 >
2025-06-18 16:49:36 +00:00
Christopher Gautier
48e8d6d207
panfrost, panvk: The size of resource tables needs to be a multiple of 4.
...
The HW specifications require the size of shader resource tables to be a
multiple of 4, otherwise correct behaviour is not guaranteed.
Fixes: 713f5c3600 ("panvk: Prepare the cmd_desc_state logic for Valhall")
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/35553 >
2025-06-18 16:09:03 +00:00
Christopher Gautier
db4c878e4f
panfrost, panvk: Use arch version 9 to distinguish between Bifrost & Valhall
...
The change was performed automatically with a regular expression over
the code base.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35553 >
2025-06-18 16:09:03 +00:00
Gurchetan Singh
3a3239dcf9
gfxstream: proper depedendences in non virtgpu-kumquat case
...
In case virtgpu_kumquat isn't built, provide a null_dep
rather than undefined meson dependencies.
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35607 >
2025-06-18 15:16:32 +00:00
Martin Krastev
fb97f3f836
svga/ci: enable vmware farm
...
Issue with farm infra licensing banished for one more year.
Signed-off-by: Martin Krastev <martin.krastev@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35602 >
2025-06-18 14:52:25 +00:00
Karol Herbst
b4b6582220
rusticl: cl_khr_icd 2.0.0
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35241 >
2025-06-18 13:30:40 +00:00
Karol Herbst
dd686e0d81
rusticl/icd: use default value for cl_icd_dispatch
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35241 >
2025-06-18 13:30:40 +00:00
Karol Herbst
924c76b7e5
include: sync OpenCL headers
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35241 >
2025-06-18 13:30:40 +00:00
Christian Gmeiner
034ac06c64
etnaviv: nir: Use texldlpcf opcode for shadow texture look-ups with explicit LOD
...
Fixes the following test on GC7000:
- dEQP-GLES3.functional.shaders.texture_functions.texture.sampler2darrayshadow_vertex
- dEQP-GLES3.functional.shaders.texture_functions.texturelod.sampler2dshadow_vertex
- dEQP-GLES3.functional.shaders.texture_functions.texturelod.sampler2dshadow_fragment
- dEQP-GLES3.functional.shaders.texture_functions.textureprojlod.sampler2dshadow_vertex
- dEQP-GLES3.functional.shaders.texture_functions.textureprojlod.sampler2dshadow_fragment
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35600 >
2025-06-18 13:10:59 +00:00
Eric Engestrom
081aa09aeb
meson: drop unnecessary -D legacy-x11=none
...
Array options are allowed to be empty, so there's no need to add an
extra value to convey that.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35309 >
2025-06-18 12:39:26 +00:00
Russell Greene
e1bcd0f4a5
radeonsi: vpe: fix noisy false error
...
When running `ffmpeg -vaapi_device /dev/dri/renderD128 -f lavfi -i smptebars=duration=5:size=1280x720:rate=30 -vf format=rgba,hwupload,scale_vaapi=format=nv12,hwdownload testout.mp4`,
the vpe is asked to transform into NV12, which cannot be done with a blit. `si_vpe_construct_blt` fails, but then it gracefully falls back into `vlVaPostProcCompositor` and finishes the task correctly, but not before logging the error:
SIVPE ERROR ../mesa-25.1.3/src/gallium/drivers/radeonsi/si_vpe.c:1095 si_vpe_construct_blt Failed in checking process operation and build settings(9)
for each frame that is processed. Since this is expected, my original thought was to demote this to a warning. But looking at all the reasons it could fail for, there already is a warning (or error) logged, so it seems to me the best thing to do is remove the error entirely
There may be a better approach here, and I'm all ears.
Fixes: e85a6b6a63 ("radeonsi/vpe: check reduction ratio")
Reviewed-by: Peyton Lee <peytolee@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35449 >
2025-06-18 10:48:07 +00:00
Karol Herbst
93f24f0bd0
rusticl: support cl_khr_extended_bit_ops
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35448 >
2025-06-18 10:13:44 +00:00
Karol Herbst
6a36056f59
zink: lower bitfield operations without maintenance9
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35448 >
2025-06-18 10:13:44 +00:00
Karol Herbst
8ba63c1d16
zink: check for VK_KHR_maintenance9
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35448 >
2025-06-18 10:13:44 +00:00
Karol Herbst
9c0d121366
v3d: lower bitfield_extract8|16
...
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35448 >
2025-06-18 10:13:44 +00:00
Karol Herbst
9d9a17ea2a
r600: lower bitfield_extract8|16
...
Reviewed-by: Patrick Lerda <patrick9876@free.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35448 >
2025-06-18 10:13:44 +00:00
Karol Herbst
0e24452535
panfrost: lower bitfield_extract8|16
...
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35448 >
2025-06-18 10:13:44 +00:00
Karol Herbst
b9e1e91a86
ir3: enable bitfield lowering for cl_khr_extended_bit_ops
...
Co-developed-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35448 >
2025-06-18 10:13:44 +00:00
Karol Herbst
dd652bb8f0
agx: enable bitfield lowering for cl_khr_extended_bit_ops
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35448 >
2025-06-18 10:13:44 +00:00
Karol Herbst
a16eb630fa
llvmpipe: more bitfield_extract lowering
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35448 >
2025-06-18 10:13:44 +00:00
Karol Herbst
cf3b16f7af
clc: support cl_khr_extended_bit_ops
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35448 >
2025-06-18 10:13:44 +00:00
Karol Herbst
1a5b5a883d
vtn: mark BitInstructions cap as supported
...
It simply enables certain Shader only instructions for Kernels.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35448 >
2025-06-18 10:13:44 +00:00
Samuel Pitoiset
e5d047d160
ci: uprev VKCTS main to 9cc8e038994c32534b3d2c4ba88c1dc49ef53228
...
RADV is the only driver using VKCTS main. This bumps adds tests for
maintenance9, unified_image_layout and VP9.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35540 >
2025-06-18 09:15:34 +00:00
Christian Gmeiner
07f5cbcd9b
etnaviv: nir: Add assertion to prevent src2 conflicts in texture instructions
...
Add an assert to catch cases where both nir_tex_src_comparator and
nir_tex_src_ddy attempt to use the same src2 slot in texture instructions.
This prevents silent overwrites that could cause incorrect shader
compilation.
The assertion helps catch potential issues in complex texture operations
like those found in dEQP textureGrad shadow tests, where multiple
texture sources compete for the same hardware slot.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35531 >
2025-06-18 08:58:41 +00:00
Christian Gmeiner
3225d3e918
etnaviv: nir: Use texldgpcf opcode for shadow texture gradients
...
Passes all dEQP-GLES3.functional.shaders.texture_functions.texturegrad.*
tests on GC7000.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35531 >
2025-06-18 08:58:41 +00:00
Christian Gmeiner
7149597860
etnaviv: Push nir_tex_instr down to etna_emit_tex(..)
...
There are too many parameters already.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35531 >
2025-06-18 08:58:41 +00:00
Christian Gmeiner
cc4a6fa25c
etnaviv: nir: Legalize txd comparator
...
The hardware expects textureGrad (txd) shadow comparator to be
specified as the w component of the coordinate, rather than as a
separate comparator source.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35531 >
2025-06-18 08:58:41 +00:00
Christian Gmeiner
0f25d5e3f4
etnaviv: isa: Add texldgpcf instruction
...
Implement support for the texldgpcf instruction, which handles texture
gradient sampling with shadow comparison.
Blob generates such txf's for
dEQP-GLES3.functional.shaders.texture_functions.texturegrad.*shadow*
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35531 >
2025-06-18 08:58:40 +00:00
Eric Engestrom
14fedcfb8d
ci_run_n_monitor: fix padding in links
...
8f557b84f6 was done because `text` is sometimes just an int,
but the fix was only applies to the padding calculation.
Unfortunately, the padding direction is also different between strings
and integers, which means the behaviour is now incoherent.
Let's convert `text` to a string before we start doing anything so that
everything afterwards is coherent.
Fixes: 8f557b84f6 ("ci: crnm: fix hyperlink format")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35587 >
2025-06-18 08:42:19 +00:00
Karol Herbst
21ed913198
rusticl/image: enable sRGB support
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35535 >
2025-06-18 06:53:19 +00:00
Georg Lehmann
e0cdf4dfdd
radv/nir/lower_cmat: use common matrix layout on gfx12
...
The GFX12 ISA doc describes other layouts for A/B, but they are identical
to the C layout with the exception of the order of the rows (columns for A).
And as long as these are swapped in the same way for both A and B, the muladd
result will be the same. So we use the C layout for all uses.
This will simplify conversions between uses, and allows A/B to use a single
memory access for load/store in wave32.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35570 >
2025-06-18 06:33:06 +00:00
Valentine Burley
e82e1bca1d
intel/ci: Drop deprecated fp16 environment variable
...
Fixes: cf3ec8d3b9 ("rusticl: enable proper fp16 support")
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35574 >
2025-06-18 06:13:25 +00:00
Valentine Burley
04d35cacbf
intel/ci: Reduce parallelism of intel-adl-cl job
...
The intel-adl-cl job was previously running on two DUTs, but the
runtime reported by deqp-runner was only about 3 minutes.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35574 >
2025-06-18 06:13:25 +00:00
Valentine Burley
68244ee819
anv/ci: Add a pre-merge vkd3d job on ADL
...
Introduce a new, pre-merge vkd3d-proton job on Alder Lake, and move the
VK_DRIVER variables to the .anv-test template.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35574 >
2025-06-18 06:13:25 +00:00
Yiwei Zhang
5cb50c3cf5
hasvk: use narrow range to match up with mesa EGL
...
This matches up with the native gl drivers as well as the media stack.
- VK_SAMPLER_YCBCR_RANGE_ITU_NARROW <=> EGL_YUV_NARROW_RANGE_EXT
Cc: mesa-stable
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35597 >
2025-06-17 22:51:40 -07:00
Yiwei Zhang
c169ad60c1
anv: use narrow range to match up with mesa EGL
...
This matches up with the native gl drivers as well as the media stack.
- VK_SAMPLER_YCBCR_RANGE_ITU_NARROW <=> EGL_YUV_NARROW_RANGE_EXT
Cc: mesa-stable
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35597 >
2025-06-17 22:51:30 -07:00
Connor Abbott
60843bc806
tu: Re-emit viewports/scissors when has_fdm changes
...
This shouldn't matter if FDM is actually enabled, because in that case
the pipeline must enable the bit and we dirty FDM state at the
beginning, but pipelines can enable FDM even if the renderpass they're
used in doesn't use FDM and in that case we still need to use the FDM
path to duplicate the viewports. Fix the case where a different pipeline
is bound that enables FDM without actually using FDM.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35581 >
2025-06-17 23:04:00 +00:00
Connor Abbott
0017b9e8ed
tu: Make sure to re-emit viewports if per_view_viewport changes
...
We may need to re-emit the viewports if a different shader is bound that
does or doesn't use gl_ViewportIndex.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35581 >
2025-06-17 23:04:00 +00:00
Gurchetan Singh
f7a9991b89
mesa: add option to enable virtgpu_kumquat FFI for gfxstream
...
Will be used by Cuttlefish CI/CD, but also commonly used by
gfxstream developers.
meson setup gfxstream-build -Dvulkan-drivers="gfxstream" -Dgallium-drivers="" -Dvirtgpu_kumquat=true -Dopengl=false -Drust_std=2021
In distros, virtgpu_kumquat is not expected to be packaged since
it is a CI/CD tool.
Reviewed-by: Aaron Ruby <aruby@qnx.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35210 >
2025-06-17 22:28:55 +00:00
Gurchetan Singh
f2b07903ab
mesa: import virtgpu_kumquat_ffi
...
This adds a frontend to C-FFI to VirtGpuKumquat, to be used
with gfxstream. This allows testing gfxstream, without a virtual
machine.
Reviewed-by: Aaron Ruby <aruby@qnx.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35210 >
2025-06-17 22:28:55 +00:00
Gurchetan Singh
c00027b46f
mesa: import virtgpu kumquat
...
This is Rust-based client side of the Kumquat protocol.
Reviewed-by: Aaron Ruby <aruby@qnx.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35210 >
2025-06-17 22:28:54 +00:00
Gurchetan Singh
040b256abd
mesa: import mesa3d_protocols
...
This crate is intended to house zerocopy-based protocols
and utilites for them. This is useful for paravirtualization
and microkernel-like systems.
Currently, the only supported protocol is the Kumquat GPU protocol.
https://crosvm.dev/book/appendix/rutabaga_gfx.html#kumquat-media-server
And there is a concept of a "KumquatStream". In the future, there
would be more protocols, like a "MagmaStream". In fact, this crate
would house more generic streams in the future, a gfxstream crate
(* hears minds getting blown *) if you would like.
Reviewed-by: Aaron Ruby <aruby@qnx.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35210 >
2025-06-17 22:28:54 +00:00
Gurchetan Singh
e0b1193361
mesa: import mesa3d_util
...
This is intended to a Rust analog to "src/util", which has
many utilities used by Mesa developers. This is mostly
a copy of ${crosvm} rutabaga_gfx/src/rutabaga_os (which will
be deleted in favor of this crate).
Key constructs include:
- SharedMemory
- MemoryMapping
- Tube (sockets, essentially)
- OwnedDescriptor (HANDLE or fd-based)
- WaitContext (epoll, ..)
As one would expect, Linux implementations are the most complete.
Acked-by: Aaron Ruby <aruby@qnx.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35210 >
2025-06-17 22:28:54 +00:00
Gurchetan Singh
68c70c3eff
subprojects: add zerocopy
...
Version 0.8.13 supported in:
- AOSP
- Fedora (https://src.fedoraproject.org/rpms/rust-zerocopy )
Acked-by: Aaron Ruby <aruby@qnx.com >
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35210 >
2025-06-17 22:28:54 +00:00
Gurchetan Singh
15b100770b
subprojects: add remain
...
Version 0.2.12 or greater supported in:
- AOSP
- Fedora (https://src.fedoraproject.org/rpms/rust-remain )
Acked-by: Aaron Ruby <aruby@qnx.com >
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35210 >
2025-06-17 22:28:54 +00:00
Gurchetan Singh
85f620cabc
subprojects: add thiserror
...
Version 2.0.11 or greater supported in:
- Android
- Fedora (https://src.fedoraproject.org/rpms/rust-thiserror )
- Debian
Acked-by: Aaron Ruby <aruby@qnx.com >
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35210 >
2025-06-17 22:28:54 +00:00
Gurchetan Singh
92d7504de3
subprojects: add log
...
Version 0.4.27 available in:
- AOSP
- Fedora (https://src.fedoraproject.org/rpms/rust-log )
Acked-by: Aaron Ruby <aruby@qnx.com >
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35210 >
2025-06-17 22:28:54 +00:00
Gurchetan Singh
043d503f9d
subprojects: add rustix
...
Version 0.38.31 available:
- AOSP
- Fedora (https://bodhi.fedoraproject.org/updates/?packages=rust-rustix )
- Debian (https://tracker.debian.org/pkg/rust-rustix )
Acked-by: Aaron Ruby <aruby@qnx.com >
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35210 >
2025-06-17 22:28:54 +00:00
Gurchetan Singh
e04026adde
subprojects: add linux-raw-sys
...
Version 0.4.14 or above supported in:
- AOSP
- Fedora
(https://bodhi.fedoraproject.org/updates/?packages=rust-linux-raw-sys )
- Debian
Acked-by: Aaron Ruby <aruby@qnx.com >
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35210 >
2025-06-17 22:28:54 +00:00
Gurchetan Singh
f02e60409b
subprojects: add errno
...
Version 0.3.12 in:
- Fedora
(https://packages.fedoraproject.org/pkgs/rust-errno/rust-errno+default-devel/ )
- AOSP (0.3.8, but should still work)
Acked-by: Aaron Ruby <aruby@qnx.com >
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35210 >
2025-06-17 22:28:54 +00:00
Gurchetan Singh
59e2d1e549
subprojects: add libc
...
Version 0.2.168 supported in:
- Android
- Fedora
(https://bodhi.fedoraproject.org/updates/?packages=rust-libc )
- Debian (https://tracker.debian.org/pkg/rust-libc )
Acked-by: Aaron Ruby <aruby@qnx.com >
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35210 >
2025-06-17 22:28:54 +00:00
Gurchetan Singh
734dd83494
subprojects: add bitflags
...
Version 2.9.1 supported in:
- Android
- Fedora (https://src.fedoraproject.org/rpms/rust-bitflags )
Acked-by: Aaron Ruby <aruby@qnx.com >
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35210 >
2025-06-17 22:28:54 +00:00
Gurchetan Singh
f20d43d654
subprojects: add cfg-if
...
Version 1.0.0 supported in:
- AOSP
- Fedora
(https://bodhi.fedoraproject.org/updates/?packages=rust-cfg-if )
- Debian (https://tracker.debian.org/pkg/rust-cfg-if )
Acked-by: Aaron Ruby <aruby@qnx.com >
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35210 >
2025-06-17 22:28:54 +00:00
Gurchetan Singh
35894b5c87
subprojects: add more syn features
...
This is needed by the zerocopy crate.
Acked-by: Aaron Ruby <aruby@qnx.com >
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35210 >
2025-06-17 22:28:54 +00:00
Gurchetan Singh
71ff4ab788
subprojects: update syn to 2.0.87
...
Fedora is at 2.0.90 now.
https://src.fedoraproject.org/rpms/rust-syn
Acked-by: Aaron Ruby <aruby@qnx.com >
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35210 >
2025-06-17 22:28:54 +00:00
Gurchetan Singh
62e36aeb95
subprojects: update quote to 1.0.35
...
Debian is at 1.0.37
https://tracker.debian.org/pkg/rust-quote
Acked-by: Aaron Ruby <aruby@qnx.com >
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35210 >
2025-06-17 22:28:54 +00:00
Gurchetan Singh
c9c3a1f869
subprojects: fix missing space between colon and license string
...
Essentially:
find ./ -type f -exec sed -i -e "s/license :'/license : '/g" {} \;
Suggested-by: @LingMan
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35210 >
2025-06-17 22:28:54 +00:00
Eric Engestrom
0766d14562
lavapipe/ci: catch all the dEQP-VK.synchronization2.timeline_semaphore.* flakes
...
Suggested-by: @daniels
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35592 >
2025-06-17 21:49:36 +00:00
Eric Engestrom
734523f851
broadcom/ci: catch more similar flakes
...
Suggested-by: @daniels
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35592 >
2025-06-17 21:49:36 +00:00
Eric Engestrom
393cbfa8f7
radv+zink/ci: document flakes seen recently
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35592 >
2025-06-17 21:49:36 +00:00
Eric Engestrom
418ebcde82
lavapipe/ci: document flakes seen recently
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35592 >
2025-06-17 21:49:35 +00:00
Eric Engestrom
60c89bf6f3
freedreno/ci: document flakes seen recently
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35592 >
2025-06-17 21:49:35 +00:00
Eric Engestrom
cc1cbf87f0
broadcom/ci: document flakes seen recently
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35592 >
2025-06-17 21:49:35 +00:00
Eric Engestrom
454684aa59
radv/ci: document flakes seen recently
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35592 >
2025-06-17 21:49:35 +00:00
Eric Engestrom
d5a3cfac25
radeonsi/ci: document flakes seen recently
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35592 >
2025-06-17 21:49:35 +00:00
Eric Engestrom
494bb340eb
lavapipe/ci: skip timing out tests
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35592 >
2025-06-17 21:49:35 +00:00
Eric Engestrom
0dcdee80c6
lavapipe/ci: document new failure
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35592 >
2025-06-17 21:49:35 +00:00
Eric Engestrom
8d497c94c1
nvk+zink/ci: document new failures
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35592 >
2025-06-17 21:49:35 +00:00
Eric Engestrom
bd5b852ee6
freedreno/ci: document fixed & new failures
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35592 >
2025-06-17 21:49:35 +00:00
Eric Engestrom
757ad6a333
etnaviv/ci: document new failure
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35592 >
2025-06-17 21:49:35 +00:00
Eric Engestrom
92cf8b2dc3
radeonsi/ci: update glcts expectations
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35592 >
2025-06-17 21:49:35 +00:00
Brian Paul
0b2b51cf1c
svga: assorted code clean-ups
...
- formatting clean-ups, remove tabs, trailing whitespace.
- move var decls into loops or closer to where they're used.
- add const qualifiers.
No functional changes.
Signed-off-by: Brian Paul <brian.paul@broadcom.com >
Reviewed-by: Neha Bhende <neha.bhende@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35579 >
2025-06-17 20:50:48 +00:00
Mike Blumenkrantz
5bc840ea62
zink: add ZINK_DEBUG to skip msaa stores on renderpasses which have ended
...
this is super illegal and not conformant but very desirable on tilers
for certain apps
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35477 >
2025-06-17 15:49:38 -04:00
Mike Blumenkrantz
2b6e7c4609
tc: add #define to disable strict resolve merging
...
this enables merging fb resolves which do not cover the full dst
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35477 >
2025-06-17 15:49:36 -04:00
Mike Blumenkrantz
8933b3ed39
tc: add resolve resource to rp info
...
this allows non-winsys resolves to be optimized out
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35477 >
2025-06-17 15:49:34 -04:00
Mike Blumenkrantz
e2d40aab6f
tc: rework rp info incrementing
...
the logic for incrementing this in recorder/executor threads was far
too complex, which meant there were unlimited bugs which could trigger
in subtle corner cases
rework this to be simpler to ensure that the executor info always matches
up with the recorder info
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35477 >
2025-06-17 15:49:31 -04:00
Mike Blumenkrantz
4989a40e89
tc: explicitly terminate renderpasses on fb access
...
this helps to avoid some deadlock scenarios when rp tracking gets more complex,
and it also makes rp splitting a bit more precise
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35477 >
2025-06-17 15:49:29 -04:00
Mike Blumenkrantz
ea85a14c35
tc: fix zsbuf rp info persistence across fb states
...
zsbuf info is only part of data8[3], not the whole thing
cc: mesa-stable
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35477 >
2025-06-17 15:49:27 -04:00
Mike Blumenkrantz
438e5abc06
zink: create inline resolve surface in begin_rendering
...
this will unify more code in a future commit
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35477 >
2025-06-17 14:05:30 -04:00
Mike Blumenkrantz
a5265384fc
zink: move tc inlined resolve code down a bit
...
this was getting clobbered by msrtss
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35477 >
2025-06-17 14:05:30 -04:00
Mike Blumenkrantz
7b3454322c
zink: add format param to zink_surface_resolve_init
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35477 >
2025-06-17 14:05:30 -04:00
Mike Blumenkrantz
8755a8b0ca
zink: extract resolve surface init to separate function
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35477 >
2025-06-17 14:05:30 -04:00
Mike Blumenkrantz
9b43daca24
zink: be slightly more precise about flagging loadop change on fb invalidate
...
probably doesn't change anything anywhere, but it can't hurt
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35477 >
2025-06-17 14:05:30 -04:00
Mike Blumenkrantz
19ec703f28
zink: update docs for nopc
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35477 >
2025-06-17 14:05:27 -04:00
Jesse Natalie
d6e5f4852c
d3d12: Fix 'surface conversion' path for RTVs
...
Fixes: 2eb45daa ("gallium: de-pointerize pipe_surface")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35585 >
2025-06-17 17:42:21 +00:00
Jesse Natalie
2023a96e4d
d3d12: Optimize redundant flushes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35566 >
2025-06-17 17:25:10 +00:00
Matt Jolly
1a698c75ae
build: Rust: Bump minimum Meson and bindgen version
...
Meson 1.7.0 is required to ensure that generated bindings
are suitable for use with the selected Rust compiler.
Bindgen is bumped to 0.71.1 which has more permissive handling of
`--rust-target`, enabling (almost) any valid Rust version to be
passed as a target; `-nightly` and `-beta*` suffixes are an exception
to this.
This behaviour is expected to improve further with later versions of
Meson; upstream fixes have landed that:
- pass a stripped version string to bindgen
- additionally pass an appropriate `--rust-edition` if `rust_std` is
set (or "nightly" if the compiler is `nightly`).
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12680
Bug: https://bugs.gentoo.org/946913
Signed-off-by: Matt Jolly <kangie@gentoo.org >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33725 >
2025-06-17 16:51:15 +00:00
Matt Jolly
c1440cd342
ci: add header with image tags to build-bindgen.sh
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33725 >
2025-06-17 16:51:15 +00:00
Matt Jolly
fe8ca3c9ab
ci/fedora: use build-bindgen.sh to install [c]bindgen
...
We now depend on a later version of bindgen than is available
in the Fedora repositories. Use `build-bindgen.sh` to install
the specific version that we need.
Signed-off-by: Matt Jolly <kangie@gentoo.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33725 >
2025-06-17 16:51:15 +00:00
Matt Jolly
1f00e6fb28
ci/debian: arm64: only install Meson once
...
We already use `install-meson.sh` so that we can select an appropriate
version of Meson. Instead of installing two copies just do it before
we begin building anything in the container.
Signed-off-by: Matt Jolly <kangie@gentoo.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33725 >
2025-06-17 16:51:15 +00:00
Matt Jolly
a75a1cd8ec
ci/alpine: Control Meson version
...
We need to use a later version of Meson than is currently available
in the Alpine repository. Use the existing `install-meson.sh` to fetch
the appropriate version from PyPI.
This requires that we explicitly install a Ninja impl on Alpine -
Samurai is the preferred impl and by using this we do not need
to prefix `PATH` to access Ninja.
`apk` installed Installed packages are additionally sorted.
Signed-off-by: Matt Jolly <kangie@gentoo.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33725 >
2025-06-17 16:51:15 +00:00
David Rosca
31967efd2c
radv/video: Fix indentation
...
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35543 >
2025-06-17 16:28:59 +00:00
David Rosca
58085da743
radv/video: Only enable VP9 decode with supported firmware
...
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35543 >
2025-06-17 16:28:59 +00:00
David Rosca
3b6f23a8e1
ac/gpu_info: Add vcn_fw_revision
...
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35543 >
2025-06-17 16:28:59 +00:00
Gurchetan Singh
1d62d989a1
gfxstream: fix virtio-gpu on Goldfish interactions
...
So Goldfish doesn't really have /dev/dri/renderN128
in it's system image, but somehow this worked in the
past?
Probably since VirtGpuDevice::getInstance() never
returned a nullptr in the past, and now it does.
Add nullptr checks to fix the crash.
TEST=emulator -feature GuestAngle -gpu lavapipe boots
to UI on main
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35580 >
2025-06-17 16:13:03 +00:00
Gurchetan Singh
5090aa7160
gfxstream: fix opening virtgpu DRM
...
Somebody needs to modify Cuttlefish's SELinux rules to
account for the syscalls used by drmGetDevices2().
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35580 >
2025-06-17 16:13:03 +00:00
Serdar Kocdemir
7a723331a1
gfxstream: Remove unnecessary parentheses in codegen
...
Improve readability of the code by removing some of the
unnecessary parentheses in the generated code.
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35580 >
2025-06-17 16:13:03 +00:00
Serdar Kocdemir
c77ccd0904
gfxstream: Check size for memcpy operations
...
Avoid nullptr from zero-size allocations being passed
into the copy functions, which is causing UB errors.
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35580 >
2025-06-17 16:13:03 +00:00
Jason Macnak
191fe7e4c4
gfxstream: Update snapshot decoder to handle imageless framebuffer
...
When `VkFramebufferCreateInfo::flags` has
`VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT`,
`VkFramebufferCreateInfo::pAttachments` should be ignored.
Test: cvd create \
--gpu_mode=gfxstream_guest_angle_host_swiftshader \
--gpu_renderer_features="VulkanSnapshots:enabled"
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35580 >
2025-06-17 16:13:03 +00:00
Bo Hu
0c1390acfb
gfxstream: [vulkan snapshot]: update codegen for vkCmdCopyImageToBuffer
...
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35580 >
2025-06-17 16:13:03 +00:00
Janne Grunau
48ede1a757
gallium/dril: Add entrypoint for apple (asahi) kms driver
...
Ensures that GLX uses "DRI2 GL" instead of "DRISWRAST GL" provider
caused by "AIGLX error: apple exports no extensions
(/usr/lib64/dri/apple_dri.so: undefined symbol: __driDriverExtensions)".
Backport-to: 25.1
Fixes: 27d2bd5925 ("gallium: wire up asahi driver")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35562 >
2025-06-17 15:42:55 +00:00
Rhys Perry
ea0670dfb5
nir: simplify nir_addition_might_overflow
...
nir_unsigned_upper_bound is good enough that this isn't needed anymore.
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/35514 >
2025-06-17 13:28:00 +00:00
Rhys Perry
f3b7ac730c
nir/uub: improve ior/ixor with constant sources
...
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/35514 >
2025-06-17 13:28:00 +00:00
Rhys Perry
ae6ad8977b
nir/uub: improve iand with constant sources
...
fossil-db (navi21):
Totals from 9 (0.01% of 79653) affected shaders:
Instrs: 11878 -> 11868 (-0.08%)
CodeSize: 61572 -> 61508 (-0.10%)
Latency: 44585 -> 44581 (-0.01%); split: -0.02%, +0.01%
InvThroughput: 9697 -> 9660 (-0.38%)
VALU: 8889 -> 8876 (-0.15%)
SALU: 1339 -> 1342 (+0.22%)
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/35514 >
2025-06-17 13:27:59 +00:00
Rhys Perry
8ee5440073
nir/uub: improve ishl/imul with constant sources
...
fossil-db (navi21):
Totals from 1 (0.00% of 79653) affected shaders:
Instrs: 1339 -> 1338 (-0.07%)
CodeSize: 7244 -> 7240 (-0.06%)
Latency: 19827 -> 19822 (-0.03%)
InvThroughput: 9913 -> 9911 (-0.02%)
SALU: 419 -> 418 (-0.24%)
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/35514 >
2025-06-17 13:27:59 +00:00
Lionel Landwerlin
4a966fd28d
ci/zink: add validation error
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35358 >
2025-06-17 11:23:46 +00:00
Lionel Landwerlin
4a93c4f5e3
ci/zink: add the same glx@glx-tfp flake on ADL
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35358 >
2025-06-17 11:23:46 +00:00
Calder Young
03cdb3078a
anv: Support multi-planar formats in anv_formats_are_compatible
...
Cc: mesa-stable
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35358 >
2025-06-17 11:23:46 +00:00
Lionel Landwerlin
f4c1753c1a
anv: report color/storage features on YCbCr images with EXTENDED_USAGE
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13219
Cc: mesa-stable
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35358 >
2025-06-17 11:23:46 +00:00
Lionel Landwerlin
bd959ea48f
anv: pass image usage/flags to anv_get_image_format_features2
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35358 >
2025-06-17 11:23:46 +00:00
Lionel Landwerlin
befc2a2f62
anv: fix R64 format support reporting
...
We only want the atomic bit to be conditional to non sparse.
Also take the opportunity to fix buffer features and report the same
supported atomic formats as images.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: ed77f67e44 ("anv: add emulated 64bit integer storage support")
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35358 >
2025-06-17 11:23:45 +00:00
Samuel Pitoiset
ff8b652ff9
docs: remove redundant nogttspill description
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35572 >
2025-06-17 09:28:34 +00:00
Sergi Blanch-Torne
8f557b84f6
ci: crnm: fix hyperlink format
...
While preparing a console link, if there is not padding defined and the text
is not strictly a string, we can have an exception that is also finishing the
execution. So, we need to strictly cast the text variable.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13342
Signed-off-by: Sergi Blanch-Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35511 >
2025-06-17 09:02:40 +00:00
Samuel Pitoiset
c1cd28a6ab
docs: move nogttspill to the RADV_PERFTEST section
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35571 >
2025-06-17 09:50:01 +02:00
Eve
f4ad6e6d4a
radv: add RADV_PERFTEST option to turn off gtt spilling
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8107
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35355 >
2025-06-17 06:46:27 +00:00
Samuel Pitoiset
203aacf064
radv/meta: use radv_get_copy_flags_from_bo() more
...
Cleanups.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35550 >
2025-06-17 06:16:07 +00:00
Jonathan Gray
270035fdce
intel/dev: update BMG device names
...
Ref: https://www.intel.com/content/www/us/en/products/sku/241676/intel-arc-b570-graphics/specifications.html
Ref: https://www.intel.com/content/www/us/en/products/sku/241598/intel-arc-b580-graphics/specifications.html
Ref: https://www.intel.com/content/www/us/en/products/sku/242615/intel-arc-pro-b50-graphics/specifications.html
Ref: https://www.intel.com/content/www/us/en/products/sku/243916/intel-arc-pro-b60-graphics/specifications.html
Fixes: c1d3fa007c ("intel/dev: Add BMG PCI IDs (with FORCE_PROBE set)")
Fixes: d3ec467031 ("intel/dev: Add BMG 0xe211 PCI ID")
Acked-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35539 >
2025-06-17 05:04:46 +00:00
Brian Paul
21a83aba3b
svga: stop using pipe_context::create_surface()
...
Call svga_create_surface() directly instead.
Signed-off-by: Brian Paul <brian.paul@broadcom.com >
Reviewed-by: Neha Bhende <neha.bhende@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35565 >
2025-06-17 00:13:14 +00:00
Rob Clark
8d13fc447e
freedreno/a6xx: Fix buffer clears
...
The max dimensions are in units of pixels, not bytes. But the x
coordinate shift is based on aligning the address/offset to 64.
Rework the buffer clear loop to iterate in terms of pixels, but
with the x dimension shift based on converting aligned offset
to pixels.
Fixes OpenCL-CTS test_buffers.
Fixes: dafc4476f7 ("freedreno: Implement fast clear_buffer for Adreno 6xx and 7xx")
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35557 >
2025-06-16 23:40:04 +00:00
Rob Clark
551ffb73c7
freedreno/cffdec: Skip printing null descriptors
...
If the descriptor is all 0's, it isn't interesting to print. This
reduces the verbosity of --bindless arg quite a bit.
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35534 >
2025-06-16 22:53:57 +00:00
Rob Clark
8eb2540b78
freedreno/a6xx: cl_khr_image2d_from_buffer support
...
This allows sampling from a buffer as if it was a simple (single
level/layer, linear) 2d image/texture. Add a helper to convert
struct pipe_image_view to an apprpriate fdl_layout and wire it up
in the image view and tex view paths.
Can be tested with cl cts:
./test_image_streams 2D read CL_RG CL_SIGNED_INT16 CL_FILTER_NEAREST CL_ADDRESS_CLAMP_TO_EDGE UNNORMALIZED
(for ex)
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35447 >
2025-06-16 22:38:36 +00:00
Rob Clark
095e136f8b
freedreno/a6xx: Fix max_threads_per_block calc
...
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35447 >
2025-06-16 22:38:36 +00:00
Rob Clark
a890ad80d6
freedreno: Remove obsolete comment
...
We do used CACHED_COHERENT in some cases. We don't used
cached-incoherent, so nothing more to do.
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35447 >
2025-06-16 22:38:35 +00:00
Danylo Piliaiev
4a80e0baf6
tu: Fix tracepoints with renderpasses spanning several cmdbufs
...
- cmdbuf tracepoint moved to tu_cmd_buffer_begin since we want to
trace internal cmdbuf where we reconstruct renderpass.
- Stomp renderpass start tracepoint if renderpass doesn't end in
current cmdbuf, and create new renderpass tracepoint when rp
is reconstructed.
- Create new trace_rp_drawcalls_start when reconstructing rp
in the internal cmdbuf.
With this there are no crashes in:
dEQP-VK.dynamic_rendering.primary_cmd_buff.*
With TU_DEBUG=gmem,forcebin MESA_GPU_TRACES=print
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34981 >
2025-06-16 22:22:05 +00:00
Danylo Piliaiev
1cd2a857d6
tu: Rename u_trace renderpass iterators
...
They are not around renderpass but around draw_cs inside a renderpass.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34981 >
2025-06-16 22:22:05 +00:00
Karol Herbst
7e9ee2000a
rusticl/image: fix sub-buffer images
...
There were two issues with the current implementation:
- We didn't set the offset for sampler and image views
- Image::fill didn't take the parents offset into account
Cc: mesa-stable
Reported-by: Rob Clark <rob.clark@oss.qualcomm.com >
Tested-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35537 >
2025-06-16 21:57:43 +00:00
Jordan Justen
17fbd0df51
intel/dev: Update names for BMG G31 PCI IDs
...
Ref: bspec 68090
Fixes: 4c4d90ae49 ("intel/dev: Add BMG PCI IDs 0xe220-0xe223")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35509 >
2025-06-16 13:59:39 -07:00
Christian Gmeiner
3a9acd47c7
nouveau/nir: Don't use deprecated NIR_PASS_V macro
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35544 >
2025-06-16 20:44:42 +00:00
Christian Gmeiner
7e8f4df4ff
nouveau/nir: Return progress for nv_nir_move_stores_to_end(..)
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35544 >
2025-06-16 20:44:42 +00:00
Lionel Landwerlin
4dad9d443b
anv: fix valgrind warning
...
Found when running
KHR-Single-GL46.arrays_of_arrays_gl.InteractionArgumentAliasing2_var_type_index_4
with zink/anv :
Test case 'KHR-Single-GL46.arrays_of_arrays_gl.InteractionArgumentAliasing2_var_type_index_4'..
==22722== Thread 3 glcts:zfq0:
==22722== Uninitialised byte(s) found during client check request
==22722== at 0x134A8D51: anv_batch_bo_finish (anv_batch_chain.c:350)
==22722== by 0x134ACD3E: anv_cmd_buffer_end_batch_buffer (anv_batch_chain.c:1114)
==22722== by 0x13CECB30: end_command_buffer (genX_cmd_buffer.c:3467)
==22722== by 0x13CECB7B: gfx12_EndCommandBuffer (genX_cmd_buffer.c:3478)
==22722== by 0x6FFA343: submit_queue (zink_batch.c:739)
==22722== by 0x672684B: util_queue_thread_func (u_queue.c:294)
==22722== by 0x6790976: impl_thrd_routine (threads_posix.c:43)
==22722== by 0x579BAA3: start_thread (pthread_create.c:447)
==22722== by 0x5828A33: clone (clone.S:100)
==22722== Address 0x94ac840 is 2,112 bytes inside a block of size 8,192 client-defined
==22722== at 0x134A04C7: anv_bo_pool_alloc (anv_allocator.c:1311)
==22722== by 0x134A8772: anv_batch_bo_create (anv_batch_chain.c:262)
==22722== by 0x134AB6BC: anv_cmd_buffer_init_batch_bo_chain (anv_batch_chain.c:877)
==22722== by 0x134BCC4C: anv_create_cmd_buffer (anv_cmd_buffer.c:146)
==22722== by 0x152FEBE4: vk_common_AllocateCommandBuffers (vk_command_pool.c:218)
==22722== by 0x133FEA1D: vkAllocateCommandBuffers (trampoline.c:1950)
==22722== by 0x6FF8AE4: create_batch_state (zink_batch.c:367)
==22722== by 0x6FF91B5: get_batch_state (zink_batch.c:495)
==22722== by 0x6FF91DB: zink_reset_batch (zink_batch.c:504)
==22722== by 0x6FF9424: zink_start_batch (zink_batch.c:537)
==22722== by 0x706C01D: zink_context_create (zink_context.c:5647)
==22722== by 0x60403A6: st_api_create_context (st_manager.c:978)
==22722==
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: d21e7e5a9f ("anv: Query sampler offset in set_image_clear_color()")
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Dylan Baker <dylan.c.baker@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35549 >
2025-06-16 18:26:30 +00:00
Wenfeng Gao
0af342ce36
mediafoundation: Modify the newly added CODECAPI behavior CODECAPI_AVEncVideoOutputQPMapBlockSize, CODECAPI_AVEncVideoOutputBitsUsedMapBlockSize.
...
IsSupported() returns S_OK only when the HW encoder supports this API.
GetValue() returns the supported block size for CODECAPI_AVEncVideoOutputQPMapBlockSize and CODECAPI_AVEncVideoOutputBitsUsedMapBlockSize.
SetValue() returns E_INVALIDARG if the set value does not match the supported value.
User can call GetValue() to get the supported block size before calling SetValue() to avoid the failure.
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35554 >
2025-06-16 17:49:59 +00:00
Pohsiang (John) Hsu
2bb9f691e8
mediafoundation: fix slice capability check, and fix the slice mb mode, remove slice mode 2
...
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35554 >
2025-06-16 17:49:59 +00:00
Olivia Lee
8b15d0f31f
panvk: advertise VK_KHR_maintenance6 on v10+
...
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: John Anthony <john.anthony@arm.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35528 >
2025-06-16 10:29:26 -07:00
Olivia Lee
0018b6cff1
panvk: allow binding VK_NULL_HANDLE index buffers
...
This is required by VK_KHR_maintenance6. Because we don't
advertise nullDescriptor, it is only valid to draw with a null index
buffer if the draw accesses 0 indices. For direct draws, this is covered
by checks on instancedCount and indexCount. For indirect draws we need
to add an additional check, under the assumption that if the index
buffer is null, the draw must be empty.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: John Anthony <john.anthony@arm.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35528 >
2025-06-16 10:29:26 -07:00
Olivia Lee
b9046ffa14
panvk: implement VkBindMemoryStatus
...
Needed for VK_KHR_maintenance6.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: John Anthony <john.anthony@arm.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35528 >
2025-06-16 10:29:26 -07:00
Olivia Lee
c34d88f81d
panvk: factor BindImageMemory2 loop into function
...
This simplifies VkBindMemoryStatus support.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: John Anthony <john.anthony@arm.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35528 >
2025-06-16 10:29:26 -07:00
Olivia Lee
b31dee9b7e
panvk: return error when mmap fails in BindImageMemory2 and BindBufferMemory2
...
Previous code crashed with an assertion failure in this case.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Fixes: 211aa20194 ("panvk: Move away from panfrost_{bo,device}")
Reviewed-by: John Anthony <john.anthony@arm.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35528 >
2025-06-16 10:29:25 -07:00
Tapani Pälli
cc6681e878
drirc: toggle filter addr rounding for Heroes Of Valor
...
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13357
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35541 >
2025-06-16 15:38:55 +00:00
Sagar Ghuge
3696f85b63
anv: Drop unused helper cmd_buffer_dispatch_kernel
...
Drop some more unused fields: (Lionel)
- kernel_args_size, kernel_arg_count & kernel_args
- anv_kernel_arg
- anv_kernel
- max_grl_scratch_size
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35530 >
2025-06-16 15:22:09 +00:00
Hoe Hao Cheng
8ed19a407f
zink/codegen: check for core promotion using the latest registry entry
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35552 >
2025-06-16 22:25:15 +08:00
Eric Engestrom
9e007063f2
ci/piglit: avoid copying /piglit across filesystems when unused
...
This `mv` copies the folder from the read-only docker image to the
run time overlayfs, which is expensive and unnecessary, and slow on
devices using network disks.
`rm` by comparison is instant, and there is no reason to keep the folder
around if we're taking it away from the expected path anyway.
Fixes: 8d08cde667 ("ci/piglit: Use structured tagging for Piglit")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35500 >
2025-06-16 11:52:08 +00:00
Patrick Lerda
1d28931d2c
r600: handle cayman border color sint formats
...
This is the cayman implementation for these border
color formats which are already working on evergreen.
Here are the tests fixed:
deqp-gles31/functional/texture/border_clamp/formats/r16i/nearest_size_npot: fail pass
deqp-gles31/functional/texture/border_clamp/formats/r16i/nearest_size_pot: fail pass
deqp-gles31/functional/texture/border_clamp/formats/r8i/nearest_size_npot: fail pass
deqp-gles31/functional/texture/border_clamp/formats/r8i/nearest_size_pot: fail pass
deqp-gles31/functional/texture/border_clamp/formats/rg16i/nearest_size_npot: fail pass
deqp-gles31/functional/texture/border_clamp/formats/rg16i/nearest_size_pot: fail pass
deqp-gles31/functional/texture/border_clamp/formats/rg8i/nearest_size_npot: fail pass
deqp-gles31/functional/texture/border_clamp/formats/rg8i/nearest_size_pot: fail pass
deqp-gles31/functional/texture/border_clamp/formats/rgb16i/nearest_size_npot: fail pass
deqp-gles31/functional/texture/border_clamp/formats/rgb16i/nearest_size_pot: fail pass
deqp-gles31/functional/texture/border_clamp/formats/rgb8i/nearest_size_npot: fail pass
deqp-gles31/functional/texture/border_clamp/formats/rgb8i/nearest_size_pot: fail pass
deqp-gles31/functional/texture/border_clamp/per_axis_wrap_mode/texture_2d/int_color/nearest/s_clamp_to_edge_t_clamp_to_border_npot: fail pass
deqp-gles31/functional/texture/border_clamp/per_axis_wrap_mode/texture_2d/int_color/nearest/s_clamp_to_edge_t_clamp_to_border_pot: fail pass
deqp-gles31/functional/texture/border_clamp/per_axis_wrap_mode/texture_2d/int_color/nearest/s_mirrored_repeat_t_clamp_to_border_npot: fail pass
deqp-gles31/functional/texture/border_clamp/per_axis_wrap_mode/texture_2d/int_color/nearest/s_mirrored_repeat_t_clamp_to_border_pot: fail pass
deqp-gles31/functional/texture/border_clamp/per_axis_wrap_mode/texture_2d/int_color/nearest/s_repeat_t_clamp_to_border_npot: fail pass
deqp-gles31/functional/texture/border_clamp/per_axis_wrap_mode/texture_2d/int_color/nearest/s_repeat_t_clamp_to_border_pot: fail pass
deqp-gles31/functional/texture/border_clamp/per_axis_wrap_mode/texture_3d/int_color/nearest/s_clamp_to_border_t_clamp_to_border_r_clamp_to_border_npot: fail pass
deqp-gles31/functional/texture/border_clamp/per_axis_wrap_mode/texture_3d/int_color/nearest/s_clamp_to_border_t_clamp_to_border_r_clamp_to_border_pot: fail pass
deqp-gles31/functional/texture/border_clamp/per_axis_wrap_mode/texture_3d/int_color/nearest/s_clamp_to_border_t_clamp_to_border_r_repeat_npot: fail pass
deqp-gles31/functional/texture/border_clamp/per_axis_wrap_mode/texture_3d/int_color/nearest/s_clamp_to_border_t_clamp_to_border_r_repeat_pot: fail pass
deqp-gles31/functional/texture/border_clamp/per_axis_wrap_mode/texture_3d/int_color/nearest/s_mirrored_repeat_t_clamp_to_border_r_repeat_npot: fail pass
deqp-gles31/functional/texture/border_clamp/per_axis_wrap_mode/texture_3d/int_color/nearest/s_mirrored_repeat_t_clamp_to_border_r_repeat_pot: fail pass
deqp-gles31/functional/texture/border_clamp/per_axis_wrap_mode/texture_3d/int_color/nearest/s_repeat_t_mirrored_repeat_r_clamp_to_border_npot: fail pass
deqp-gles31/functional/texture/border_clamp/per_axis_wrap_mode/texture_3d/int_color/nearest/s_repeat_t_mirrored_repeat_r_clamp_to_border_pot: fail pass
deqp-gles31/functional/texture/border_clamp/range_clamp/nearest_int_color: fail pass
deqp-gles31/functional/texture/border_clamp/sampler/int_color: fail pass
Cc: mesa-stable
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35280 >
2025-06-16 11:34:42 +00:00
Lucas Fryzek
49f5cc48cf
anv: Add format conversion for AHARDWAREBUFFER_FORMAT_YCbCr_P010
...
Reviewed-by: Juston Li <justonli@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35161 >
2025-06-16 10:52:25 +00:00
Sushma Venkatesh Reddy
03fc7d6a6d
intel/perf: Add PTL OA support
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35298 >
2025-06-16 09:01:30 +00:00
Lucas Stach
83a3123ac5
docs/etnaviv: add/fix supported texture extensions
...
We do support both GL_EXT_texture_shared_exponent and GL_EXT_texture_snorm
on hardware able to deal with those formats. GL_ARB_texture_rg is limited
to HALTI5 feature level, as it requires R8 render target support, which
isn't available in earlier GPU versions.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35538 >
2025-06-16 07:49:38 +00:00
Samuel Pitoiset
061bc6151a
radv: fix 1x user sample locations on GFX10+
...
Only GFX10+ can support 1x user sample locations, but MSAA_ENABLE
needs to be enabled.
Fixes new VKCTS coverage dEQP-VK.pipeline.*samples_1*.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35492 >
2025-06-16 06:18:07 +00:00
Samuel Pitoiset
251b23f6c2
ac/surface: fix aliasing DCC tilings with HiZ info on GFX12
...
DCC tilings info needs to be set for all surfaces, including
depth/stencil. But because this is a C union, settings those fields
for depth/stencil surfaces might accidentally overwrite HiZ info.
This fixes rendering issues with RADV_DEBUG=nohiz.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35515 >
2025-06-16 05:56:45 +00:00
Samuel Pitoiset
b0604d6938
docs: mark VK_KHR_depth_clamp_zero_one as done for RADV
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35516 >
2025-06-16 05:52:39 +00:00
Yiwei Zhang
8368328d98
v3dv: fix swapchain bind info look up
...
Fixes: c672b23857 ("v3dv: implement interactions of VK_KHR_device_group with VK_KHR_swapchain")
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35505 >
2025-06-16 04:22:20 +00:00
Autumn Ashton
5b50f229f0
tu: Implement VK_KHR_unified_image_layouts
...
Turnip does not use any image layouts aside from UNDEFINED, therefore, we can expose this extension.
Signed-off-by: Autumn Ashton <misyl@froggi.es >
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35536 >
2025-06-15 15:42:31 +01:00
Karol Herbst
79656dbcd3
rusticl: implement cl_khr_priority_hints
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35456 >
2025-06-15 13:12:11 +02:00
Lucas Stach
1c3f238ce9
etnaviv: expose ARB_seamless_cube_map
...
While AMD_seamless_cubemap_per_texture gives more control over seamless
filtering than the base extension, the cap isn't strictly handled as a
superset, so we also need to set the cap for the context wide handling
to expose ARB_seamless_cube_map.
Makes piglit spec@amd_seamless_cubemap_per_texture go from skip to pass
as this test (correctly) also checks the presence of the base extension.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35527 >
2025-06-14 21:50:49 +00:00
Lucas Stach
340dc7787f
etnaviv/ci: update expection after blit fixes
...
With the blit now using the correct shadow a bunch of
blit related tests start passing.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35526 >
2025-06-14 21:37:06 +00:00
Lucas Stach
ede41372f4
etnaviv: use most recent shadow of resources as blit source/target
...
The frontend does not know that etnaviv may keep multiple shadows around
for a resource, so it will always pass in the base resource as blit source
and destination. For those blits to work as expected by the API we need to
work out which shadow is the most recent one and use those as blit source
and destination resources.
CC: mesa-stable
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35526 >
2025-06-14 21:37:06 +00:00
Lucas Stach
d4780f03fc
etnaviv: use direct BLT/RS blit hook for internal copies
...
etna_copy_resource() and etna_copy_resource_box() are used to keep the
internal shadow copies of a resource up to date. They are supposed to
always use the RS or BLT engines to do the copy, never requiring any
fallbacks or fake format handling. They should also work regardless of
the current render condition state. So instead of going through the
pipe_context blit hook, directly call the RS or BLT blit hook on the
etna_context.
CC: mesa-stable
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35526 >
2025-06-14 21:37:06 +00:00
Mary Guillemard
b5004298aa
pan/lib: Add a test for pan_compute_npot_divisor
...
This ensures proper behaviors of pan_compute_npot_divisor by using the
same algorithm as the hardware to perform the division.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35490 >
2025-06-14 17:20:10 +02:00
Mary Guillemard
0d9ac8f448
pan/lib: Rename pan_compute_magic_divisor to pan_compute_npot_divisor
...
It's not that magical those days.
This also give proper names around the codebase for exponent and
epsilon.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35490 >
2025-06-14 17:20:02 +02:00
Mary Guillemard
5743bd703d
pan/lib: Inline pan_atributes.c in pan_encoder.h
...
We are going to need those functions in indirect CL codepaths.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35490 >
2025-06-14 17:19:55 +02:00
Mary Guillemard
c1cd05771f
pan/lib: Refactor pan_padded_vertex_count
...
We are going to move everything in pan_encode.h for CL usage.
This inline the code used by pan_padded_vertex_count.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35490 >
2025-06-14 17:19:45 +02:00
Mary Guillemard
b53d98eb41
pan/lib: Rewrite npot divisor algorithm
...
It was based on reverse engineering and inaccurate.
This also get ride of fp64 usage and will allow us to use it in OpenCL C
shaders for indirect/indexed draw.
On the full 32-bit range, this fixes ~10 millions inaccurate results.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Fixes: 467ae0d39d ("panfrost: Factor out panfrost_compute_magic_divisor")
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35490 >
2025-06-14 17:19:28 +02:00
Rhys Perry
01fae0c5c2
ac/llvm: use ds_bpermute_b32 for GFX12 wave64
...
It works.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Marek Olšák <maraeo@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35489 >
2025-06-14 13:59:11 +00:00
Rhys Perry
9a5073e3a4
ac/llvm: rewrite shuffle waterfall loop
...
This can't break until we have read all lanes, otherwise it might read
from an inactive lane.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Marek Olšák <maraeo@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35489 >
2025-06-14 13:59:11 +00:00
Rhys Perry
2ff53fd97c
ac/llvm: convert to integer after reductions
...
These return floating point types for floating point ops.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Backport-to: 25.1
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Marek Olšák <maraeo@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35489 >
2025-06-14 13:59:10 +00:00
Rhys Perry
8609008aeb
ac/llvm: fix mul24 intrinsic overloading
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Fixes: e3edc6029b ("ac/llvm: use mul24 intrinsics")
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Marek Olšák <maraeo@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35489 >
2025-06-14 13:59:10 +00:00
Rhys Perry
3c2b3fbd03
ac/llvm: fix overloading of intrinsic names
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Backport-to: 25.1
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Marek Olšák <maraeo@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35489 >
2025-06-14 13:59:10 +00:00
Rhys Perry
ac2e36b377
ac/nir: create lowered inverse_ballot
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Fixes: b49eab68a8 ("ac/nir: use s_sendmsg(HS_TESSFACTOR) to optimize writing tess factors for gfx11")
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Marek Olšák <maraeo@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35489 >
2025-06-14 13:59:10 +00:00
Georg Lehmann
29787911e7
vulkan: update headers/xml for 1.4.318
...
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35517 >
2025-06-14 08:21:31 +00:00
Olivia Lee
a7276d0010
ci: update CI contact list
...
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35521 >
2025-06-13 23:21:37 -07:00
Olivia Lee
e1856d7152
ci: document process for disabling broken farms in more detail
...
Reading the previous version of the docs, I had the impression that the
correct action when a farm is broken is to ping Daniel or Emma in
the #freedesktop channel. I learned that just creating an MR to disable
it immediately is fine, and am documenting this. The farm maintainer
table also wasn't mentioned in the docs previously.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35521 >
2025-06-13 23:21:37 -07:00
Faith Ekstrand
6a77c8e953
nvk: Add an nvk_sampler_header struct and return it by value
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35475 >
2025-06-14 03:52:34 +00:00
Faith Ekstrand
bbc6f50963
nil: Don't use Fermi bits in the Maxwell null descriptor
...
Fixes: c8d8e2249a ("nil: Add a helper for populating the null descriptor")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35475 >
2025-06-14 03:52:34 +00:00
Faith Ekstrand
40b59a5c26
nil: Rework the descriptor interface
...
This adds a new Descriptor (nil_descriptor) struct and reworks all the
methods/functions to return a Descriptor. This is less janky than all
the output pointers. It also gives us a struct type that's the right
size so we're not declaring uint32_t[8] arrays everywhere.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35475 >
2025-06-14 03:52:34 +00:00
Yiwei Zhang
12e94a91e3
zink: leave can_do_invalid_linear_modifier open for venus
...
Venus is able to force LINEAR modifier to ensure the handshake across
the legacy modifier-unaware boundaries. e.g. Xorg
Acked-by: Corentin Noël <corentin.noel@collabora.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35453 >
2025-06-14 03:31:32 +00:00
Yiwei Zhang
d6bff136bd
venus: fix maint7 layered vk props query
...
We should not touch the pNext of the nested props2 struct.
Fixes: 8c6a5250ec ("venus: support VK_KHR_maintenance7")
Reviewed-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35453 >
2025-06-14 03:31:32 +00:00
Yiwei Zhang
6781dcc565
lvp: fix wsi platform swapchain image bind
...
The prior incomplete ANB support broke it.
Fixes: 0dce939e6d ("lavapipe: Add android platform integration")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35506 >
2025-06-13 21:54:04 +00:00
Mel Henning
7d974c32ce
zink: Handle null instance in 2nd create_screen
...
If zink_internal_create_screen is called twice and the first call fails
with instance==NULL, then the second call also needs to goto fail
instead of just asserting that instance is non-null.
Fixes: 015eda4a ("zink: deduplicate VkDevice and VkInstance")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13337
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35518 >
2025-06-13 19:43:25 +00:00
Christian Gmeiner
6d8bc4c98a
etnaviv: tex_desc: Add seamless cube map support
...
Seamless cube map filtering requires setting the SEAMLESS_CUBE_MAP bit
in the texture descriptor's CONFIG1 field. Since this bit is controlled
by sampler state but stored in the texture descriptor, we need to handle
the mismatch between sampler state lifetime and descriptor immutability.
Create two texture descriptors per sampler view: one with seamless cube
map disabled and one enabled. At emission time, select the appropriate
descriptor based on the current sampler state's seamless_cube_map flag.
Passes all dEQP-GLES3.functional.texture.filtering.cube.* tests on GC7000.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35499 >
2025-06-13 19:28:57 +00:00
Olivia Lee
5fe5e3176f
panvk: advertise descriptor indexing on valhall
...
Our existing descriptor implementation already supports
update-after-bind on both bifrost and valhall, but on bifrost the some
of the descriptor limits are lower than the minimum required by the
extension.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35408 >
2025-06-13 19:02:19 +00:00
Olivia Lee
f90b9b3642
panvk: raise descriptor limits on valhall
...
Previously, our descriptor set limits were set based on the hardware
limits on bifrost. On valhall, the hardware descriptor table limits are
much higher. We need to advertise higher update-after-bind descriptor
limits for descriptor indexing, so might as well increase these also.
The 2^20 limit is the same as nvk and honeykrisp.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35408 >
2025-06-13 19:02:19 +00:00
Olivia Lee
88ac602cc2
panvk: implement shaderInputAttachmentArrayNonUniformIndexing
...
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35408 >
2025-06-13 19:02:19 +00:00
Olivia Lee
8e4c6990a1
panvk: implement non uniform indexing except for input attachments
...
We need to lower everything on bifrost, and everything except nonuniform
texture offsets on valhall. With texture offsets, the hardware supports
nonuniform offsets passed in a staging register, but does not support
passing nonuniform offsets as src1 in the narrow layout. We need to make
sure we check for this if we implement narrow offsetms later.
Input attachments are skipped in this commit because they need
additional changes.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35408 >
2025-06-13 19:02:19 +00:00
Olivia Lee
e7a439f73b
panvk: implement runtimeDescriptorArray and descriptorBindingVariableDescriptorCount
...
Runtime descriptor array doesn't require any changes, variable descriptor
count is already mostly supported and just needs handling for
maxVariableDescriptorCount.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35408 >
2025-06-13 19:02:19 +00:00
Olivia Lee
f725bc4475
panvk: implement shaderInputAttachmentArrayDynamicIndexing
...
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35408 >
2025-06-13 19:02:19 +00:00
Olivia Lee
a268412533
panvk: allow sysvals to be dynamically-indexed
...
We already do this for push constants, just extend the existing
implementation. We need to update the push_consts sysval inside the
cmd_prepare_push_uniforms loop now because indirect draws patch the
sysvals. Previously this value was only used to read push constant FAUs,
so we didn't care.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35408 >
2025-06-13 19:02:19 +00:00
Olivia Lee
7ca2d51cf6
panvk: advertise texel buffer dynamic indexing
...
These don't require any changes for support.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35408 >
2025-06-13 19:02:19 +00:00
Olivia Lee
9399258af6
panvk: move descriptor set limits to constant macros
...
This simplifies get_physical_device_properties and allows us to use the
limits elsewhere.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35408 >
2025-06-13 19:02:19 +00:00
Olivia Lee
e9388f3d2d
panvk: use constants from other headers in device properties
...
We were not able to use these previously because the headers require
PAN_ARCH.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35408 >
2025-06-13 19:02:19 +00:00
Olivia Lee
91ebeddbad
panvk: make extensions, features, and properties per-arch
...
This makes things a little more flexible for groups of fields that are
arch-dependent, and allows us to use existing per-arch constant macros
instead of open-coding their values.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35408 >
2025-06-13 19:02:19 +00:00
Olivia Lee
a681b4f107
panvk: fix outdated comment
...
The name of the struct that we're currently using is panvk_ssbo_addr.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35408 >
2025-06-13 19:02:19 +00:00
Olivia Lee
5554cca4a2
panvk: add missing include to panvk_cmd_draw.h
...
This is needed for the panvk_descriptor_state struct. All of the current
sites already included panvk_cmd_desc_state.h, so it wasn't a visible
issue.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35408 >
2025-06-13 19:02:19 +00:00
Olivia Lee
b1caa2ae86
ci: disable vmware farm
...
I am getting spurious CI failures. See:
<https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35408#note_2957802 >
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35520 >
2025-06-13 18:59:26 +00:00
Lucas Stach
03c40b5aa0
etnaviv: get rid of etna_surface
...
Now that nothing calls the driver create/destroy surface hooks
anymore, we can get rid of what's left from the code.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35406 >
2025-06-13 18:44:37 +00:00
Lucas Stach
8b1ee7adb4
etnaviv: state: stop using etna_surface
...
Use pipe_surface to fill in the color and ZS buffer states.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35406 >
2025-06-13 18:44:37 +00:00
Lucas Stach
999dd209f5
etnaviv: blt: stop using etna_surface
...
Use pipe_surface to get the necessary information for the
various clears.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35406 >
2025-06-13 18:44:37 +00:00
Lucas Stach
f034323c20
etnaviv: rs: stop using etna_surface
...
Use pipe_surface to get the necessary information for the
various clears.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35406 >
2025-06-13 18:44:37 +00:00
Lucas Stach
9ee9b109ca
etnaviv: move render compatible handling from surface to resource
...
So it can be reused from different places in the driver when
etna_surface is gone.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35406 >
2025-06-13 18:44:37 +00:00
Lucas Stach
d479573f8e
etnaviv: return render resource from render_handle_incompatible if it exists
...
If a render resource already exists, we know that a earlier check already
determined that the resource isn't compatible with the PE requirements, so
there is no point in checking again. Simply return the render resource if
it exists.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35406 >
2025-06-13 18:44:36 +00:00
Lucas Stach
0acee3bfbf
etnaviv: stop caching RS clear commands on surface
...
As we want to get rid of the etna_surface, stop caching the (fast) clear
commands for the RS engine on the surface. As the pipe_surface is no
longer a CSO, we were regenerating those commands on each framebuffer
state change anyway, so the additional CPU overhead of doing this for
each clear shouldn't be too much worse.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35406 >
2025-06-13 18:44:36 +00:00
Lucas Stach
6111d07048
etnaviv: drop precomputed offset from etna_surface
...
As another step in the direction of getting rid of etna_surface,
plug the offset calculation into all places that need it and drop
the precomputed offset from the surface struct.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35406 >
2025-06-13 18:44:36 +00:00
Lucas Stach
cd58efd055
etnaviv: drop superfluous PE alignment check
...
This check and especially the XXX in the comment hasn't been valid
for a long time, as our mipmap layout and render shadow code makes
sure that all levels are properly aligned for PE usage.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35406 >
2025-06-13 18:44:35 +00:00
Lucas Stach
324cf6c305
etnaviv: don't prepare relocs in etna_surface
...
Fill the reloc data when the framebuffer state is set. Now that
pipe_surface is no longer a CSO, it doesn't matter that we need
to pay the price for the computation at state set time instead
of surface_create time.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35406 >
2025-06-13 18:44:35 +00:00
Lucas Stach
162a1cadd0
etnaviv: stop tracking ZS buffer address information multiple times
...
Same as with the color buffer addresses, we don't need to track the
ZS buffer relocs in different members per GPU generation. Simply
emit the part that's relevant for the targeted GPU instance. Again
TS depth surface base is always the same address as the first depth
pipe address, so we can reuse the reloc.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35406 >
2025-06-13 18:44:35 +00:00
Lucas Stach
393d594df7
etnaviv: stop tracking color buffer address information multiple times
...
Currently we track the color buffer address information in multiple reloc
members in the compiled framebuffer state, depending on the GPU generation.
This wastes some space, as some of the relocs will never be used on any
specific GPU instance and it complicates the framebuffer state code.
Stop doing that in favor of a single PE_RT_PIPE_COLOR_ADDR reloc array to
track this information and simply fill and emit the relevant part of that
array. Additionally the TS color surface base is always equal to the first
pixel pipe color address, so we don't need to store this separately, but
can reuse the relocs from the color pipe setup.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35406 >
2025-06-13 18:44:34 +00:00
Lucas Stach
ce124146e5
etnaviv: drop unused member PE_RT_COLOR_ADDR from compile framebuffer state
...
Those relocs were never used.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35406 >
2025-06-13 18:44:34 +00:00
Lucas Stach
e5c77d3367
etnaviv: add screen spec bit for PE multitiling
...
There are a lot of places scattered through the driver where we check
if the GPU has more than a single pixel pipe and whether the single
buffer feature is supported. All of them are trying to work out if we
need to use multitiling for the PE render targets. Add a screen spec
flag to store the result of both checks and use it where appropriate.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35406 >
2025-06-13 18:44:33 +00:00
Job Noorman
e31b1b649c
ir3: optimize more before opt_preamble
...
This prevents hoisting values to the preamble that might still get
optimized (away). This especially has a huge impact on binning variants
because many of their outputs got removed but we never optimized after
that.
fossildb stats:
Totals:
MaxWaves: 2765084 -> 2770308 (+0.19%); split: +0.19%, -0.00%
Instrs: 56289002 -> 56226045 (-0.11%); split: -0.13%, +0.02%
CodeSize: 118071672 -> 116551008 (-1.29%); split: -1.29%, +0.00%
NOPs: 9491112 -> 9477190 (-0.15%); split: -0.25%, +0.11%
MOVs: 1790085 -> 1789548 (-0.03%); split: -0.22%, +0.19%
Full: 2156693 -> 2140043 (-0.77%); split: -0.77%, +0.00%
(ss): 1329812 -> 1326394 (-0.26%); split: -0.66%, +0.40%
(sy): 686396 -> 686244 (-0.02%); split: -0.17%, +0.15%
(ss)-stall: 4995295 -> 4993233 (-0.04%); split: -0.69%, +0.65%
(sy)-stall: 19828966 -> 19833863 (+0.02%); split: -0.32%, +0.34%
STPs: 36271 -> 33249 (-8.33%)
LDPs: 45794 -> 42537 (-7.11%)
Preamble Instrs: 14467846 -> 13645555 (-5.68%); split: -5.69%, +0.01%
Early Preamble: 129346 -> 134346 (+3.87%); split: +3.89%, -0.02%
Cat0: 10450369 -> 10436616 (-0.13%); split: -0.23%, +0.10%
Cat1: 2787946 -> 2787085 (-0.03%); split: -0.15%, +0.12%
Cat2: 21265787 -> 21251803 (-0.07%); split: -0.07%, +0.01%
Cat3: 16207098 -> 16178995 (-0.17%); split: -0.17%, +0.00%
Cat5: 1596677 -> 1596707 (+0.00%)
Cat6: 854011 -> 848522 (-0.64%)
Cat7: 1597849 -> 1597052 (-0.05%); split: -0.13%, +0.08%
Totals from 22836 (11.41% of 200220) affected shaders:
MaxWaves: 335882 -> 341106 (+1.56%); split: +1.56%, -0.01%
Instrs: 6019621 -> 5956664 (-1.05%); split: -1.23%, +0.18%
CodeSize: 14192546 -> 12671882 (-10.71%); split: -10.74%, +0.03%
NOPs: 1107562 -> 1093640 (-1.26%); split: -2.18%, +0.92%
MOVs: 270465 -> 269928 (-0.20%); split: -1.43%, +1.23%
Full: 257820 -> 241170 (-6.46%); split: -6.47%, +0.01%
(ss): 156869 -> 153451 (-2.18%); split: -5.59%, +3.41%
(sy): 80161 -> 80009 (-0.19%); split: -1.46%, +1.27%
(ss)-stall: 573278 -> 571216 (-0.36%); split: -6.01%, +5.65%
(sy)-stall: 3537926 -> 3542823 (+0.14%); split: -1.78%, +1.92%
STPs: 30563 -> 27541 (-9.89%)
LDPs: 37112 -> 33855 (-8.78%)
Preamble Instrs: 2440099 -> 1617808 (-33.70%); split: -33.76%, +0.06%
Early Preamble: 9060 -> 14060 (+55.19%); split: +55.50%, -0.31%
Cat0: 1215965 -> 1202212 (-1.13%); split: -2.00%, +0.87%
Cat1: 475910 -> 475049 (-0.18%); split: -0.90%, +0.72%
Cat2: 1940479 -> 1926495 (-0.72%); split: -0.81%, +0.09%
Cat3: 1680902 -> 1652799 (-1.67%); split: -1.68%, +0.01%
Cat5: 151246 -> 151276 (+0.02%)
Cat6: 269190 -> 263701 (-2.04%)
Cat7: 174584 -> 173787 (-0.46%); split: -1.20%, +0.75%
Preamble improvements are even bigger on shaderdb:
total dwords in shared programs: 8800204 -> 8400960 (-4.54%)
dwords in affected programs: 1008384 -> 609140 (-39.59%)
helped: 3385
HURT: 14
helped stats (abs) min: 2 max: 1762 x̄: 118.02 x̃: 32
helped stats (rel) min: 0.21% max: 90.17% x̄: 32.93% x̃: 31.25%
HURT stats (abs) min: 2 max: 32 x̄: 18.43 x̃: 26
HURT stats (rel) min: 0.39% max: 16.67% x̄: 9.09% x̃: 13.13%
95% mean confidence interval for dwords value: -125.03 -109.88
95% mean confidence interval for dwords %-change: -33.46% -32.06%
Dwords are helped.
total preamble-inst in shared programs: 1274769 -> 1063479 (-16.57%)
preamble-inst in affected programs: 323660 -> 112370 (-65.28%)
helped: 3819
HURT: 5
helped stats (abs) min: 1 max: 1000 x̄: 55.33 x̃: 13
helped stats (rel) min: 0.61% max: 100.00% x̄: 53.55% x̃: 53.85%
HURT stats (abs) min: 1 max: 9 x̄: 2.60 x̃: 1
HURT stats (rel) min: 3.23% max: 6.34% x̄: 4.04% x̃: 3.70%
95% mean confidence interval for preamble-inst value: -58.84 -51.67
95% mean confidence interval for preamble-inst %-change: -54.22% -52.73%
Preamble-inst are helped.
total early-preamble in shared programs: 31297 -> 32057 (2.43%)
early-preamble in affected programs: 20 -> 780 (3800.00%)
helped: 780
HURT: 20
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 0.00% max: 0.00% x̄: 0.00% x̃: 0.00%
HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel) min: 100.00% max: 100.00% x̄: 100.00% x̃: 100.00%
95% mean confidence interval for early-preamble value: 0.93 0.97
95% mean confidence interval for early-preamble %-change: -3.58% -1.42%
Inconclusive result (value mean confidence interval and %-change mean confidence interval disagree).
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34311 >
2025-06-13 16:12:01 +00:00
Job Noorman
fca143946e
ir3/lower_io_offsets: set progress when scalarizing UAV loads
...
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Fixes: 91f19bcbe0 ("ir3: Plumb through two-dimensional UAV loads")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34311 >
2025-06-13 16:12:00 +00:00
Job Noorman
97dd831a07
ir3: don't vectorize 8bit SSBO accesses
...
We already scalarize them but they might get vectorized again when
running the optimize loop before the intrinsics get turned into the
ir3-specific ones.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34311 >
2025-06-13 16:12:00 +00:00
Derek Foreman
07881b085e
vulkan: Enable PresentWait2 on many physical devices
...
PresentWait2 should be possible on any physical device, as it adds a
surface capability query that depends on common wsi code.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35414 >
2025-06-13 15:52:02 +00:00
Derek Foreman
074ab1db29
wsi/x11: add support for PresentWait2
...
It's the same as PresentWait here, and always available.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35414 >
2025-06-13 15:52:02 +00:00
Derek Foreman
9a1a34836d
wsi/display: Add support for PresentWait2
...
It's really just the same as PresentWait here, and always available.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35414 >
2025-06-13 15:52:02 +00:00
Derek Foreman
3023f31cad
wsi/wayland: Add support for PresentWait2
...
Support PresentWait2 on any compositor that provides presentation feedback
protocol.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35414 >
2025-06-13 15:52:02 +00:00
Derek Foreman
bf285c3be9
vulkan/wsi: Add basic support for PresentWait2
...
Add common code for PresentWait2.
Unlike PresentWait, PresentWait2 is exposed by a surface capability.
On Wayland, PresentWait (and PresentWait2) require the presentation-time
extension to be available for a proper implementation, but not all
compositors support this. PresentWait would either have to be exposed
nowhere, or have weird/complicated fallback paths to try to enable it
on systems where presentation-time is unavailable.
Since PresentWait2 has a surface capability, we can simply not expose it
on Wayland when present-time is unavailable instead of always having to
have a less compliant fallback path.
PresentWait2 also explicitly forbids waiting on an ID that hasn't been
queued for presentation, so we don't need to handle that weird case.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35414 >
2025-06-13 15:52:02 +00:00
Job Noorman
29eb9ec7b7
Revert "ir3: optimize SSBO offset shifts for nir_opt_offsets"
...
This reverts commit 57ea689273 .
This optimization is only sound when the operands of iadd are unsigned.
It turns out this is not always the case.
While the particular failure I was seeing was fixed by changing the
unsigned shifts to signed ones, I don't believe this is sound either. So
it's better to disable it for now until we find a better solution.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Fixes: 57ea689273 ("ir3: optimize SSBO offset shifts for nir_opt_offsets")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34324 >
2025-06-13 15:21:29 +00:00
Ville Syrjälä
3bd85064d4
iris: Don't use CCS_CC modifiers with INTEL_DEBUG=nofc
...
Don't use the CCS_CC modifiers when fast clears are disabled
through INTEL_DEBUG=nofc. anv already behaves this way.
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35417 >
2025-06-13 14:47:55 +00:00
Samuel Pitoiset
3c3684f4d4
radv: fix a compilation warning with Clang in radv_get_depth_clamp_mode()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35508 >
2025-06-13 14:31:22 +00:00
Lionel Landwerlin
854298e033
docs/features: update anv support
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35426 >
2025-06-13 17:25:59 +03:00
Rhys Perry
a905ff3d54
meson: add dep_llvm to radv_tests
...
It seems this will try to link to LLVM because libvulkan_radeon links to
LLVM. Without the dep_llvm and with the GCC linker (instead of mold), this
will fail if you use a custom built LLVM and it can't find the shared object.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35495 >
2025-06-13 11:29:31 +00:00
Erik Faye-Lund
1145cac490
docs/features: mark vk 1.3 as complete on panvk/v10+
...
This already landed upstream, I just forgot to update this file.
While we're at it, update the vk 1.2-entry to only list V10+, to match
reality.
Fixes: 8ec846407d ("panvk: expose vulkan 1.3 support")
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35513 >
2025-06-13 13:13:43 +02:00
Erik Faye-Lund
8ec846407d
panvk: expose vulkan 1.3 support
...
vulkanMemoryModel was the last required feature we needed to expose
Vulkan 1.3, so let's enable it!
Reviewed-by: Caterina Shablia <caterina.shablia@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35502 >
2025-06-13 12:05:28 +02:00
Erik Faye-Lund
8426973ad6
panvk: enable KHR_vulkan_memory_model
...
We have all the pieces lined up now, so let's enable the memory model
extension.
Reviewed-by: Caterina Shablia <caterina.shablia@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35502 >
2025-06-13 12:05:25 +02:00
Erik Faye-Lund
b3e18a606f
panvk: optimize barriers
...
It seems like a good idea to optimize barriers, so let's do the same
thing as most other drivers do.
Reviewed-by: Caterina Shablia <caterina.shablia@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35502 >
2025-06-13 12:05:04 +02:00
Erik Faye-Lund
6c17915fda
pan/bi: handle barriers with NONE scope
...
NONE-barriers also needs scheduling barriers, because otherwise we can
end up with memory loads and stores being reordered during scheduling.
Reviewed-by: Caterina Shablia <caterina.shablia@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35502 >
2025-06-13 12:05:03 +02:00
Erik Faye-Lund
18893a250f
pan/bi: rework memory barriers
...
The MEMORY_BARRIER instruction has some issues, where we end up
dead-code eliminating it before it gets to do what it's supposed to do.
But even if we fix that, we have issues where we can end up inserting
flow control into it, which isn't going to work because we have nothing
to emit here either.
So let's rework this to a special-cased NOP instruction, which is marked
as a scheduling barrier. The beneft here is that NOPs are already properly
handled when it comes to flow control.
Note that this isn't perfect either; this only prevents memory operations
from crossing the scheduling barrier. We should really prevent any
operation with observable side effects from crossing the barrier. This
includes things like reading clocks etc.
But that's a larger change, and it's a step in the right direction to get
this to no longer be dead-code eliminated. So let's put this band-aid on
for now.
Fixes: f77a50e45e ("pan/bi: add a MEMORY_BARRIER pseudo-instruction")
Reviewed-by: Caterina Shablia <caterina.shablia@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35502 >
2025-06-13 12:05:02 +02:00
Christian Gmeiner
31e4e38f7d
crocus: Don't use deprecated NIR_PASS_V macro
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35503 >
2025-06-13 09:08:21 +00:00
Christian Gmeiner
c80d75afe5
crocus: Return progress for crocus_lower_storage_image_derefs(..)
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35503 >
2025-06-13 09:08:21 +00:00
Samuel Pitoiset
161f27e206
radv: enable shaderImageFloat32AtomicAdd on GFX12 with ACO
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35493 >
2025-06-13 08:47:59 +00:00
Samuel Pitoiset
d23de4918e
aco: add support for image f32 atomic add
...
It's supported on GFX12.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35493 >
2025-06-13 08:47:59 +00:00
Samuel Pitoiset
c5bf1caf17
radv: enable shaderBufferFloat32AtomicMinMax on GFX12
...
This is supported.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35493 >
2025-06-13 08:47:59 +00:00
Olivia Lee
d0b353018f
panvk: Add tests for ls tracking in cs_maybe
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35460 >
2025-06-13 08:28:30 +00:00
Ludvig Lindau
3778b22268
panvk: Fix ls_tracker usage in cs_maybe
...
Currently a cs_maybe block affects the ls_tracker of a command stream
even if the cs_maybe block is later replaced by NOP instructions. This
can lead to missing WAIT instructions in the command stream.
* Add a WAIT at the end of the cs_maybe block if the block has changed
the ls_tracker state
* At the end of a cs_maybe block, restore the ls_tracker state to what
it was before the block
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13259
Fixes: 885805560f ("panvk/csf: fix case where vk_meta is used before PROVOKING_VERTEX_MODE_LAST")
Tested-By: Alexandre ARNOUD <aarnoud@me.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35460 >
2025-06-13 08:28:30 +00:00
Samuel Pitoiset
8dd496955d
radv: advertise VK_KHR_unified_image_layouts on GFX11+
...
On GFX12, everything is compressed with DCC and it's completely
transparent to the userspace driver.
On GFX11-GFX11.5, DCC can compress everything with GENERAL and FMASK
has been merged with DCC.
On GFX10-GFX10.3, MSAA through FMASK can't be compressed with GENERAL
and this will hurt performance.
On GFX6-9, DCC can't be supported with GENERAL because no DCC stores,
so this will destroy performance.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35424 >
2025-06-13 08:12:04 +00:00
Samuel Pitoiset
a3fa8eed4c
radv: implement VK_KHR_unified_image_layouts
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35424 >
2025-06-13 08:12:04 +00:00
Samuel Pitoiset
eeabce93b6
radv: use constants for different descriptor sizes
...
Instead of magic values everywhere.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35428 >
2025-06-13 07:53:04 +00:00
Samuel Pitoiset
939b66a798
radv: remove unused 96-bit memcpy for image descriptors
...
This can only be 32, 64 or 80 for combined image/sampler.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35428 >
2025-06-13 07:53:04 +00:00
Samuel Pitoiset
6b604ff60f
radv: cleanup redundant switch cases in radv_GetDescriptorEXT()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35428 >
2025-06-13 07:53:04 +00:00
Samuel Pitoiset
63f8b8ce6d
radv/nir: adjust a comment about inlining immutable samplers
...
That (broken) optimization has been removed few weeks ago.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35428 >
2025-06-13 07:53:04 +00:00
Samuel Pitoiset
d5da47f831
radv: advertise VK_KHR_maintenance9
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35423 >
2025-06-13 07:33:03 +00:00
Samuel Pitoiset
99fb1a9bd7
radv/nir: lower unassigned vertex attributes to (0,0,0,0)
...
The spec allows both 0,0,0,0 and 0,0,0,1. Returning all zeroes makes it
consistent with vertex prologs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35423 >
2025-06-13 07:33:03 +00:00
Samuel Pitoiset
4e46cabb75
radv: add support for VK_QUERY_POOL_CREATE_RESET_BIT_KHR
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35423 >
2025-06-13 07:33:03 +00:00
Karol Herbst
4ff66b4343
ac/llvm: fix bitfield ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35423 >
2025-06-13 07:33:03 +00:00
Samuel Pitoiset
358addb78d
radv: unset radv_lower_terminate_to_discard=true for Indiana Jones
...
This game bug has been fixed since.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35023 >
2025-06-13 06:43:47 +00:00
Samuel Pitoiset
36c0c1e857
Revert "radv,driconf: Add radv_force_64k_sparse_alignment config"
...
This reverts commit e32a90b57c .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35023 >
2025-06-13 06:43:47 +00:00
Samuel Pitoiset
aed7045bc9
radv: unset radv_force_64k_sparse_alignment for DOOM: The Dark Ages
...
Looks like this has been fixed by the game.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35023 >
2025-06-13 06:43:47 +00:00
Samuel Pitoiset
817f7f1bb2
radv: remove radv_disable_dedicated_sparse_queue completely
...
This drirc workaround is probably not useful since RADV allows SPARSE
on all queues.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35023 >
2025-06-13 06:43:47 +00:00
Samuel Pitoiset
4cc9bb4532
radv: unset radv_disable_dedicated_sparse_queue for Bethesda Games
...
This shouldn't be needed anymore since f58630f07c ("radv: Always
allow sparse on normal GFX/COMPUTE/DMA queues."). These games were
always assuming that GFX queue supported sparse which wasn't correct
with the dedicated sparse queue.
List of games that are concerned:
- DOOM Eternal
- Indiana Jones: The Great Circle
- DOOM: The Dark Ages
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35023 >
2025-06-13 06:43:46 +00:00
Samuel Pitoiset
7f7ed18929
radv: fix 3-plane formats with descriptor buffers
...
Found by inspection.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35455 >
2025-06-13 06:27:26 +00:00
Samuel Pitoiset
22e06d65d7
radv: make sure to zero-initialize image view descriptors
...
This prevents a regression from the next commit which would write
garbage for combined image+sampler descriptors and that might break
capture&replay.
It seems also more robust to write zeroes than garbage overall.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35455 >
2025-06-13 06:27:25 +00:00
Tapani Pälli
6e57f3738d
drirc: toggle on intel_storage_cache_policy_wt for tlou2
...
Fixes rendering issues seen in the game.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12948
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35486 >
2025-06-13 06:04:22 +00:00
Hyunjun Ko
0d3ffd8275
anv: enable the KHR_video_decode_vp9 extension
...
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35485 >
2025-06-13 04:51:51 +00:00
Hyunjun Ko
314de7af06
anv: Initial support for VP9 decoding
...
Helped from: Stéphane Cerveau <scerveau@igalia.com >
- Fix crash when segmentation is unavailable
- Set 8x8 to minCodedExtent
- Fix typo for GOLDEN and ALTREF scale factor
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35485 >
2025-06-13 04:51:51 +00:00
Hyunjun Ko
0689e3d873
anv: add default vp9 tables from FFMpeg and intel-vaapi-driver
...
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35485 >
2025-06-13 04:51:51 +00:00
Hyunjun Ko
213ca2ac9a
intel/genxml: fix HCP_VP9 commands
...
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35485 >
2025-06-13 04:51:51 +00:00
Olivia Lee
0034fec71d
panvk: implement VK_EXT_depth_clip_control
...
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35224 >
2025-06-13 02:19:21 +00:00
Olivia Lee
1d21ea9f9a
panvk: refactor depth range logic
...
Preparation for VK_EXT_depth_clip_control.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35224 >
2025-06-13 02:19:21 +00:00
Olivia Lee
f44a824541
panvk: advertise VK_KHR_depth_clamp_zero_one
...
This matches our existing behavior on both JM and CSF, where when
depthClamp is disabled, we clamp to [0,1].
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35224 >
2025-06-13 02:19:20 +00:00
Timothy Arceri
1f2568ae31
mesa: get correct src address for transferOps
...
When texstore_rgba() takes the path that doesn't handle
transferOps it was correctly calling _mesa_image_address()
to apply any pixel store unpack setting to the starting src
address. This was missing from the transferOps path so we add it
in this patch.
Fixes: 4b249d2eed ("mesa: Handle transferOps in texstore_rgba")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10314
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35481 >
2025-06-12 23:33:27 +00:00
Emma Anholt
59a5e042b2
ci/tu: Add a frequent a618 flake I've noticed.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35262 >
2025-06-12 22:01:35 +00:00
Emma Anholt
fde529a55e
ir3: Enable nir_opt_acquire_release_barriers.
...
Fossil results for a730:
Totals from 6 (0.01% of 49975) affected shaders:
Instrs: 4068 -> 4028 (-0.98%)
CodeSize: 5794 -> 5674 (-2.07%)
NOPs: 1991 -> 1973 (-0.90%)
(ss): 256 -> 234 (-8.59%)
(sy): 158 -> 136 (-13.92%)
(sy)-stall: 2705 -> 1780 (-34.20%)
Cat0: 2221 -> 2203 (-0.81%)
Cat7: 207 -> 185 (-10.63%)
Affects Danylo's d3d fossils.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35262 >
2025-06-12 22:01:35 +00:00
Emma Anholt
5bd6fd5c10
ir3: Enable nir_opt_combine_barriers.
...
From my fossils db:
Totals from 42 (0.08% of 49975) affected shaders:
Instrs: 108929 -> 108046 (-0.81%)
CodeSize: 182346 -> 179498 (-1.56%)
NOPs: 22106 -> 21916 (-0.86%)
(ss): 5458 -> 4765 (-12.70%)
(sy): 2987 -> 2294 (-23.20%)
Cat0: 24293 -> 24103 (-0.78%)
Cat7: 3939 -> 3246 (-17.59%)
Affected fossils include Danylo's d3d traces, gfxbench, and Sascha Willems's
computenbody.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35262 >
2025-06-12 22:01:35 +00:00
Christian Gmeiner
0c1d5e4114
ir2: Remove NIR_PASS_V usage
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35478 >
2025-06-12 21:46:53 +00:00
Christian Gmeiner
29f2566542
st/mesa: Remove NIR_PASS_V usage
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35480 >
2025-06-12 21:23:17 +00:00
Christian Gmeiner
8519cd2a0d
zink: Don't use deprecated NIR_PASS_V macro anymore
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35463 >
2025-06-12 22:35:54 +02:00
Christian Gmeiner
70eb306119
zink: fixup_io_locations: Preserve all metadata
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35463 >
2025-06-12 22:35:52 +02:00
Christian Gmeiner
b30b87c096
nir/inline_uniforms: Convert to use nir_shader_intrinsics_pass(..)
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35463 >
2025-06-12 22:35:48 +02:00
Marek Olšák
fa2e7c3dfd
nir: return progress from nir_group_loads, nir_inline_uniforms
...
so that NIR_PASS is usable
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35315 >
2025-06-12 19:35:37 +00:00
Marek Olšák
0cbcb72869
nir/opt_vectorize_io: work around a 16-bit IO bug for RADV
...
If nir_opt_vectorize_io isn't called, 16-bit IO is broken.
This is a workaround to keep RADV working and consume incorrect NIR
while other drivers consume correct NIR.
Hopefully this will be removed ASAP.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35315 >
2025-06-12 19:35:37 +00:00
Marek Olšák
6e9e9c9f0c
nir: add shader_info::prev_stage_has_xfb
...
We will use it to skip lowering mediump IO to 16 bits if the previous
shader has XFB and mediump XFB doesn't work.
Drivers can decide not to lower mediump IO to 16 bits if nir->xfb_info
!= NULL for the pre-rast stage and if nir->info.prev_stage_has_xfb is
true for the FS stage. That way, drivers can lower mediump to 16 bits
for all cases except XFB.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35315 >
2025-06-12 19:35:37 +00:00
Marek Olšák
ebbcec76b0
glsl/spirv: link XFB before prelink_lowering
...
Hopefully this doesn't break it (we may even lack tests), but we need to
know in prelink_lowering whether XFB is enabled or not.
The next commit that adds shader_info::prev_stage_uses_xfb depends on this.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35315 >
2025-06-12 19:35:37 +00:00
Marek Olšák
b636e5ca66
nir: add nir_clear_mediump_io_flag
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35315 >
2025-06-12 19:35:36 +00:00
Marek Olšák
13005d5e4e
nir/xfb_info: don't merge incompatible XFB outputs to fix mediump
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35315 >
2025-06-12 19:35:36 +00:00
Marek Olšák
118c0e6991
nir/opt_vectorize_io: fix vectorizing 16-bit XFB
...
Tested with mediump.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35315 >
2025-06-12 19:35:36 +00:00
Marek Olšák
caddd67b8c
nir/opt_vectorize_io: don't vectorize 16-bit IO to vec8 - it's illegal
...
NIR represents low bits of 16-bit IO as a separate vec4, and high bits as
another separate vec4. There is no representation that allows vec8.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35315 >
2025-06-12 19:35:35 +00:00
Marek Olšák
1f80ff5550
nir/opt_vectorize_io: convert bool merge_low_high_16_to_32 to an enum
...
refactoring for the next commit
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35315 >
2025-06-12 19:35:35 +00:00
Marek Olšák
6270136b7d
nir/opt_varyings: set prev_stage/next_stage if they are NONE and validate them
...
Doing it here ensures that any linked shader will have the correct values
there.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35315 >
2025-06-12 19:35:34 +00:00
Marek Olšák
e3d122ed7b
nir/opt_varyings: completely exclude mediump from type changes
...
It broke mediump XFB, which needs the correct type for the up-conversion.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35315 >
2025-06-12 19:35:34 +00:00
Marek Olšák
cf26760218
glsl: set prev/next_stage according to the new definition
...
Keep MESA_SHADER_NONE if there is no previous/next shader.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35315 >
2025-06-12 19:35:34 +00:00
Marek Olšák
aba7b0831c
nir: add shader_info::prev_stage
...
When lowering mediump to 16 bits, this will allow drivers to enable
the lowering only for certain pairs of stages, e.g. a driver can lower
mediump for VS->FS, but not GS->FS.
This could also be useful for other things.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35315 >
2025-06-12 19:35:33 +00:00
Eric Engestrom
3649f28771
lavapipe/ci: add missing VKD3D_PROTON_TAG
...
Fixes: 2b7ddc7d71 ("ci/vkd3d: Use structured tagging for vkd3d-proton")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35498 >
2025-06-12 19:13:56 +00:00
Eric Engestrom
a07cd0e255
turnip/ci: add missing VKD3D_PROTON_TAG
...
Fixes: 2b7ddc7d71 ("ci/vkd3d: Use structured tagging for vkd3d-proton")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35498 >
2025-06-12 19:13:56 +00:00
Eric Engestrom
03c73bdc35
nvk/ci: add missing VKD3D_PROTON_TAG
...
Fixes: 2b7ddc7d71 ("ci/vkd3d: Use structured tagging for vkd3d-proton")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35498 >
2025-06-12 19:13:56 +00:00
LingMan
1853886023
rusticl: Initialize NIR option structs with default values
...
Eases NIR maintenance since adding new members no longer requires touching rusticl.
The one const `nir_remove_dead_variables_options` has been duplicated as two local variables because
`default()` cannot be called from const contexts, yet.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35497 >
2025-06-12 18:52:25 +00:00
Jonathan Gray
68be3b7159
util: fix OpenBSD/powerpc64 build
...
use defined(HAVE_ELF_AUX_INFO) as HAVE_ELF_AUX_INFO is not defined to a value
avoids 'error: expected value in expression' on powerpc64
Fixes: 67333c2632 ("util: Support elf_aux_info() on OpenBSD arm and ppc")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35422 >
2025-06-12 16:49:23 +00:00
Jason Macnak
3bf5347436
gfxstream: Fix strict aliasing violations in VkDecoder
...
Test: cvd create --gpu_mode=gfxstream_guest_angle_host_swiftshader
Reviewed-by: Aaron Ruby <aruby@qnx.com >
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35494 >
2025-06-12 08:48:23 -07:00
Bo Hu
f3e9f0e9a6
gfxstream: update codegen for vkQueueFlushCommandsGOOGLE
...
This method requires removal of obsolete recording
Reviewed-by: Aaron Ruby <aruby@qnx.com >
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35494 >
2025-06-12 08:48:23 -07:00
Daniel Stone
7bfb51a7e6
ci: Fix missing pipelines on user pipelines in MRs
...
Oops. We were being a bit too extensive with our rules and also skipping
the container stage for user (non-marge) pipelines in MRs unless
image-tags.yml had changed. We can't actually do this, because we might
still need to run the jobs to copy the containers into the user's
namespace, even if we don't need to rebuild them.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35491 >
2025-06-12 13:15:54 +00:00
Karol Herbst
ee1fe1a1e5
rusticl: implement cl_khr_spirv_queries
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35439 >
2025-06-12 12:41:48 +00:00
Karol Herbst
3b2af3006e
rusticl/device: refactor Device::new
...
Adding a DeviceBase type will allow us to do pass in a proper spirv_caps
object into SPIRVBin::get_lib_clc. Should also make device creation more
flexible.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35439 >
2025-06-12 12:41:48 +00:00
Karol Herbst
95eb537548
include: update CL headers
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35439 >
2025-06-12 12:41:48 +00:00
Lionel Landwerlin
d0608425f4
anv: handle REMAINING_LAYERS with 3D images & maintenance9
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 9a1485ec5c ("anv: missing bit from maintenance9")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35487 >
2025-06-12 11:34:33 +00:00
Tapani Pälli
58c4b31d31
anv: small cleanup, remove unused helper function
...
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35450 >
2025-06-12 11:15:21 +00:00
Erik Faye-Lund
b58dd5508e
panfrost/ci: add new half-float fails
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35451 >
2025-06-12 08:56:21 +00:00
Erik Faye-Lund
53c3943f4c
panfrost/ci: fix sorting of fails
...
These were mostly sorted, but not quite. Let's fix that up, so it's
easier to add new fails in the right place.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35451 >
2025-06-12 08:56:21 +00:00
Lars-Ivar Hesselberg Simonsen
5d0465a253
panvk: Skip barrier QFOT if src_qfi equals dst_qfi
...
Do not perform a queue family ownership transfer during memory barriers
if srcQueueFamilyIndex equals dstQueueFamilyIndex, as the Vulkan spec
mandates that this should only happen if the two values are unequal.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Fixes: 715d6e740a ("panvk: improve VK_QUEUE_FAMILY_EXTERNAL support")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35458 >
2025-06-12 08:12:23 +00:00
Peyton Lee
75736aa494
amd/gmlib: remove the executable bit
...
remove the executable bit for all files.
Signed-off-by: Peyton Lee <peytolee@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35361 >
2025-06-12 07:44:27 +00:00
Peyton Lee
fd1930b035
amd: add vpe_version
...
vpe_version describes which generation of vpe capabilities a chip has.
Signed-off-by: Peyton Lee <peytolee@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35361 >
2025-06-12 07:44:27 +00:00
Peyton Lee
548b026297
radeonsi/vpe: correct capability
...
should return the capability that hardware can support
Signed-off-by: Peyton Lee <peytolee@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35361 >
2025-06-12 07:44:27 +00:00
Peyton Lee
ce3c1b018a
radeonsi/vpe: remove background color
...
remove un-used background color value
Signed-off-by: Peyton Lee <peytolee@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35361 >
2025-06-12 07:44:27 +00:00
Peyton Lee
47163fa8d3
radeonsi/vpe: enhance scaling quality
...
add support for lanczos coefficients
which enhaces the quality of scaling down
Signed-off-by: Peyton Lee <peytolee@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35361 >
2025-06-12 07:44:26 +00:00
Pierre-Eric Pelloux-Prayer
75f596d909
radeonsi: fix attribute_pos_prim_ring handling
...
Apply the same logic as the other rings.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35452 >
2025-06-12 07:23:33 +00:00
Lionel Landwerlin
9a1485ec5c
anv: missing bit from maintenance9
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 595889018a ("anv: implement VK_KHR_maintenance9")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35467 >
2025-06-12 09:14:20 +03:00
Jianxun Zhang
a9aad4565f
anv: Enable compression on CCS modifiers (xe2)
...
Don't report compressed memory type in the case of Xe2 modifiers
as the Vulkan spec requires identical memory types behind the
VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT.
Instead, we require dedicated allocation to get the right
compressed memory in allocation stage. The BMG modifier also
requires scanout flag to set. Refer to comments.
Thanks for the help from:
Nanley Chery <nanley.g.chery@intel.com >
Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Kenneth Graunke <kenneth@whitecape.org >
and other people not listed.
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34567 >
2025-06-12 04:07:12 +00:00
Jianxun Zhang
a45143e04c
anv: Don't choose compression modifier when aux is disabled
...
When aux has to be disabled (ISL_SURF_USAGE_DISABLE_AUX_BIT)
for some reasons like VK_SHARING_MODE_CONCURRENT, we simply
cannot implicitly choose any modifier with compression.
Otherwise, we run into a situation that an image is created
with a modifier but without the aux support that modifier
requires. It will fail a CTS test once Xe2 modifiers are
enabled:
dEQP-VK.wsi.wayland.swapchain.private_data.image_sharing_mode
MESA: warning: ../src/intel/vulkan/anv_image.c:1198: image with
modifier unexpectedly has wrong aux usage (VK_ERROR_UNKNOWN)
GFX12.x (MTL) does not show this failure because only one queue
family is present. But they will face the same issue when aux is
disabled for any other reasons:
NotSupported (Only 1 queue families available for
VK_SHARING_MODE_CONCURRENT at vktWsiSwapchainTests.cpp:715)
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34567 >
2025-06-12 04:07:12 +00:00
Jianxun Zhang
7c2f340d37
anv: Align size of compressed scanout buffers to 64KB on BMG (xe2)
...
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34567 >
2025-06-12 04:07:11 +00:00
Jianxun Zhang
b7f7f1c74f
anv: Treat imported compressed buffers as displayable (xe2)
...
As a part of the effort to unify the displayable attribute
on dmabuf sharing across drivers, we set scanout flag on
imported bos on Xe2+.
Refer to the comment in the change.
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34567 >
2025-06-12 04:07:11 +00:00
Jianxun Zhang
0af794fe50
iris: Enable Xe2 modifier (xe2)
...
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34567 >
2025-06-12 04:07:11 +00:00
Jianxun Zhang
b96d677c42
iris: Refactor function iris_flush_resource
...
Setting the removed flag true is not needed.
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com >
Acked-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34567 >
2025-06-12 04:07:11 +00:00
Jianxun Zhang
f88e153635
iris: Update conditions when flushing resource (xe2)
...
Update the conditions of reallocation for Xe2 modifiers and also
ensure the realloation to happen on all bos.
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34567 >
2025-06-12 04:07:11 +00:00
Jianxun Zhang
1149f1c5a1
iris: Choose PAT entry on imported buffers (xe2)
...
Refer to the comment added into the change, buffers imported
with a Xe2 modifier supporting compression should get a
compression-enabled PAT entry.
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34567 >
2025-06-12 04:07:10 +00:00
Jianxun Zhang
665f5e8757
iris: Add new modifiers into code (xe2)
...
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34567 >
2025-06-12 04:07:10 +00:00
Jianxun Zhang
785d1c3b86
iris: Align size of compressed scanout buffers to 64KB on BMG (xe2)
...
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34567 >
2025-06-12 04:07:10 +00:00
Jianxun Zhang
2660b7c49d
isl: Add Xe2 CCS modifiers (xe2)
...
Narrow down the definition of two compression flags suggested by
Nanley Chery <nanley.g.chery@intel.com > so that we can address
the unified compression support of Xe2 modifiers and don't have
to set media compression flag thats result more update in the
stack.
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34567 >
2025-06-12 04:07:10 +00:00
Christian Gmeiner
f261370995
asahi/lib: Don't use deprecated NIR_PASS_V macro
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35479 >
2025-06-11 21:43:01 +00:00
Collabora's Gfx CI Team
350eccd032
Uprev Piglit to a0a27e528f643dfeb785350a1213bfff09681950
...
685ea49b47...a0a27e528f
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35303 >
2025-06-11 21:14:59 +00:00
Valentine Burley
c793d20c9c
ci/piglit: Collapse build section
...
Make the container build more readable and easier to follow in CI logs.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35303 >
2025-06-11 21:14:59 +00:00
Valentine Burley
33f5e6472d
ci/vkd3d: Fix build when not uploading vkd3d-proton archive
...
Only delete vkd3d-proton.tar.zst if it exists.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35303 >
2025-06-11 21:14:58 +00:00
Sergi Blanch-Torne
da1c8994bb
Uprev ANGLE to c39f4a5c553cbee39af8f866aa82a9ffa4f02f5b
...
b135927706...c39f4a5c55
Signed-off-by: Sergi Blanch-Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35303 >
2025-06-11 21:14:58 +00:00
Mike Blumenkrantz
2b39cd0722
util/box: make u_box_test_intersection_2d() consistent with other funcs
...
cc: mesa-stable
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21738 >
2025-06-11 20:46:29 +00:00
Georg Lehmann
ad80b554f4
spirv: use feq for OpIsInf
...
This effectively reverts fcca6a83cd because feq was clarified to be ordered
when used with exact and without fast math flags.
It's common for HW to only have free abs for floating point instructions.
Foz-DB Navi21:
Totals from 63 (0.08% of 80065) affected shaders:
Instrs: 337027 -> 336667 (-0.11%); split: -0.12%, +0.02%
CodeSize: 1846752 -> 1845000 (-0.09%); split: -0.13%, +0.03%
Latency: 3401087 -> 3400633 (-0.01%); split: -0.04%, +0.03%
InvThroughput: 847299 -> 845939 (-0.16%); split: -0.19%, +0.03%
VClause: 7693 -> 7694 (+0.01%)
Copies: 45175 -> 45240 (+0.14%); split: -0.12%, +0.27%
PreSGPRs: 3555 -> 3553 (-0.06%)
PreVGPRs: 4565 -> 4564 (-0.02%)
VALU: 225473 -> 225245 (-0.10%); split: -0.13%, +0.03%
SALU: 44735 -> 44625 (-0.25%)
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35437 >
2025-06-11 18:34:21 +00:00
Faith Ekstrand
9c83e9f120
nvk: Drop nvk_buffer_address()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35472 >
2025-06-11 18:09:38 +00:00
Rob Clark
cd4f6caa0d
vtn: Handle non-32b tex dests
...
With cl_khr_fp16 we can get texture instructions w/ f16 dest. Not all
drivers handle this, so convert to 32b dest and insert alu conversion to
the requested type. Drivers that can handle f16 texture loads would
fold away the extra conversion with nir_opt_16bit_tex_image.
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35470 >
2025-06-11 17:48:10 +00:00
Mel Henning
d764e1c062
zink: Return NULL on vkCreateInstance failure
...
Previously we were returning uninitialized data on the error path.
Fixes: 015eda4a41 ("zink: deduplicate VkDevice and VkInstance")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35471 >
2025-06-11 17:32:27 +00:00
Derek Foreman
95148a5dfd
egl/dri/wayland: Fix memory leak in wayland buffer handling
...
In 54c4a41e2d some of the wl_buffers are
destroyed without using the loader_wayland_buffer_destroy functions on
their wrappers, leaking the wrapper.
Fixes 54c4a41e2d
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35466 >
2025-06-11 17:09:47 +00:00
Erik Faye-Lund
1895d6a107
meson: use literal false instead of string
...
This fixes the following warning from Meson:
meson.options:179: WARNING: Project targets '>= 1.3.0' but uses
feature deprecated since '1.1.0': "boolean option" keyword argument
"value" of type str. use a boolean, not a string
Fixes: d348fd5fb5 ("mediafoundation: Add mediafoundation frontend")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35468 >
2025-06-11 16:02:26 +00:00
Aaron Ruby
36dd155e7a
gfxstream: Prune the wait/signal semaphore lists on queue submissions
...
For Linux guests, remove syncFd semaphores entirely, as they are waited
on/signaled using the guest-side syncFd operations, and coarse
queueWaits only.
Reviewed-by: Gurchetan Singh <gurchetansingh@google.com >
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34751 >
2025-06-11 11:46:10 -04:00
Christoph Pillmayer
f9ed719c6a
panvk: Add tests for ls tracker behavior in cs_loop
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35436 >
2025-06-11 15:19:50 +00:00
Christoph Pillmayer
cdedd04640
panvk: Fix ls_tracker usage in cs_loop
...
LOAD_MULTIPLE can be emitted inside of a loop body. We need to WAIT if
that loads targets a register for which a load was not already in-flight
at the start of the loop body.
Technically we only have to emit the wait if the dst reg of a new load
is actually used inside the loop, but that would require separate
tracking of source regs used in the loop and is probably not worth
the effort for now.
Fixes: f75569734e (panvk: Remove explicit LS waits)
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35436 >
2025-06-11 15:19:50 +00:00
Christoph Pillmayer
a24abc3fbd
panvk: Move cs_wait_slot(s) and cs_flush_loads/stores
...
The following commit needs to flush loads from cs_loop_ functions.
Fixes: f75569734e (panvk: Remove explicit LS waits)
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35436 >
2025-06-11 15:19:50 +00:00
Hoe Hao Cheng
a36e51af22
zink: remove fixup_driver_props
...
No longer needed after the codegen improvements
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35389 >
2025-06-11 14:49:52 +00:00
Hoe Hao Cheng
4d1768aec5
zink/codegen: support double-loading dynamic properties arrays
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35389 >
2025-06-11 14:49:52 +00:00
Hoe Hao Cheng
4eb50771e4
zink/codegen: add indentation to the mako templates
...
This regains us some much needed sanity
And it actually uncovered a bug in zink_instance.py:L306 (misplaced
%endif)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35389 >
2025-06-11 14:49:52 +00:00
Hoe Hao Cheng
a5e114ce97
zink: apply EXT-suffixed functions to their unsuffixed counterpart
...
...if they are promoted to core verbatim.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35389 >
2025-06-11 14:49:51 +00:00
Hoe Hao Cheng
66f0a99c73
zink: apply core functions to extension functions
...
...if those core functions were promoted verbatim from the extension.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35389 >
2025-06-11 14:49:51 +00:00
Hoe Hao Cheng
ef1ae1f24f
zink: make zink_device_info look for KHR versions of promoted exts
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35389 >
2025-06-11 14:49:51 +00:00
Hoe Hao Cheng
bbfeb6cd87
zink: fix win32 detection in zink_device_info
...
str.find(substr) returns -1 if the substring's not in the string, and
bool(-1) returns True in Python, so the _WIN32 ifdef guard was actually
inserted everywhere.
Also, the win32 functions actually have "Win32" in their name, like
vkGetMemoryWin32HandleKHR
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35389 >
2025-06-11 14:49:50 +00:00
Marek Olšák
4dafd2e787
radeonsi: add a workaround for a DrawTransformFeedback issue on gfx11.5
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35344 >
2025-06-11 14:29:06 +00:00
Marek Olšák
d991810833
radeonsi/ci: update gfx8 failures
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35344 >
2025-06-11 14:29:06 +00:00
Marek Olšák
56ed949e08
radeonsi: don't clamp the shadow comparison value for nir_texop_lod on gfx8-9
...
It doesn't have the value. This fixes a crash on gfx8-9.
Cc: mesa-stable
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35344 >
2025-06-11 14:29:06 +00:00
Lionel Landwerlin
595889018a
anv: implement VK_KHR_maintenance9
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35381 >
2025-06-11 14:09:56 +00:00
Lionel Landwerlin
884df891d7
anv: allow device creation with no queue
...
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35381 >
2025-06-11 14:09:56 +00:00
Lionel Landwerlin
1d8382b88e
brw: enable more lowering for bitfield manipulation at non 32bit sizes
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35381 >
2025-06-11 14:09:56 +00:00
Juan A. Suarez Romero
d983280da9
vc4: free RA interference graph on failure
...
This fixes a leak in the driver.
Backport-to: 25.1
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35464 >
2025-06-11 13:29:35 +00:00
Martin Krastev
bacc0451bc
svga/ci: vmware farm is back; restore piglit job to automatic
...
Signed-off-by: Martin Krastev <martin.krastev@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35459 >
2025-06-11 13:11:44 +00:00
Pierre-Eric Pelloux-Prayer
7280e3b2a1
radeonsi/tests: update expected results
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35206 >
2025-06-11 12:11:28 +00:00
Pierre-Eric Pelloux-Prayer
3bcbd11a33
aco/isel: fix visit_tex handling of is_sparse
...
For cases when less than 4 components are read, the original code
would compute an incorrect dmask. eg: with a single component + is_sparse,
the dmask was 0x13:
- 0x 3 = coming from nir_def_components_read
- 0x10 = the sparse bit
While it should have at 2 bits set (1 for the color/depth, 1 for tfe).
This caused problem when expand_vector() used the dmask to generate
the final results, because the value for the sparse component was
read from the wrong index.
So after the call to emit_mimg() dmask needs to be adjusted
because the components will be stored in order, so if mask is 0x11
the tfe value would be stored at invalid index=5 (while it should
be at index=1).
This fixes KHR-GL46.sparse_texture_clamp_tests.SparseTextureClampLookupResidency_texture_2d_depth_component16
and KHR-GL46.sparse_texture2_tests.SparseTexture2Lookup_texture_2d_depth_component16
with ACO.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35206 >
2025-06-11 12:11:28 +00:00
Pierre-Eric Pelloux-Prayer
4a84ebfcb1
ac/llvm: rework component trimming in visit_tex
...
The referenced commit was a step in the right direction, but not
complete.
ac_build_image_opcode returns a vec<4> or a struct<vec<4>, int>
so we can simplify visit_tex. We just need to map these 4/5 values
to the expected layout from NIR.
eg: depth + TFE would produces "<d, x, x, x>, t" so it has to be
transformed into <d, t>.
nir_texop_fragment_mask_fetch_amd + sparse doesn't exist, so it's
another opportunity for simplification.
This is required to get KHR-GL46.sparse_texture2_tests.SparseTexture2Lookup_texture_2d_depth_component16
working properly.
The same test fails with ACO so it probably needs a change in the
same area.
Fixes: c0ef2aa7f8 ("DEPENDENCY: ac/llvm: fix sparse code handling")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35206 >
2025-06-11 12:11:28 +00:00
Pierre-Eric Pelloux-Prayer
1cc52dff05
radeonsi: allow sparse depth textures
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35206 >
2025-06-11 12:11:28 +00:00
Pierre-Eric Pelloux-Prayer
508bf2a490
radeonsi/tests: fix script handling of missing results
...
When running radeonsi-run-tests.py with the -t option, it's possible that
some suite won't generate any result so don't fail in this case.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35206 >
2025-06-11 12:11:28 +00:00
Pierre-Eric Pelloux-Prayer
b153188f25
amd/ci: remove references to tests that don't exist anymore
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35206 >
2025-06-11 12:11:27 +00:00
Pierre-Eric Pelloux-Prayer
3d8fe9b36d
radeonsi: skip draws using invalid setup
...
Draws running with the secure bit set needs to have their destination
surfaces created with tmz to get the correct result.
Instead of asserting this fact, let just skip the invalid draws
completely.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35206 >
2025-06-11 12:11:27 +00:00
Pierre-Eric Pelloux-Prayer
0e9ba3031e
radeonsi: allow msaa sparse textures on gfx10+
...
The hardware doesn't support the prt layouts, but we can use normal
layouts and ac_surface_addr_from_coord to determince which pages
need to be committed.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35206 >
2025-06-11 12:11:27 +00:00
Pierre-Eric Pelloux-Prayer
ee6d3a593e
winsys/radeon: add surface_offset_from_coord
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35206 >
2025-06-11 12:11:27 +00:00
Juan A. Suarez Romero
d6614099a0
vc4,v3d: update expected results
...
Add new failures/flakes.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35462 >
2025-06-11 11:55:54 +00:00
Corentin Noël
1dfe97cc0b
llvmpipe: Make sure to not divide by zero on debug output
...
Check that lp->nr_fs_variants is not zero before dividing by it as done in a few
lines above.
CID: 1417662 Division or modulo by zero
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35091 >
2025-06-11 11:03:34 +00:00
Corentin Noël
d4d37ead82
llvmpipe: Make sure to not divide by zero on debug output
...
Check that lp->nr_cs_variants is not zero before dividing by it as done in a few
lines above.
CID: 1531786 Division or modulo by zero
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35091 >
2025-06-11 11:03:34 +00:00
Corentin Noël
383684596c
llvmpipe: Check for negative size before mapping the memory
...
CID: 1596479 Argument cannot be negative
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35091 >
2025-06-11 11:03:34 +00:00
Corentin Noël
94f2d53586
llvmpipe: Close mem_fd or dmabuf_fd on error
...
The variable shadowing made the error path to leak these file descriptors.
CID: 1596485, 1596493 Logically dead code
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35091 >
2025-06-11 11:03:34 +00:00
Corentin Noël
fb72e84c7a
llvmpipe: Do bitwise operation on unsigned constants
...
This fixes coverity issues while all compilers would do the right thing here.
CID: 1605222 Overflowed constant
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35091 >
2025-06-11 11:03:34 +00:00
Corentin Noël
c9243262f0
llvmpipe: Check allocated memory instead of argument
...
This is likely a copy-paste error.
CID: 1616035 Dereference after null check
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35091 >
2025-06-11 11:03:33 +00:00
Corentin Noël
09938eee85
llvmpipe: Asserts that the format at least has one non-void channel
...
As we are using its index as array index, avoid the use of the -1 index there.
CID: 1517247, 1517239 Negative array index read
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35091 >
2025-06-11 11:03:33 +00:00
Corentin Noël
d2aade9184
llvmpipe: Avoid function name leak on fail paths
...
Free the memory on the fail path, also check early on allocation failure.
CID: 1644471 Resource leak
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35091 >
2025-06-11 11:03:33 +00:00
Emma Anholt
6e97df1d76
u_trace: Fix payload refcounting in u_trace_clone_append().
...
If the clone_append was to a chunk of the same u_trace that gets
process_chunk()ed after where we're cloning from, then the payloads would
have been unreffed in the previous chunk's cleanup_chunk().
Fixes use-after-frees with turnip gmem rendering that resulted in
corrupted payloads.
Fixes: 14e45cb21e ("util/u_trace: refcount payloads")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35379 >
2025-06-11 10:02:30 +00:00
Rhys Perry
bc2edf14d8
ac/nir: run nir_lower_vars_to_ssa after nir_lower_task_shader
...
nir_lower_task_shader does nir_lower_returns, so we need this if the
launch_mesh_workgroups was in control flow.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13326
Backport-to: 25.1
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35411 >
2025-06-11 09:01:39 +00:00
Samuel Pitoiset
3b326abf7b
radv: add capture/replay for sparse buffers and descriptor buffer
...
Shouldn't be super useful in practice because the normal capture/replay
BDA path should also work.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35366 >
2025-06-11 07:31:29 +00:00
Samuel Pitoiset
643e1c4395
radv: cleanup creating sparse buffers with capture/replay
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35366 >
2025-06-11 07:31:29 +00:00
Samuel Pitoiset
74acae0ed8
radv: stop setting the address for capture/replay and non-sparse buffers
...
This doesn't do anything because for non-sparse buffers, a device
memory object must be bound to the buffer.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35366 >
2025-06-11 07:31:28 +00:00
Samuel Pitoiset
ee200cc0d1
radv: stop using vk_common entrypoints when not necessary
...
For less indirections.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35359 >
2025-06-11 07:10:02 +00:00
Samuel Pitoiset
7d2f20b2fb
radv: remove useless vk_common_entrypoints.h includes
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35359 >
2025-06-11 07:10:02 +00:00
Samuel Pitoiset
f3578973d7
radv/meta: fix using the wrong pipeline layout for ASTC decoding
...
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35359 >
2025-06-11 07:10:01 +00:00
Mike Blumenkrantz
2a58d7b333
zink: verify that mutable dmabufs are created with a format list
...
this is otherwise illegal
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35433 >
2025-06-10 23:12:22 +00:00
Mike Blumenkrantz
0d3dc92863
zink: emulated alpha formats do not require mutable
...
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35433 >
2025-06-10 23:12:22 +00:00
Vladly
760c96628d
ir3/legalize: don't allow end instruction as jump target on a5xx
...
From experiments it appears that (jp) flag on "end" instruction has no
effect (at least on a5xx). This means that we should insert "(jp)nop"
before it, which is what blob is doing too.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35331 >
2025-06-10 22:51:21 +00:00
Guilherme Gallo
e1d54be524
ci/lava: Avoid eval when generating env script
...
Remove use of `eval` when writing `dut-job-env-vars.sh`, as it's
unnecessary. The script only needs to declare variables, not evaluate
them.
Using `eval` introduces parsing issues when variables contain both
single and double quotes, such as in commit titles. Example:
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/77995175#L3188
This job failed to parse `CI_COMMIT_TITLE` and `CI_MERGE_REQUEST_TITLE`
correctly due to mixed quoting in:
Revert "ci: disable Collabora's farm due to maintenance"
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35421 >
2025-06-10 18:19:21 -03:00
Guilherme Gallo
655cf2f553
ci: Simplify filter_env_vars using indirect expansion
...
Avoid parsing variable values manually by using `${!varname@A}`, which
returns the exact declaration as stored in the bash session.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35421 >
2025-06-10 18:19:21 -03:00
Connor Abbott
d77166edec
tu: Use a temporary descriptor to patch input attachments
...
The final descriptor is in write-combined memory, so avoid reading from
it. Instead modify a temporary descriptor on the stack.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35420 >
2025-06-10 20:25:54 +00:00
Connor Abbott
83212054e0
tu: Use cached coherent memory when possible for query pools
...
It's expected to read back the result on the CPU, so make this cached
when cached coherent memory is available.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35443 >
2025-06-10 20:12:11 +00:00
Connor Abbott
77b96ac0a7
tu: Add tu_bo_init_new_cached() helper
...
Unfortunately this has to live in tu_device.h because it depends on
accessing the physical_device.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35443 >
2025-06-10 20:12:11 +00:00
Connor Abbott
d8a19711ed
tu: Remove outdated comment
...
This only really matters with virtgpu, and we long stopped using this
function for user-visible BOs, so it's only really applicable to a few
rare uses in the driver. Those would be better served by a new function
than modifying this one.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35443 >
2025-06-10 20:12:11 +00:00
Erik Faye-Lund
423f3fd485
panfrost: enable 8x and 16x msaa modes when supported
...
8x and 16x MSAA should work now, so we no longer need to deal with those
separately. We have more accurate checks for when it's supported or not
in place already.
2x MSAA isn't supported at all until v12, which we haven't finished
wiring up yet. So let's leave that one for now... We'll need some more
fixes for that anyway.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34455 >
2025-06-10 19:22:48 +00:00
Erik Faye-Lund
139f2c6629
mesa/main: contain mutlisample advanced limitations
...
The AMD_framebuffer_multisample_advanced extension interacts kinda badly
with ARB_internalformat_query and GLES 3. The problem is that
ARB_internalformat_query etc untangles MAX_SAMPLES and
per-internalformat sample limits, but the multisample advanced spec
explicitly requires that we can't go above the global maximum.
This isn't the biggest problem in the world; one could just deal with
these limitations for the multisample_advanced functions... if it wasn't
for the fact that we by mistake apply the multisample_advanced
limitations for functions where they shouldn't be taken into account.
Whoops. So let's make sure we don't do that.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34455 >
2025-06-10 19:22:48 +00:00
Erik Faye-Lund
273689bc49
mesa/main: more careful ext checking
...
This makes sure the extension is only effective in the APIs that it
supports.
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34455 >
2025-06-10 19:22:48 +00:00
Erik Faye-Lund
01378d96c7
mesa/main: add missing error-check for samples
...
We're doing this in frame_buffer_texture, but were missing it in
framebuffer_texture_with_dims(). Let's add the missing check.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34455 >
2025-06-10 19:22:48 +00:00
Erik Faye-Lund
17f91c0354
mesa/main: use _mesa_check_sample_count instead of open-coding error
...
The _mesa_check_sample_count() helper deals with these errors much more
carefully, considering multiple extensions that extends the features.
In particular, GLES 3 and and ARB_internalformat_query allows us to use
higher sample-counts than what MAX_SAMPLES reports for some formats.
Because this actually needs to be done in a few more places, let's
implmenent this as a helper, similar to check_level. We also need to
call the helper a bit later on, after the level has been verified.
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34455 >
2025-06-10 19:22:48 +00:00
Erik Faye-Lund
89df1c50df
mesa/main: correct internalformat query condition
...
This is fairly subtle, but internalformat query doesn't modify GLES 1
or GLES 2 on drivers that doesn't support full GLES 3.
Also fix up a tiny detail in the comment while we're at it.
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34455 >
2025-06-10 19:22:48 +00:00
Erik Faye-Lund
f56443ac84
st/mesa: search for smallest supported sample-count
...
For MaxColorTextureSamples etc, we need to report the smallest
sample-count that is guaranteed to work. On some GPUs (e.g. Arm's Mali
GPUs), larger pixel-formats can't always support the higher sample
counts, becuse it takes up too much storage in the tile buffers.
From the OpenGL 4.6 spec, section 22.3.2 ("Other internal format
queries"):
"The maximum value in SAMPLES is guaranteed to be at least the
lowest of the following:
* The value of MAX_INTEGER_SAMPLES, if internalformat is a
signed or unsigned integer format.
* The value of MAX_DEPTH_TEXTURE_SAMPLES, if internalformat
is a depth/stencil-renderable format and target is TEXTURE_2D_-
MULTISAMPLE or TEXTURE_2D_MULTISAMPLE_ARRAY.
* The value of MAX_COLOR_TEXTURE_SAMPLES, if internalfor-
mat is a color-renderable format and target is TEXTURE_2D_-
MULTISAMPLE or TEXTURE_2D_MULTISAMPLE_ARRAY.
* The value of MAX_SAMPLES"
Since SAMPLES needs to be *at least* MAX_COLOR_TEXTURE_SAMPLES here, we
need to set it to the smallest possible value for any format.
So let's swap the loops here, trying one format at the time. To avoid
doing needless tests, we check from the largest value supported in all
previous formats, omitting sample-counts that has previously been ruled
out.
In addition, we need to check a few larger formats as well, to capture
the limitations above. Since large formats exists in fewer swizzle
variants, we don't need to check as many options as for 8-bit per
component formats.
And since the larger formats are the most likely ones to support lower
sample counts, make sure those formats are listed first.
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34455 >
2025-06-10 19:22:48 +00:00
Erik Faye-Lund
96d62b47fd
mesa/main: search all the way to MAX_SAMPLES
...
The constants we were comparing with here aren't the max values in all
cases. These are the max *guaranteed* to be supported values, but
specific formats can support higher sample counts. If we don't serach
for higher values, we might end up not picking a format, leading to
FBOs that are incorrectly marked as incomplete.
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34455 >
2025-06-10 19:22:48 +00:00
Erik Faye-Lund
8ffce0e49b
mesa/main: introduce MAX_SAMPLES define
...
We're hard-coding the max to 16 in several places, but this value needs
to be consistent. Let's introduce a define here, that we can use instead
of hard-coding 16 more places.
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34455 >
2025-06-10 19:22:48 +00:00
Erik Faye-Lund
02457ee29e
Revert "mesa: limit number of error raised by invalid GL_TEXTURE_MAX_ANISOTROPY_EXT"
...
This reverts commit 74bec42b45 .
This is not conformant behavior, and if we *really* want to do this, it
should be guarded behind a DRIconf or something instead.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35099 >
2025-06-10 18:59:41 +00:00
Faith Ekstrand
48f0d738de
nvk: Don't set queue lost from nvk_queue_push()
...
This is used both in the vkQueueSubmit path and in the vkCreateDevice
path and we don't want vkCreateDevice to return VK_ERROR_DEVICE_LOST.
In the vkQueueSubmit path we already have a catch-all that will cause
device loss on any error so we don't need to do it in nvk_queue_push().
This fixes dEQP-VK.api.device_init.create_instance_device_intentional_alloc_fail.basic
Fixes: e814fc16ff ("nvk: Use an nvk_mem_stream for nvk_queue_push()")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35442 >
2025-06-10 18:45:32 +00:00
Erik Faye-Lund
90b92aaf26
docs/features: add GL_EXT_shader_realtime_clock
...
This should've been done when we wired up the core-bits, but better late
than never.
Fixes: c5500cd12f ("mesa: Add support for GL_EXT_shader_realtime_clock")
Reviewed-by: Ashley Smith <ashley.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35349 >
2025-06-10 18:40:58 +00:00
Patrick Lerda
6268819f52
r600: bump evergreen and cayman glsl level to 460
...
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34726 >
2025-06-10 17:30:24 +00:00
Patrick Lerda
9e1180b335
r600: implement ARB_indirect_parameters
...
This change extends the ARB_shader_draw_parameters
algorithm to support ARB_indirect_parameters.
The linux kernel needs to be updated to support
the following PM4 commands: COND_EXEC and COND_WRITE.
Without the update, this extension is disabled.
This change was tested on cypress, palm, barts and cayman.
It passes all the piglit tests (6/6) and all the khr-gl45
tests (3/3).
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34726 >
2025-06-10 17:30:24 +00:00
Patrick Lerda
f66f5d1cd5
r600: implement ARB_shader_draw_parameters
...
This implementation is aimed at compatibility. The
new multi draw indirect mode is unrolled at the
command stream level.
This change was tested on cypress, palm, barts and cayman.
It passes all the piglit tests (23/23) and all the khr-gl45
tests (11/11).
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34726 >
2025-06-10 17:30:24 +00:00
Patrick Lerda
285d57d64b
r600: improve command stream constraints
...
This change helps to calculate the correct
command stream length.
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34726 >
2025-06-10 17:30:24 +00:00
Patrick Lerda
7947fba185
r600: enable trivial ARB_shader_group_vote
...
This change was tested on rv770, palm and cayman.
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34726 >
2025-06-10 17:30:24 +00:00
Patrick Lerda
8a1ef5bd31
r600: enable ARB_transform_feedback_overflow_query
...
This functionality was mostly implemented but not enabled.
The functionality which is using SET_PREDICATION seems to
not work as expected.
This change was tested on palm, barts and cayman,
piglit tests (26/28), and khr-gl45 tests (7/13).
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34726 >
2025-06-10 17:30:24 +00:00
Patrick Lerda
175a67c9bf
r600: bump evergreen atomic counters to twelve
...
The previous limit was eight.
The number of atomic counters of the evergreen implementation
is limited by the number of R_02872C_GDS_APPEND_COUNT_x registers.
This limits this implementation to twelve atomic counters.
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34726 >
2025-06-10 17:30:24 +00:00
Patrick Lerda
3fc4fc6a60
r600: unlock cayman number of atomic counters
...
This change updates the cayman atomic counters implementation
to be compatible with the OpenGL limit MAX_ATOMIC_COUNTERS (4096).
The previous limit was eight.
This change preserves the compatibility with the evergreen
implementation.
Here is the improvement at the test level:
khr-gl4[2-5]/shader_atomic_counters/basic-usage-tes: fail pass
spec/arb_arrays_of_arrays/execution/atomic_counters/fs-simple-inc-dec-read: skip pass
spec/arb_arrays_of_arrays/execution/atomic_counters/vs-simple-inc-dec-read: skip pass
spec/arb_arrays_of_arrays/linker/vs-to-fs-atomic-counter: skip pass
spec/arb_shader_atomic_counters/active-counters: skip pass
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34726 >
2025-06-10 17:30:24 +00:00
Patrick Lerda
0d9bc4eb38
r600: restructure the atomic function for the next update
...
This change adds some abstractions and updates the atomic function with a
"count" which is what the hardware and sfn_shader are using. The software
limitation to eight atomic counters (uint8_t) is removed as well. The
function headers are updated in the process.
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34726 >
2025-06-10 17:30:24 +00:00
Patrick Lerda
e056762f12
r600: fix index buffer with offset
...
This is an issue when glMultiDrawElements() is
enabled.
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34726 >
2025-06-10 17:30:24 +00:00
Patrick Lerda
922a0bdcd6
r600: add an unlikely() to synchronize with the index_bias fix
...
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34726 >
2025-06-10 17:30:24 +00:00
Patrick Lerda
a640b7233c
r600: index_bias should be forced to zero for all indirect draw calls
...
The previous fix 0cae8d372e is the right way to proceed, but it
should also apply when index_size is non-zero.
This change was tested on palm and cayman. Here is the test fixed:
spec/arb_multi_draw_indirect/arb_draw_elements_base_vertex-multidrawelements -indirect: fail pass
Fixes: 0cae8d372e ("r600: don't set an index_bias for indirect draw calls")
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34726 >
2025-06-10 17:30:24 +00:00
Mary Guillemard
9963cf2d89
panvk: Remove iter_sb on v11+
...
iter_sb is now unused on v11+, let's not store it on this codepath and
only define it for v10.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35307 >
2025-06-10 16:26:43 +00:00
Mary Guillemard
1879b33877
panvk: Only restrict iter scoreboards on v10
...
Now that all paths support indirect wait for iter scoreboards, we can
remove the previous limit.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35307 >
2025-06-10 16:26:43 +00:00
Mary Guillemard
cf8c71c0a0
panvk: Implement v11+ path for issue_fragment_jobs
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35307 >
2025-06-10 16:26:43 +00:00
Mary Guillemard
6207426706
panvk: Implement v11+ path for flush_tiling
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35307 >
2025-06-10 16:26:43 +00:00
Mary Guillemard
19fe0bb780
panvk: Implement v11+ path for compute dispatch
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35307 >
2025-06-10 16:26:43 +00:00
Mary Guillemard
236dcccedb
panvk: Use NEXT_SB_ENTRY on v11+ and prepare for indirect wait
...
Now that cs_next_iter_sb match NEXT_SB_ENTRY behavior, we can just
implement it with it.
We also setup the scoreboard wait mask when selecting the next
scoreboard entry to prepare for defer indirect wait and signal usage
around the codebase.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35307 >
2025-06-10 16:26:43 +00:00
Mary Guillemard
9d1d6c75fe
panvk: Select next iter scoreboard early
...
This closely match what NEXT_SB_ENTRY gives us on v11+ and should also
reduce the number of instruction by low margin.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35307 >
2025-06-10 16:26:42 +00:00
Mary Guillemard
e23612d0a9
panvk: Rework iter_sb to be the scoreboard directly
...
This patch changes iter_sb to contains the actual scoreboard info
instead of the index in the iter range.
This is required to handle NEXT_SB_ENTRY on v11+.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35307 >
2025-06-10 16:26:42 +00:00
Gurchetan Singh
0d3e8fa536
gfxstream: add virgl_hw.h in VirtGpu.h header
...
Otherwise, errors such as:
GrallocEmulated.cpp:101:29: error: use of undeclared identifier 'VIRGL_FORMAT_R8G8B8A8_UNORM'
101 | .virglFormat = VIRGL_FORMAT_R8G8B8A8_UNORM,
| ^
GrallocEmulated.cpp:117:29: error: use of undeclared identifier 'VIRGL_FORMAT_B8G8R8A8_UNORM'
117 | .virglFormat = VIRGL_FORMAT_B8G8R8A8_UNORM,
happen in Android builds. Add it to VirtGpu.h to fix this.
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35416 >
2025-06-10 16:11:47 +00:00
Serdar Kocdemir
778230341b
gfxstream: Change clear colors only for images with ANB
...
Swapchain mutable format extension issues were resolved by converting
clear colors on the guest side but that introduced regressions on other
clear related CTS test. Limit clear color modification to images with
Android native buffer structure, to filter swapchain images better.
Test: dEQP-VK.image.*
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35416 >
2025-06-10 16:11:47 +00:00
Jason Macnak
7fb8d85c26
gfxstream: use VkSnapshotApiCallHandle outside of VkReconstruction
...
... as VkSnapshotApiCallInfo* is a pointer into a
std::vector<VkSnapshotApiCallInfo> which can be invalidated during
multi threaded VK usage when the std::vector<> is resized.
Test: bazel test common/end2end:gfxstream_end2end_tests \
--graphics_drivers=gles_angle_vulkan_swiftshader \
--test_arg="--gtest_filter=*MultiThreadedResetCommandBuffer*VulkanSnapshots*" \
--test_arg="--gtest_repeat=100" \
--test_output=streamed
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35416 >
2025-06-10 16:11:47 +00:00
Adam Jackson
0f05988640
rusticl: Implement cl_intel_required_subgroup_size
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35133 >
2025-06-10 15:53:39 +00:00
Erik Faye-Lund
23a32b948b
upanfrost: make 128-bit opt-in with driconf on v4
...
On v4, we can't lower the tile-size to get enough per-pixel space for
both 4xMSAA *and* 128-bit formats at the same time.
And because GLES 2 doesn't support per-format queries, this means that
we'd effectively not support MSAA at all. We can avoid this issue by
dropping support for the 128-bit formats on V4, unless explicitly
requested by a driconf.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35207 >
2025-06-10 15:32:42 +00:00
Erik Faye-Lund
1617778c38
lima: make fp16 render-targets opt-in with driconf
...
Lima can't do *both* FP16 *and* 4x MSAA at the same time. And because
GLES2 requires MAX_SAMPLES to be valid for *all* supported formats,
this means we can't support MSAA at all unless we disable support for
the FP16 formats when used as render-targets.
To allow applications that needs FP16 render-targets to still support
it, we introduce a driconf that makes the opposite trade; support FP16,
but not 4x MSAA. Unfortunately, we can't support both, and still be
following the spec.
Reviewed-by: Erico Nunes <nunes.erico@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35207 >
2025-06-10 15:32:42 +00:00
Erik Faye-Lund
939d3a96fb
lima: add driconf infrastructure
...
This is the boiler-plate code needed to support driver-specific driconf
variables in Lima.
Reviewed-by: Erico Nunes <nunes.erico@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35207 >
2025-06-10 15:32:42 +00:00
Erik Faye-Lund
43ca34464f
lima: drop R16G16B16_FLOAT support
...
We're currently reporting support for this format, but trying to use it
leads to asserts in pan_access_tiled_image(). Right now, it's
effectively unused, because the state-tracker will end up using the RGBA
version, because that is renderable.
This is all about to change, so let's drop this format for now. But
because this is technically speaking supported on the HW, let's leave
this ifdeffed out with a comment to re-enable once the assert has been
fixed.
Reviewed-by: Erico Nunes <nunes.erico@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35207 >
2025-06-10 15:32:42 +00:00
Daniel Stone
c8576cc0dc
ci: Use placeholder-job for sanity
...
This runs in 11 seconds and doesn't even clone the git repo, so we can
use the placeholder tag here to get it through instantly.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35203 >
2025-06-10 14:37:14 +00:00
Daniel Stone
4b2a4dce78
ci: Skip check-only container jobs for pre-merge
...
For pre-merge pipelines, we know that we don't need to run the
container-check jobs unless image-tags.yml has been modified. In this
case, we can just skip the container jobs, because we 'know' that the
containers are present in the upstream repo.
For downstream or off-main pipelines, we still need to run the check
job, because the changed-file tracking is not reliable on other
branches, and because we may need to copy the container image from the
upstream container storage into the user's namespace.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35203 >
2025-06-10 14:37:14 +00:00
Daniel Stone
fe8bc3f23e
ci: Only run rustfmt when necessary
...
The rules we want here are pretty simple:
- only run rustfmt when Rust code changes, to the extent that we can
tell what has or hasn't changed (only really reliable for pre-merge)
- make rustfmt success mandatory for pre-merge, advisory for other
branches
Encode that, and make sure we don't run rustfmt when we don't need to.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35203 >
2025-06-10 14:37:14 +00:00
Daniel Stone
a3efd8284a
ci/windows: Use build rules for the build job
...
... not the test rules, which would try to run automatically.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35203 >
2025-06-10 14:37:14 +00:00
Daniel Stone
e3fa9c224a
ci/freedreno: Fix dependencies for trace jobs
...
The way we pull needs is overly baroque and relies on some jobs
overriding some other jobs to not be broken. This doesn't make it all
the way better, but does improve at least some parts.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35203 >
2025-06-10 14:37:14 +00:00
Daniel Stone
7d25850f18
ci/baremetal: Fix broken dependency declaration
...
debian/baremetal_arm_test no longer exists, although this was not
material beacuse the dependencies were overridden later anyway.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35203 >
2025-06-10 14:37:13 +00:00
Daniel Stone
ce346523ae
ci: Remove baremetal rules special case
...
It's not clear what this ever referred to, but it's a no-op now since
the rules are no different for .container versus directly overriding
from .container+build-rules.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35203 >
2025-06-10 14:37:13 +00:00
Eric Engestrom
9b6171214f
lavapipe/ci: document flakes seen over the last week
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35432 >
2025-06-10 13:58:25 +00:00
Eric Engestrom
84bde6b1c3
broadcom/ci: document flakes seen over the last week
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35432 >
2025-06-10 13:58:25 +00:00
Eric Engestrom
0a4a47b92f
radeonsi/ci: document flakes seen over the last week
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35432 >
2025-06-10 13:58:25 +00:00
Eric Engestrom
9d7bd8e78d
radv/ci: document flakes seen over the last week
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35432 >
2025-06-10 13:58:25 +00:00
Pohsiang (John) Hsu
f30214c1ef
mediafoundation: periodic clang-format
...
Reviewed-by: Yubo Xie <yuboxie@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35413 >
2025-06-10 13:42:24 +00:00
Sil Vilerino
f514fd80b6
mediafoundation: Pass the frame stats buffers to the gallium driver
...
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35413 >
2025-06-10 13:42:24 +00:00
Sil Vilerino
a92a24d845
mediafoundation: Cleanup comments/dead code
...
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35413 >
2025-06-10 13:42:24 +00:00
Sil Vilerino
9f4768c37d
mediafoundation: Remove WIL dependency, use std elements instead
...
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35413 >
2025-06-10 13:42:24 +00:00
Pohsiang (John) Hsu
0023a97576
mediafoundation: Disable level check to unblock 8K x 8K HEVC encode for now.
...
Reviewed-by: Yubo Xie <yuboxie@microsoft.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35413 >
2025-06-10 13:42:23 +00:00
Konrad Dybcio
639d7946c7
freedreno: Add initial A702 support
...
A702 has been used in Qualcomm QCM2290 / QRB2210 as well as in Qualcomm
SW5100 (SmartWatch).
Co-developed-by: Konrad Dybcio <konrad.dybcio@linaro.org >
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org >
Co-developed-by: Craig Stout <cstout@google.com >
Co-developed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com >
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com >
Co-developed-by: Rob Clark <rob.clark@oss.qualcomm.com >
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34867 >
2025-06-10 13:19:16 +00:00
Rob Clark
130972c52f
freedreno/fdl: Add fd6_texture_format_supported()
...
Helper so we can deal with special cases where a device adds/
removes format support.
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34867 >
2025-06-10 13:19:16 +00:00
Sid Pranjale
30de94b91d
vulkan/wsi: add cached bit to wsi host memory selection
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34247 >
2025-06-10 12:55:09 +00:00
Christoph Pillmayer
223945721b
panvk: Manually flush loads in panvk_cmd_draw_indirect
...
The ls_tracker will re-emit the WAIT for cs_load32_to(..attrib_offset..)
since it is only used in one branch of an if-else below. Thus, it is
better to manually flush it before.
Fixes: f75569734e (panvk: Remove explicit LS waits)
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35425 >
2025-06-10 12:34:31 +00:00
Christoph Pillmayer
c106fcf284
panvk: Use ls_tracker in cs_if_else
...
For cs_if_else the ls_tracker needs to be setup such that the loads and
stores of both branches are accounted for separately.
Fixes: f75569734e (panvk: Remove explicit LS waits)
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35425 >
2025-06-10 12:34:31 +00:00
Karol Herbst
13e47cde01
iris: implement SVM interfaces
...
Acked-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35174 >
2025-06-10 12:17:39 +00:00
Karol Herbst
a34a8fc0cd
iris: implement resource_get_address
...
Acked-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35174 >
2025-06-10 12:17:39 +00:00
Karol Herbst
006eca8b3c
rusticl/mesa: catch invalid use of resource_assign_vma in debug builds
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35174 >
2025-06-10 12:17:39 +00:00
Karol Herbst
a482ec7f05
clc: fix DiagnosticOptions related build failure with llvm-21
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13257
Cc: mesa-stable
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35399 >
2025-06-10 13:16:29 +02:00
Karol Herbst
392ad203eb
clc: use new createTargetMachine overload with llvm-21
...
The old one is deprecated, so let's move and silence the warning.
Cc: mesa-stable
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35399 >
2025-06-10 13:16:16 +02:00
Erik Faye-Lund
564e8a9a0b
panfrost: remove surface create/destroy hooks
...
These should be unused now, let's get rid of them.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35338 >
2025-06-10 09:06:50 +00:00
Samuel Pitoiset
6fac587aa2
radv: use 32 bytes descriptor for sampled/input attachment images on GFX11+
...
FMASK has been removed since GFX11+ and using 32 bytes can save a lot
of memory.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19621 >
2025-06-10 08:49:09 +00:00
Samuel Pitoiset
2797efb12d
radv: remove dead code in radv_CreateDescriptorSetLayout()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19621 >
2025-06-10 08:49:09 +00:00
Valentine Burley
b25135c7a9
ci/android: Use DEQP_ANDROID_EXE for GLES CTS
...
The new GLES CTS 3.2.12.0 release allows using DEQP_ANDROID_EXE for EGL
testing on Android.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34321 >
2025-06-10 07:56:46 +00:00
Valentine Burley
5ee7a4c1e9
ci: Uprev GL & GLES CTS
...
Update to the newest releases.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13076
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34321 >
2025-06-10 07:56:46 +00:00
Georg Lehmann
f36ac8434c
aco: add a readme entry for v_pk_cvt_u8_f32
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35391 >
2025-06-10 07:32:05 +00:00
Georg Lehmann
94c191e6d9
aco: remove p_v_cvt_pk_u8_f32
...
Now unused.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35391 >
2025-06-10 07:32:04 +00:00
Georg Lehmann
d95e90ab5f
aco: do not use v_cvt_pk_u8_f32 for f2u8
...
The ISA docs don't mention this, but instead of always truncating
like other integer conversions, this opcode actually uses the single
precision rounding mode.
We could continue to use the opcode and set the rounding mode to rtz
in lower_to_hw_instrs, but I think I should just concede that f2u8
isn't worth the effort.
Fixes: 9bb10b58 ("aco: use v_cvt_pk_u8_f32 for f2u8")
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35391 >
2025-06-10 07:32:04 +00:00
Lionel Landwerlin
07c2b90e25
ci: add intel format emulation testing
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35383 >
2025-06-10 07:16:27 +00:00
Sushma Venkatesh Reddy
a796b4a0d2
intel/tools: Reflect SIMD lane count for EUs in device info output
...
Update the device info output to display EU count together with the native
SIMD width. This clarifies the SIMD width of execution units and explains
differences in EU counts between hardware generations.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35116 >
2025-06-10 06:55:27 +00:00
Valentine Burley
519ecf372d
radv/ci: Add a pre-merge vkd3d job on Raven
...
Introduce a new, pre-merge vkd3d-proton job on Raven.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35167 >
2025-06-10 06:33:10 +00:00
Valentine Burley
9fae52a19c
ci/init-stage1: Add /dev/fd symlink
...
Create a symlink from /dev/fd to /proc/self/fd if /dev/fd is missing.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35167 >
2025-06-10 06:33:10 +00:00
Valentine Burley
15b6967154
ci/lava: Remove vkd3d-proton from the core rootfs
...
Remove the /vkd3d-proton directories from the core LAVA rootfs archive
and upload vkd3d-proton as a separate archive for use as an optional LAVA
overlay.
This reduces the size of the core lava-rootfs tarball and ensures
vkd3d-proton is only deployed when the job needs it.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35167 >
2025-06-10 06:33:10 +00:00
Valentine Burley
2b7ddc7d71
ci/vkd3d: Use structured tagging for vkd3d-proton
...
Structured tagging captures a checksum of the component we think we're
building, and verifies this through the chain.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35167 >
2025-06-10 06:33:10 +00:00
Valentine Burley
84bee4571c
ci/fluster: Move build-time check into GitLab log section
...
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35167 >
2025-06-10 06:33:09 +00:00
Valentine Burley
48d1933fab
ci/deqp: Use curl-with-retry helper
...
Use the new helper to avoid intermittent network issues.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35167 >
2025-06-10 06:33:09 +00:00
Valentine Burley
0ccfa323bc
ci: Add and use find_s3_project_artifact (and curl-with-retry) helpers
...
Introduce find_s3_project_artifact (and curl-with-retry) helpers to
simplify locating S3 artifacts across upstream mesa/mesa and forks.
Use these helpers in the Fluster build process and for fetching LAVA
rootfs artifacts.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35167 >
2025-06-10 06:33:09 +00:00
Valentine Burley
7537f0f42b
lima/ci: Remove redundant FDO_HTTP_CACHE_URI
...
For LAVA, LAVA_HTTP_CACHE_URI is used for the caching proxy.
Adding FDO_HTTP_CACHE_URI can cause find_s3_project_artifact to fail.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35167 >
2025-06-10 06:33:08 +00:00
Samuel Pitoiset
d98533630b
radv: stop using multiview with DGC
...
DGC doesn't support multiview. The Vulkan spec says:
"VUID-vkCmdExecuteGeneratedCommandsEXT-None-11062
If a rendering pass is currently active, the view mask must be 0."
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35342 >
2025-06-10 06:15:00 +00:00
Faith Ekstrand
31f248b382
nvk: Set memory windows in engine init
...
There's no reason to re-set them on every queue state dirty. They're
fixed from the dawn of time.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35356 >
2025-06-10 04:36:40 +00:00
Faith Ekstrand
e814fc16ff
nvk: Use an nvk_mem_stream for nvk_queue_push()
...
Importantly, this makes nvk_queue_push() no longer stall waiting on the
GPU so we can use it more freely.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35356 >
2025-06-10 04:36:40 +00:00
Faith Ekstrand
3470cd7568
nvk/queue: Rename submit_simple() to push()
...
Also, make it take an nv_push for ease of use.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35356 >
2025-06-10 04:36:40 +00:00
Faith Ekstrand
fdec18dfa5
nvk/upload_queue: Use an nvk_mem_stream internally
...
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35356 >
2025-06-10 04:36:40 +00:00
Faith Ekstrand
e206962409
nvk: Add an nvk_mem_stream struct
...
This is based on nvk_upload_heap but with a different interface and
minor changes to deal with those differences.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35356 >
2025-06-10 04:36:40 +00:00
Marek Olšák
a35a12dd38
radeonsi: fix AMD_DEBUG=usellvm
...
It did nothing for streamout and blits.
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35392 >
2025-06-10 03:31:20 +00:00
Marek Olšák
906b2b36ee
radeonsi: don't refer to removed GTF CTS tests
...
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35392 >
2025-06-10 03:31:20 +00:00
Marek Olšák
3d504ee844
radeonsi: remove a non-trivial optimization that doesn't do much
...
It only caused some optimized shader variants to not be compiled in very
rare cases. I think it doesn't happen in practice, but if it does, it's
not a big deal.
The case when this was useful was when a shader wrote (0,0,0,0) or
(0,0,0,1) or (1,1,1,0, or (1,1,1,1) to a shader output before PS,
but PS didn't use the output.
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35392 >
2025-06-10 03:31:20 +00:00
Marek Olšák
edd2fc3c7f
radeonsi: use AC_EXP_PARAM_UNDEFINED for clarity
...
The code was slightly confusing.
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35392 >
2025-06-10 03:31:20 +00:00
Marek Olšák
de9eee7700
radeonsi: support 8 instead of 6 clip planes with gl_ClipVertex
...
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35392 >
2025-06-10 03:31:20 +00:00
Marek Olšák
8ea7d32570
radeonsi: restructure si_emit_clip_regs
...
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35392 >
2025-06-10 03:31:20 +00:00
Marek Olšák
447d744833
ac/llvm: allocate LLVM PS output variables on demand
...
This stops relying on si_shader_info, allowing further cleanup of
si_shader_info.
radv_load_output was unused.
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35392 >
2025-06-10 03:31:20 +00:00
Faith Ekstrand
6b2331d5f7
nvk: Use an nvk_arena for nvk_descriptor_table
...
This gives descriptors a consistent base address and lets us stop doing
the memory reference counting dance for queue state management. We
still need to track sizes so that the GPU doesn't read outside the arena
but that's a lot simpler.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35327 >
2025-06-09 23:08:06 +00:00
Faith Ekstrand
ec148e9cdc
nvk/descriptor_table: Add a couple new helpers
...
This cleans up the code a bit, de-duplicates, and makes locking easier
to understand.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35327 >
2025-06-09 23:08:06 +00:00
Faith Ekstrand
9e52e296f7
nvk/heap: Use an nvk_mem_arena
...
The only material change here is that we're now allocating slightly less
memory every time in the non-contiguous case. Instead of allocating a
power of two plus the over-allocation so our total usable space is a
power of two, we now allocate a power of two and just let the over-
allocation burn space.
This also reworks the internal vma_heap to use actual addresses instead
of the index+offset packed things. This costs us a tiny bit more
looking up the map in alloc() but we save it again on free so there's no
real loss here.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35327 >
2025-06-09 23:08:05 +00:00
Faith Ekstrand
417e85f617
nvk: Add a new arena data structure
...
This is about 80% of what nvk_heap does today but with the explicit goal
of just pulling out the growable memory arena part out and separating
all of the heap logic.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35327 >
2025-06-09 23:08:05 +00:00
Paulo Zanoni
12192f6489
brw: properly decode TGL_PIPE_SCALAR
...
Source: BSpec "Instruction Fields" page (56701), SWSB field.
Credits to Caio Oliveira here, since he was helping me while we found
this issue together.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35395 >
2025-06-09 22:21:13 +00:00
Mel Henning
42ba492b88
compiler/rust/bitset: BitSetStream takes Key type
...
This was an oversight when BitSet was parameterized on a key type.
BitSetStream needs to also take a key type to prevent users from mixing
different key types in binary operators. Constraining this makes BitSet
usage more type safe.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35328 >
2025-06-09 21:49:29 +00:00
Dave Airlie
b8ac2d47e7
radv/video: add KHR_video_decode_vp9 support.
...
This adds the VP9 decoding support.
This was initially developed by me,
Stéphane Cerveau from Igalia did a bunch of fixes and testing,
Benjamin Cheng from AMD also helped with a few fixes and how
to program the firmware better.
This passes the current VK-GL-CTS tests.
Reviewed-by: David Rosca <david.rosca@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35398 >
2025-06-09 20:46:04 +00:00
Dave Airlie
4399e43ffd
ac/vcn: add new firmware flag to pass uncompresed header offset.
...
Reviewed-by: David Rosca <david.rosca@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35398 >
2025-06-09 20:46:04 +00:00
Dave Airlie
3fe375eca5
vulkan/video: add vp9 decode
...
Reviewed-by: David Rosca <david.rosca@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35398 >
2025-06-09 20:46:03 +00:00
Dave Airlie
a0f4cbe6f7
amd: move vp9 probs table to common code.
...
This will be reused by radv eventually, so let's move it all
over to common code. It might have other users eventually,
but we can worry about that later.
Reviewed-by: David Rosca <david.rosca@amd.com >
Signed-off-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35398 >
2025-06-09 20:46:03 +00:00
Mike Blumenkrantz
622612f67e
zink: hook up global GENERAL image layouts
...
on some hardware/drivers, image layouts other than WSI are discarded,
which means a bunch of layout-specific synchronization can be omitted
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35259 >
2025-06-09 20:15:03 +00:00
Mike Blumenkrantz
35ee74181e
zink: rename a sync function
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35259 >
2025-06-09 20:15:03 +00:00
Mike Blumenkrantz
b84f98288c
zink: add UIM feedback loop info for dynamic rendering
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35259 >
2025-06-09 20:15:02 +00:00
Mike Blumenkrantz
5ef18a10ea
zink: add a local screen variable in begin_rendering
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35259 >
2025-06-09 20:15:02 +00:00
Mike Blumenkrantz
8af0a2b0ca
zink: hook up VK_KHR_unified_image_layouts
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35259 >
2025-06-09 20:15:01 +00:00
Mike Blumenkrantz
f079cad644
zink: support vulkan 1.4
...
this just makes features/properties available
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35259 >
2025-06-09 20:15:01 +00:00
Dave Airlie
e8914c62ac
nak: add support for cbuf2 format to non uniform lowering.
...
This adds the hopper/blackwell support.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35409 >
2025-06-09 20:00:12 +00:00
Dave Airlie
fada333435
nvk: bindless cbufs on hopper/blackwell are different.
...
These are now 51/13 vs 45/19 in previous.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35409 >
2025-06-09 20:00:12 +00:00
Lorenzo Rossi
759e83204e
nak: Remove unreachable code in sm50.rs
...
This was probably retained from a refactor
Signed-off-by: Lorenzo Rossi <snowycoder@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34327 >
2025-06-09 19:46:07 +00:00
Lorenzo Rossi
e53e430dde
nak: Add tests for imnmx and dsetp
...
Signed-off-by: Lorenzo Rossi <snowycoder@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34327 >
2025-06-09 19:46:07 +00:00
Faith Ekstrand
6c052d87b7
nak/qmd: Add QMD version 5.0 for Blackwell+
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35418 >
2025-06-09 18:54:59 +00:00
Dave Airlie
ac699637c0
nak/qmd: Move slm size to a separate macro
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35418 >
2025-06-09 18:54:59 +00:00
Faith Ekstrand
6f8245472d
nak/qmd: Allow program addresses to be shifted
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35418 >
2025-06-09 18:54:59 +00:00
Faith Ekstrand
53dc4117b1
nak/sm70: Fix r2ur for Blackwell+
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35418 >
2025-06-09 18:54:59 +00:00
Sergi Blanch-Torne
047a90d683
ci: Re-enable the Collabora farm
...
This reverts commit acebfc7a38 .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35410 >
2025-06-09 18:02:25 +00:00
Nanley Chery
b2ad1333d0
anv: Use genX(set_fast_clear_state)() in transition_depth_buffer()
...
Simplify transition_depth_buffer() by reusing a function to update the
fast-clear value instead of open-coding that logic.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35329 >
2025-06-09 17:40:21 +00:00
Nanley Chery
e0bce5650c
anv: Move the gfx9 sRGB sampling clear color code
...
Simplify set_image_clear_color() by restricting the gfx9-specific code
to the gfx9 #ifdef.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35329 >
2025-06-09 17:40:21 +00:00
Nanley Chery
d21e7e5a9f
anv: Query sampler offset in set_image_clear_color()
...
Enables set_image_clear_color() to be used in transition_depth_buffer()
in a future commit.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35329 >
2025-06-09 17:40:21 +00:00
Nanley Chery
1820db80d6
anv: Fix an assert for ISL_FORMAT_RAW clear color update
...
We meant to count the number of bits, not bytes.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35329 >
2025-06-09 17:40:21 +00:00
Nanley Chery
a0bb9cb6d8
iris: Update clear color initializations for FCV
...
There were a couple issues in iris_resource_prepare_render():
* It previously assumed that the sampler would always look at the raw
dwords for 32bpc formats. However, the sampler only does this on
gfx12.0 for R32 formats (not RG32 formats for example). Update the
comments to reflect this.
* It only initialized the clear color if the render_format was
non-32bpc. However, initialization is still needed outside of this
case because a subsequent sampling operation may use a view format
which looks at the sampler field. Check for the FCV aux-usage instead
of the render format's number of bits-per-channel to fix this.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35329 >
2025-06-09 17:40:21 +00:00
Nanley Chery
a5bc71dc56
iris: Update check for sampler field changes
...
Use isl_get_sampler_clear_field_offset() to more accurately determine
when the sampler will change the field it reads from on gfx11-12. This
avoids partial resolving in a number of cases.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35329 >
2025-06-09 17:40:21 +00:00
Nanley Chery
69d91ae975
intel/blorp: Use get_copy_format_for_bpb more for gfx12.5
...
Use get_copy_format_for_bpb() instead of
get_ccs_compatible_uint_format() when performing blorp_copy(). This
matches the code path taken on gfx20 and increases the testing of cases
which would impact gfx12.0 in isl_get_sampler_clear_field_offset().
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35329 >
2025-06-09 17:40:20 +00:00
Nanley Chery
27a5d84632
intel/isl: Fix isl_get_sampler_clear_field_offset()
...
Through testing, I've found that the sampler will fetch the clear color
pixel from the converted clear color field in more cases. So, stop
reporting the raw dword offset for them:
* On gfx12.5, for 32-bpc color images.
* On gfx11-12.0, for 64-bpp color images.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35329 >
2025-06-09 17:40:20 +00:00
Yiwei Zhang
d4cedcd362
venus: force sw wsi path on nv proprietary
...
We have to force it here, otherwise, if we'd like to preserve the
modifier path, it'd be too late when it falls back to prime blit with
unsupported compositors/envs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35372 >
2025-06-09 17:17:08 +00:00
Yiwei Zhang
d1c191a8c8
venus: do not force prime blit on nv
...
...since the hw path doesn't work either
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35372 >
2025-06-09 17:17:08 +00:00
Natalie Vock
a28515f096
aco/opt: Rename loop header phis
...
Fossil stats on top of !35269 :
Totals from 133 (0.16% of 81077) affected shaders:
Instrs: 4328456 -> 4327891 (-0.01%)
CodeSize: 22890004 -> 22887732 (-0.01%); split: -0.01%, +0.00%
Latency: 28406452 -> 28404732 (-0.01%)
InvThroughput: 5361458 -> 5361153 (-0.01%)
Copies: 376788 -> 376222 (-0.15%)
VALU: 2429210 -> 2428645 (-0.02%)
VOPD: 57 -> 56 (-1.75%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35270 >
2025-06-09 14:36:44 +00:00
Rhys Perry
00dd0d0dd1
aco: update VALUReadSGPRHazard comment
...
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/35387 >
2025-06-09 10:12:25 +00:00
Rhys Perry
a714a19e16
aco/gfx12: fix VALUReadSGPRHazard with carry-out
...
fossil-db (gfx1201):
Totals from 370 (0.46% of 79653) affected shaders:
Instrs: 3933639 -> 3935914 (+0.06%)
CodeSize: 20743448 -> 20752068 (+0.04%); split: -0.00%, +0.04%
Latency: 26261246 -> 26261921 (+0.00%); split: -0.00%, +0.00%
InvThroughput: 5363675 -> 5363760 (+0.00%); split: -0.00%, +0.00%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Fixes: 65f95ae74e ("aco/insert_NOPs: implement VALU -> VALU case for VALUReadSGPRHazard on GFX12")
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35387 >
2025-06-09 10:12:25 +00:00
Olivia Lee
19e494a461
panfrost/ci: smoke test AFBC-P in CI
...
The AFBC path is behind a driconf option, and so was not tested by any
existing CI jobs. We had a regression with this that went unnoticed for
several months. To avoid similar situations in the future, add AFBC
smoke tests to CI, similar to the existing spilling smoke tests..
Some tests on g52 fail instead of crashing when AFBC is enabled, but
otherwise the CI expectations are identical.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35193 >
2025-06-09 06:33:49 +00:00
Sergi Blanch Torne
e19e8012e4
docs: crnm: document token usage
...
Judging by comments in the chat, it seems the usage of the tokens in crnm is
only natural when you've been using it for a while. New users would appreciate
reading it in the documentation, beyond the help in the tool.
Also, mentioning how to create a token and what's the minimal scope of the
token to be used with the tool can help new users.
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34860 >
2025-06-09 06:06:11 +00:00
Sergi Blanch-Torne
acebfc7a38
ci: disable Collabora's farm due to maintenance
...
Planned downtime in the farm:
* Start: 2025-06-09 07:00 UTC
* End: 2025-06-09 13:00 UTC
Signed-off-by: Sergi Blanch-Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35304 >
2025-06-09 07:18:34 +02:00
Dave Airlie
870b8717b2
Revert "hasvk/elk: stop turning load_push_constants into load_uniform"
...
This reverts commit b036d2ded2 .
This seems to break gtk4 and other stuff.
Cc: mesa-stable
(taking ack from Lionel saying we should revert)
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35407 >
2025-06-09 09:20:19 +10:00
Christian Gmeiner
ac042d1178
lima: Convert to use nir_shader_intrinsics_pass
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35130 >
2025-06-08 22:17:39 +00:00
Rob Clark
52d028e06c
freedreno: Enable the X1-45
...
Enable the GPU in the X1P41200 chipset.
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35404 >
2025-06-08 20:18:42 +00:00
Rob Clark
1eef2a65c7
freedreno: Fold X1-85 back into existing dev table entry
...
Commit 453ecaddb5 ("freedreno: Remove compute_constlen_quirk") removed
the only UMD visible difference from a740 but did not re-merge the
device table entries.
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35404 >
2025-06-08 20:18:42 +00:00
Marek Olšák
bd7efb8805
egl: export GL-CL interop functions from libEGL_mesa.so
...
Non-GLVND EGL already exports them.
The PUBLIC un-definition was unnecessary since we use symbols lists.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35386 >
2025-06-08 13:20:47 -04:00
Vinson Lee
8c8496e2f6
freedreno: Sort MRTs so output is stable
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7095
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35402 >
2025-06-08 14:07:50 +00:00
Pavel Ondračka
2859fd34f3
r300: minor fix for backend writer/reader detection
...
Consider the following snippet from a Trine shader
20: RCP temp[40].z, temp[39].__w_;
21: MOV temp[40].xy, temp[34].-x-y__;
22: DP3 temp[41].x, temp[40].xyz_, temp[29].xyz_;
...
33: DP3 temp[52].x, temp[40].xyz_, temp[51].xyz_;
34: MAX temp[53].x, temp[52].x___, none.0___;
35: MUL temp[54].xy, temp[40].xy__, const[8].ww__;
36: MUL temp[55].xy, temp[54].xy__, temp[41].xx__;
37: MUL temp[56].x, temp[40].z___, const[8].w___;
When we search for writers for temp[40] so that we can check if we can
convert the MUL to omod, the corresponding variable actually contains
the RCP temp[40].z first and the MOV temp[40].xy is marked as friend.
However the current logic only checks the first instruction of variable,
so we fail to find the writer. Just search recursivelly also the
variable friends.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34462 >
2025-06-08 06:29:49 +00:00
Marek Olšák
d279d019d4
ac/nir/tess: remove parameter from and simplify hs_per_patch_output_vmem_offset
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34780 >
2025-06-07 16:29:39 +00:00
Marek Olšák
5734a916d6
ac: move tcs_offchip_layout into ac_shader_args
...
It's the same variable between radv and radeonsi, but the implementation of
the load intrinsics is very different.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34780 >
2025-06-07 16:29:39 +00:00
Marek Olšák
5994e08f8b
ac: set LDS limit for TCS to 32K for all chips
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34780 >
2025-06-07 16:29:39 +00:00
Marek Olšák
fa5e07d5f7
ac/nir/tess: write TCS patch outputs to memory as vec4 stores at the end
...
This moves per-patch output VMEM stores to the end of the shader where they
execute only once. They are skipped if the whole workgroup discards
all patches.
If tcs_vertices_out == 1, per-patch output VMEM stores use the same lanes
as per-vertex output VMEM stores, which are aligned to 4 or 8 lanes to get
cached bandwidth for the stores.
Previously, per-patch outputs were stored to memory for every store_output
intrinsic in TCS.
Additionally, LDS is no longer allocated for per-patch outputs that are only
written and read by invocation 0, or they are written by all invocations
but not read, and don't have indirect indexing. This reduces LDS usage and
LDS traffic.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34780 >
2025-06-07 16:29:39 +00:00
Marek Olšák
c732306c5a
ac/nir/tess: unify computing LDS output patch size, minimize LDS bank conflicts
...
This unifies the duplicated LDS output patch size computation between
hs_output_lds_offset and ac_nir_compute_tess_wg_info.
"+ 4" to the output patch stride minimizes LDS bank conflicts by making
the beginning of each patch start on a different LDS bank.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34780 >
2025-06-07 16:29:39 +00:00
Marek Olšák
37dc376395
ac/nir/tess: use if-ladder to determine valid tess level components for the vote
...
Checking whether every compoment is valid in tess_level_has_effect() when
prim_mode is unknown generated too many SALU. Do this instead:
if (triangles) ...
subgroup vote for triangles
else if (quads) ..
subgroup vote for quads
else // isoline
subgroup vote for isolines
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34780 >
2025-06-07 16:29:39 +00:00
Marek Olšák
2f0d9495c5
ac/nir/tess: inline mask helpers
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34780 >
2025-06-07 16:29:39 +00:00
Marek Olšák
10ae5b2fbf
ac/nir/tess: rewrite tess level tracking, don't use LDS for more cases
...
This rewrites tess level value tracking to use the 2-bit masks, which
means LDS allocation is determined separately for outer and inner levels.
LDS is not allocated for tess levels that are only written by invocation 0
and never read or only read by invocation 0. If the number of output
patch vertices is 1, LDS is also not allocated for tess levels.
Tess level outputs for TES are always written as whole vec4 to get cached
bandwidth.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34780 >
2025-06-07 16:29:39 +00:00
Marek Olšák
be44da1888
radeonsi: replace tess_levels_written_for_tes mask with a count
...
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/34780 >
2025-06-07 16:29:39 +00:00
Marek Olšák
9d9cfd89da
ac/nir/tess: compute the number of remapped VRAM outputs in common code
...
This unifies it for both drivers.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34780 >
2025-06-07 16:29:39 +00:00
Marek Olšák
ea70060826
ac/nir/tess: stop using tes_inputs_read / tes_patch_inputs read for TCS & TES
...
use ac_nir_tess_io_info instead
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34780 >
2025-06-07 16:29:39 +00:00
Marek Olšák
c38bc4824f
ac/nir/tess: apply no_varying to ac_nir_tess_io_info
...
This has the effect that no_varying is finally honored for per-patch
outputs, skipping VMEM stores that TES doesn't read.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34780 >
2025-06-07 16:29:39 +00:00
Marek Olšák
f2c48652da
nir: add shader_info::tess::tcs_*outputs_read_by_tes*
...
Gather no_varying for AMD.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34780 >
2025-06-07 16:29:39 +00:00
Marek Olšák
42445e271e
radv,radeonsi: use ac_nir_tess_io_info for LDS size computation
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34780 >
2025-06-07 16:29:39 +00:00
Marek Olšák
c678844ccb
ac/nir/tess: move LDS and VMEM output masks into a new info structure
...
This will replace LDS and VMEM output size computations in drivers.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34780 >
2025-06-07 16:29:39 +00:00
Marek Olšák
f9c2a01f6a
ac/nir/tess: indent a block for nir_if
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34780 >
2025-06-07 16:29:39 +00:00
Marek Olšák
d967266edd
ac/nir/tess: if all tess levels are 0, skip per-vertex TCS output stores
...
This is done for all chips.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34780 >
2025-06-07 16:29:39 +00:00
Marek Olšák
c1237256cb
ac/nir/tess: execute the tess level workgroup vote on all chips
...
It will be used to skip stores for discarded patches.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34780 >
2025-06-07 16:29:39 +00:00
Marek Olšák
9c16228359
ac/nir/tess: write TCS per-vertex outputs to memory as vec4 stores at the end
...
This improves write throughput for TCS outputs. It follows the same idea
as attribute stores in hw GS. The improvement is easily measurable with
a microbenchmark.
It also has the advantage that multiple output stores to the same address
don't result in multiple memory stores. Each output components gets only
one memory store at the end of the shader.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34780 >
2025-06-07 16:29:39 +00:00
Marek Olšák
509f0e62ad
ac/nir/tess: allow passing explicit patch_offset to VMEM/LDS offset calculations
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34780 >
2025-06-07 16:29:39 +00:00
Marek Olšák
a59464b6e3
radv,radeonsi: precompute and pass TCS per-vertex output stride via a user SGPR
...
It's a stride of 1 output, which isn't 16. It's 16 * num_threads,
aligned to 256.
tcs_offchip_layout has 5 unused bits, so let's use them.
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/34780 >
2025-06-07 16:29:39 +00:00
Marek Olšák
742227c65c
radv,radeonsi: make TCS_OFFCHIP_LAYOUT_NUM_PATCHES not off by one
...
We never use 128 anyway.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34780 >
2025-06-07 16:29:39 +00:00
Marek Olšák
8d3e3c72e0
radv,radeonsi: merge PATCH_CONTROL_POINT & OUT_PATCH_CP into 1 field
...
One is only used by TCS, the other is only used by TES.
Use the same field for both, call it PATCH_VERTICES_IN.
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/34780 >
2025-06-07 16:29:39 +00:00
Marek Olšák
534b282573
ac/nir/tess: adjust memory layout of TCS outputs to have aligned store offsets
...
There is a comment that explains it.
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/34780 >
2025-06-07 16:29:38 +00:00
Marek Olšák
80236f2367
ac/nir/tess: add if/endif for HS threads in NIR instead of ACO/LLVM
...
This just removes the if/endif wrapping for LLVM, and hopefully the ACO
change does the same thing.
ACO had redundant code in endif_merged_wave_info, which is removed here.
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/34780 >
2025-06-07 16:29:38 +00:00
Marek Olšák
cd366b57d9
ac/nir: implement load_subgroup_id/local_invocation_index for TCS on gfx6-10.x
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34780 >
2025-06-07 16:29:38 +00:00
Eric Engestrom
b937d8be9d
docs: add sha sum for 25.1.3
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35401 >
2025-06-07 14:19:55 +00:00
Eric Engestrom
5c25b09002
docs: add release notes for 25.1.3
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35401 >
2025-06-07 14:19:55 +00:00
Eric Engestrom
1f787ff64e
docs: update calendar for 25.1.3
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35401 >
2025-06-07 14:19:55 +00:00
llyyr
c8bd9ac789
brw: don't unconditionally print message on instance creation
...
This would cause Mesa to print this message even if an Intel GPU is just
being enumerated by a Vulkan application. For example, `vulkaninfo
--summary`.
Fixes: 52f73db5b7 ("brw: implement read without format lowering")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35396 >
2025-06-07 13:59:22 +00:00
Pavel Ondračka
16dbcd9b04
r300/ci: add two flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35400 >
2025-06-07 12:12:41 +02:00
Valentine Burley
c6aad1b4c2
khronos-update: Add missing Vulkan Video headers
...
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35384 >
2025-06-07 05:52:21 +00:00
Guilherme Gallo
f61fe79fc0
ci/turnip: Update a couple of flaky tests on a660-vk
...
Got a consecutive timeout in two different `a660-vk` jobs on
`dEQP-VK.subgroups.clustered.compute.subgroupclusteredmax_u64vec4_requiredsubgroupsize`
test.
Analyzed the CI quality stats dashboard [1] (via job name filter) and also
found a flaky
`dEQP-VK.clipping.user_defined.clip_cull_distance.vert_tess_geom.1_7` on
the same job
[1] https://ci-stats-grafana.freedesktop.org/goto/1ai94GLHR?orgId=1
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35377 >
2025-06-07 04:28:49 +00:00
Rob Clark
242f677d20
freedreno: A couple features.txt updates
...
Just catching up with reality.
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35371 >
2025-06-06 21:15:21 +00:00
Rob Clark
0b20bddb8a
freedreno: correct resource usage check
...
Usage is not a bitmask. This was causing us to not pick cached-coherent
for staging read buffers (ie. clEnqueueReadBuffer() and friends).
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35371 >
2025-06-06 21:15:21 +00:00
Rob Clark
95fede0126
freedreno: Use non-draw batches for compute contexts
...
We don't want opencl profiling related queries to create "draw" batches,
as we'd end up with three batches per grid.
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35371 >
2025-06-06 21:15:21 +00:00
Rob Clark
014b2308c0
freedreno: Fix compute caps
...
Get subgroup_sizes and max_compute_units from dev info.
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35371 >
2025-06-06 21:15:21 +00:00
Rob Clark
57eb3529ac
freedreno: Don't autotune if we are already sysmem
...
If we've already picked sysmem (for example, non-draw batches) no need
to autotune. Avoids autotune for compute-only workloads, for example.
Cuts down on per-batch overhead when we get a lot of single grid batches.
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35371 >
2025-06-06 21:15:21 +00:00
Rob Clark
c5e2e26f49
freedreno: Avoid repeated device lookup
...
fd_device_gen() calls fd_dev_info_raw() which loops over all the device
table entries. No need to do this for every batch. And we _especially_
don't want to do this per-batch when rusticl cl profiling mode triggers
a batch flush for every launched kernel.
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35371 >
2025-06-06 21:15:21 +00:00
Caleb Callaway
111005066d
anv: Increase max VBs to 33 on Gen11+
...
Prior to Gen 11, we had to upload a bunch of SGVs
(FirstVertex, BaseVertex, BaseInstance, DrawID) via
3DSTATE_VERTEX_BUFFERS.
For Gen11+, we upload via 3DSTATE_SGVS_2 instead.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35376 >
2025-06-06 19:32:35 +00:00
Mel Henning
5f0e4a7605
nak,nir: Stop using std::mem::zeroed()
...
We can replace all of these with safe alternatives if we ask bindgen for
implementations of Default.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35390 >
2025-06-06 18:58:35 +00:00
Mel Henning
d15b5fadbb
nir/divergence_analysis: Update LCSSA comment
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35271 >
2025-06-06 18:15:05 +00:00
Caio Oliveira
80fb555718
brw: Fix MAD instruction usage in spilling logic
...
The intention here is to build a SIMD8 value, that will be expanded
as needed -- just like the SHL/ADD case, but with a single instruction.
Found when the was triggering invalid MAD with SIMD32 (that gets compressed)
*and* with overlapping destination and source *and* which would cause
conflict when divided into two SIMD16.
Fixes: 338273dedd ("brw/reg_allocate: Optimize spill offset calculation using integer MAD")
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35302 >
2025-06-06 15:31:50 +00:00
Lionel Landwerlin
9c0ff88e8d
vulkan: dump headers/registry to 1.4.317
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35382 >
2025-06-06 14:38:17 +00:00
Lionel Landwerlin
49def5ca9d
spirv: bump headers
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35382 >
2025-06-06 14:38:17 +00:00
Boris Brezillon
bb07343c28
pan/image: Start checking image view consistency
...
We recently found a weird case where an image was re-interpreted with
a format that had a bigger size than the image format, which led the
resulting texture descriptor to have a size that was bigger than what
the plane descriptors were covering.
Let's make sure this sort of unexpected use don't slip through in the
future by introducing basic image view consistency checks.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35317 >
2025-06-06 14:16:43 +00:00
Boris Brezillon
eb476fd2c6
panfrost: Make the MTK detiling more robust
...
There are several problems in the current logic:
- it doesn't account for the WSI stride, and just assumes things are
tightly packed and the resource extent is aligned on a tile
- the format re-interpretation done in panfrost_mtk_detile_compute()
where the view format and the image format have a different block size
is not supposed to be supported, and that's something we'd like
to enforce now
- we write to textures that may have no descriptors bound to. This works
thanks to the robustness behind image stores/loads, but we'd probably
rather discard a bunch of instructions when Y/UV planes are copied
separately
- the linear to tiled coordinates conversion can be simplified by using
a combination of local_invocation_id+workgroup_id instead of the
global_invocation_id
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35317 >
2025-06-06 14:16:43 +00:00
Boris Brezillon
a87805fdd8
panfrost: Draw a clear line between AFBC and MTK_TILED conversion shaders
...
Those two types are completely different, and they don't use the same
key attributes. Let's provide two different helpers, and place the key
bits that are AFBC-specific into an struct inside a union. We also add
the modifier to the key to prevent AFBC/MTK_TILED collisions.
Not only this make things clearer, but we also no longer compile
MTK detiling shaders when AFBC shaders are requested (or the other way
around).
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35317 >
2025-06-06 14:16:43 +00:00
Lars-Ivar Hesselberg Simonsen
e6d53fc1d8
panvk: Add FS read support for PrimitiveID
...
Adds support for reading PrimitiveID in a fragment shader assuming the
previous shader was vertex.
If support for shaders that can modify PrimitiveID is added, additional
changes will be required.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35367 >
2025-06-06 13:54:57 +00:00
Lars-Ivar Hesselberg Simonsen
49a7b1a5b8
panvk: Fix unsupported LogicOp NOOP blending
...
For formats that do not support LogicOps, NOOP should be treated as
COPY. This was implemented in nir/lower_blend, but an optimization in
PanVK would trigger for all NOOP that stopped this from happening.
This commit limits the NOOP optimization to supported formats.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35367 >
2025-06-06 13:54:57 +00:00
Mary Guillemard
8953c13b15
panfrost: Remove pan_indirect_dispatch
...
Now that we use a precomp shader for indirect dispatch,
we can safely remove this.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32839 >
2025-06-06 12:58:21 +00:00
Mary Guillemard
2c563781fc
panfrost: Enable indirect dispatch support on v6 and v9
...
Our CL implementation also handle v6/v9 and pass CTS.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32839 >
2025-06-06 12:58:21 +00:00
Mary Guillemard
33fed5a20f
panfrost: Use panlib indirect dispatch precomp shader in Gallium
...
Now that we have an implementation there, we can just call it.
This pass "dEQP-GLES31.functional.compute.indirect_dispatch.*".
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32839 >
2025-06-06 12:58:21 +00:00
Mary Guillemard
8b4e515ca2
panvk: Implement indirect dispatch on JM
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32839 >
2025-06-06 12:58:21 +00:00
Mary Guillemard
bf9331b3fe
libpan: Add indirect dispatch implementation
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32839 >
2025-06-06 12:58:21 +00:00
Mary Guillemard
1abe5d1da9
pan/genxml: Switch pan_merge to a macro
...
This switch pan_perge to a macro to keep address space
information when working with OpenCL C.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32839 >
2025-06-06 12:58:21 +00:00
Mary Guillemard
a1b1713b43
panfrost: Make pan_encoder.h CL safe
...
Will be used for indirect dispatch.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32839 >
2025-06-06 12:58:21 +00:00
Lionel Landwerlin
c9ccb9568f
anv: simplify RENDER_SURFACE_STATE parsing
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22524 >
2025-06-06 12:28:42 +00:00
Lionel Landwerlin
1f5a9a5a73
anv: add support for shaderStorageImageReadWithoutFormat through emulation
...
Using in shader lowering, only relevant for Gfx9,11,12.0 platforms.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5117
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22524 >
2025-06-06 12:28:42 +00:00
Lionel Landwerlin
52f73db5b7
brw: implement read without format lowering
...
Load the format enum and then just go through a series of :
if format == R16G16B16A16_UNORM
color = lower_r32g32_uint_tor_r16g16b16a16_unorm(color)
else if format == R16G16B16A16_SNORM
...
For Gfx12.5, there is no in-shader conversion.
For Gfx12/11, the in-shader conversion covers the following formats :
- ISL_FORMAT_R10G10B10A2_UNORM
- ISL_FORMAT_R10G10B10A2_UINT
- ISL_FORMAT_R11G11B10_FLOAT
For Gfx9, the following formats :
- ISL_FORMAT_R16G16B16A16_UNORM
- ISL_FORMAT_R16G16B16A16_SNORM
- ISL_FORMAT_R10G10B10A2_UNORM
- ISL_FORMAT_R10G10B10A2_UINT
- ISL_FORMAT_R8G8B8A8_UNORM
- ISL_FORMAT_R8G8B8A8_SNORM
- ISL_FORMAT_R16G16_UNORM
- ISL_FORMAT_R16G16_SNORM
- ISL_FORMAT_R11G11B10_FLOAT
- ISL_FORMAT_R8G8_UNORM
- ISL_FORMAT_R8G8_SNORM
- ISL_FORMAT_R16_UNORM
- ISL_FORMAT_R16_SNORM
- ISL_FORMAT_R8_UNORM
- ISL_FORMAT_R8_SNORM
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22524 >
2025-06-06 12:28:42 +00:00
Jose Maria Casanova Crespo
a8c3767386
v3d: Rename MAX_JOB_SCISSORS to V3D_JOB_MAX_SCISSORS
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35042 >
2025-06-06 11:56:08 +00:00
Jose Maria Casanova Crespo
ed16884bfa
v3d: Force job submit if the number of attached BOs is over 2048
...
At draw time, if the number of BOs is bigger than 2048, the current
job submission is forced.
The 2048 limit has been validated to be big enough to not be reached
in most of the scenarios. Only a couple of CTS tests get over this
threshold.
So the new V3D_JOB_MAX_BO_HANDLE_COUNT is defines as 2048 and
V3D_JOB_MAX_BO_REFERENCED_SIZE is defined as 768MB.
This forced submission is useful to handle scenarios where the client
application is not calling glFlush() or where SwapBuffers() is a NOP
because of not having a window surface. In this case, the CLE can
grow indefinitely until the system runs out of memory resources.
This approach is followed by different drivers forcing the flush
of CL when it reaches a defined size because of HW limitations.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12227
Cc: mesa-stable
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Maíra Canal <mcanal@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35042 >
2025-06-06 11:56:08 +00:00
Jose Maria Casanova Crespo
6ff509593c
v3d: Only apply TLB load invalidation on first job after FB state update
...
Mark when at least one job for the current active FBO has already been
submitted since the last framebuffer state update.
With this we can apply TLB load invalidation only to the first
job that is submitted to the same FBO. Not applying TLB
loads invalidation on follow-up jobs targeting the same framebuffer
state.
With this we avoid doing incorrect invalidations when we force
a job submission for a reason not related with a new framebuffer bind.
Cc: mesa-stable
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35042 >
2025-06-06 11:56:08 +00:00
Jose Maria Casanova Crespo
45367643f6
v3d: Add missing newline char on perf debug message
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35042 >
2025-06-06 11:56:07 +00:00
Rhys Perry
86ccceb4de
aco: don't consider gfx1153 to have point sample acceleration
...
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/34978 >
2025-06-06 11:55:13 +01:00
Rhys Perry
f10b49781d
aco: make all wait entries linear
...
If we remove exec skips, then we can wait for an entry on all paths in the
linear cfg, but not the logical cfg.
fossil-db (gfx1201):
Totals from 0 (0.00% of 79653) affected shaders:
fossil-db (navi31):
Totals from 0 (0.00% of 79653) affected shaders:
fossil-db (navi21):
Totals from 1586 (1.99% of 79653) affected shaders:
Instrs: 5118897 -> 5113206 (-0.11%); split: -0.11%, +0.00%
CodeSize: 28365852 -> 28343696 (-0.08%); split: -0.08%, +0.00%
Latency: 47820341 -> 47799532 (-0.04%); split: -0.09%, +0.05%
InvThroughput: 9904391 -> 9908653 (+0.04%); split: -0.02%, +0.06%
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/34978 >
2025-06-06 11:55:13 +01:00
Rhys Perry
1088ac49db
aco: sometimes join linear wait entries on logical edges
...
fossil-db (gfx1201):
Totals from 1303 (1.64% of 79653) affected shaders:
Instrs: 6920949 -> 6917692 (-0.05%); split: -0.06%, +0.01%
CodeSize: 37112404 -> 37095728 (-0.04%); split: -0.05%, +0.01%
Latency: 70471343 -> 70365986 (-0.15%); split: -0.15%, +0.00%
InvThroughput: 11515673 -> 11504666 (-0.10%); split: -0.10%, +0.01%
fossil-db (navi31):
Totals from 1293 (1.62% of 79653) affected shaders:
Instrs: 6500186 -> 6496761 (-0.05%); split: -0.06%, +0.01%
CodeSize: 34562712 -> 34549236 (-0.04%); split: -0.04%, +0.01%
Latency: 68604746 -> 68666532 (+0.09%); split: -0.15%, +0.24%
InvThroughput: 11276591 -> 11284914 (+0.07%); split: -0.10%, +0.17%
fossil-db (navi21):
Totals from 811 (1.02% of 79653) affected shaders:
Instrs: 4110953 -> 4108788 (-0.05%); split: -0.05%, +0.00%
CodeSize: 22955984 -> 22948064 (-0.03%); split: -0.03%, +0.00%
Latency: 35070231 -> 35064448 (-0.02%); split: -0.02%, +0.00%
InvThroughput: 6945610 -> 6945053 (-0.01%); split: -0.01%, +0.00%
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/34978 >
2025-06-06 11:51:08 +01:00
Rhys Perry
c1f8537131
aco: skip waitcnt between two vmem writing different lanes
...
fossil-db (gfx1201):
Totals from 1382 (1.74% of 79653) affected shaders:
Instrs: 6531704 -> 6523935 (-0.12%); split: -0.12%, +0.00%
CodeSize: 34992076 -> 34933568 (-0.17%); split: -0.17%, +0.01%
Latency: 70183360 -> 69616066 (-0.81%); split: -0.81%, +0.00%
InvThroughput: 11155445 -> 11068667 (-0.78%); split: -0.78%, +0.00%
fossil-db (navi31):
Totals from 46 (0.06% of 79653) affected shaders:
Instrs: 1833768 -> 1833732 (-0.00%)
CodeSize: 9468788 -> 9468716 (-0.00%)
Latency: 11683092 -> 11667865 (-0.13%)
InvThroughput: 2274377 -> 2272872 (-0.07%)
fossil-db (navi21):
Totals from 0 (0.00% of 79653) affected shaders:
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/34978 >
2025-06-06 11:51:08 +01:00
Rhys Perry
9649deb50e
aco: skip waitcnt between two vmem writing different halves
...
fossil-db (gfx1201):
Totals from 4 (0.01% of 79653) affected shaders:
Instrs: 41374 -> 41380 (+0.01%); split: -0.01%, +0.02%
CodeSize: 238912 -> 238924 (+0.01%); split: -0.01%, +0.01%
Latency: 706714 -> 706410 (-0.04%)
InvThroughput: 352269 -> 352118 (-0.04%)
VClause: 803 -> 798 (-0.62%)
fossil-db (navi31):
Totals from 0 (0.00% of 79653) affected shaders:
fossil-db (navi21):
Totals from 0 (0.00% of 79653) affected shaders:
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13028
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34978 >
2025-06-06 11:51:08 +01:00
Rhys Perry
9a38ad3ca7
aco: add wait_entry::logical_events
...
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/34978 >
2025-06-06 11:51:08 +01:00
Rhys Perry
bb99de00f7
aco: add wait_entry::vm_mask
...
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/34978 >
2025-06-06 11:51:08 +01:00
Rhys Perry
b70ecfa588
aco: only join barrier_imm/barrier_events for logical edges
...
fossil-db (gfx1201):
Totals from 3 (0.00% of 79653) affected shaders:
Instrs: 2904 -> 2893 (-0.38%)
CodeSize: 14944 -> 14900 (-0.29%)
Latency: 14703 -> 14248 (-3.09%)
InvThroughput: 1237 -> 1210 (-2.18%)
fossil-db (navi31):
Totals from 3 (0.00% of 79653) affected shaders:
Instrs: 2742 -> 2731 (-0.40%)
CodeSize: 14136 -> 14092 (-0.31%)
Latency: 14744 -> 14287 (-3.10%)
InvThroughput: 1241 -> 1213 (-2.26%)
fossil-db (navi21):
Totals from 3 (0.00% of 79653) affected shaders:
Instrs: 2326 -> 2315 (-0.47%)
CodeSize: 12472 -> 12428 (-0.35%)
Latency: 14921 -> 14465 (-3.06%)
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/34978 >
2025-06-06 11:51:08 +01:00
Rhys Perry
62a9b4b976
aco: set vmem_types for args_pending_vmem
...
fossil-db (gfx1201):
Totals from 0 (0.00% of 79653) affected shaders:
fossil-db (navi31):
Totals from 11 (0.01% of 79653) affected shaders:
Instrs: 4543 -> 4554 (+0.24%)
CodeSize: 23256 -> 23300 (+0.19%)
fossil-db (navi21):
Totals from 8 (0.01% of 79653) affected shaders:
Instrs: 2333 -> 2341 (+0.34%)
CodeSize: 12328 -> 12360 (+0.26%)
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/34978 >
2025-06-06 11:51:08 +01:00
Erik Faye-Lund
fb0a422be2
panfrost: plug leak of modifier conversion shaders
...
We were allocating these, but never freeing the actual CSOs here.
Let's wire things up so we delete the data when we destroy the
hash-table. Because we don't have access to the context in that
callback, we can't call the pipe-level function to delete a CSO,
but luckily we don't actually need the context for the
driver-logic. So let's add an internal helper for that.
Fixes: ae3fb3089f ("panfrost: Add infrastructure for internal AFBC compute shaders")
Fixes: f39194cdd3 ("panfrost: support MTK 16L32S detiling")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35336 >
2025-06-06 08:35:35 +00:00
Erik Faye-Lund
cc66651fc1
panfrost: do not double-insert shader into hash-table
...
We were inserting twice here, once without holding the lock before
compiling the shaders, and once after while holding it. Let's remove
the insert without the lock.
Fixes: ae3fb3089f ("panfrost: Add infrastructure for internal AFBC compute shaders")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35336 >
2025-06-06 08:35:35 +00:00
Yiwei Zhang
69b458fdd7
panvk: fix imported external multi-planar image support
...
This change and the prior preparations have fixed the false assumption
of ordered image planes for external multi-planar image (YV12 has the
chroma planes swapped to map to the Vulkan format). We no longer need to
use plane data size to advance plane offset. The code paths for
subresource reporting, memroy reporting and memory binding are now
consistent across native disjoint/non-disjoint and imported external
images no matter single-planar or multi-planar.
Test:
- No regressions in dEQP-VK.ycbcr.*
- NV12 camera preview works on Android
- YV12 video playback works on Android
- Android graphics cts passing
- BasicVulkanGpuTest
- MediaVulkanGpuTest
- CameraVulkanGpuTest
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35299 >
2025-06-06 07:25:27 +00:00
Yiwei Zhang
a9006ebde0
pan/layout: document and prepare to fix planar plane offset
...
This change:
1. Rename pan_image_wsi_layout to pan_image_layout_constraints.
1. Document that pan_image_layout_constraints::offset_B will be used to
pass planar plane offset for native images as well. Update
array_stride_B to exclude such offset accordingly.
2. Document that whether explicit layout is used further depends on if
the passed wsi_row_pitch_B is non-zero or not. Updated the checks to
base on the new boolean use_explicit_layout.
3. Update and document the intended slice offset_B behavior so that
native and imported images are aligned.
No behavior change from this commit since the client (panvk) hasn't set
the pan_image_layout_constraints->offset_B for planar plane yet.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35299 >
2025-06-06 07:25:27 +00:00
Yiwei Zhang
6690c74f6d
pan/layout: refactor wsi layout query
...
This change splits pan_image_layout_get_wsi_layout into separate queries
to prepare for making pan_image_wsi_layout an input layout constraint.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35299 >
2025-06-06 07:25:27 +00:00
Yiwei Zhang
1d77569cbc
pan/layout: exclude plane offset from plane data size for import
...
This doesn't affect gallium side behavior since data_size_B is never
looked at for imported planar plane. For panvk, it doesn't affect
imported single planar image, and multi-planar side is still broken.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35299 >
2025-06-06 07:25:26 +00:00
Yiwei Zhang
360c08a3dc
pan/layout: add const to immutable local vars in pan_image_layout_init
...
Putting compiler optimization aside, this at least improves readability
by making it clean which vars are mutable and which are immutable.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35299 >
2025-06-06 07:25:26 +00:00
Caleb Callaway
a633d3f71f
docs: Add CPU frequency governor perf tip
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33744 >
2025-06-06 07:20:09 +00:00
Caleb Callaway
f64dbfd08a
anv: ANV_DEBUG_WAIT_FOR_ATTACH
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35324 >
2025-06-06 07:02:07 +00:00
Erik Faye-Lund
ad6e1afe74
panvk: add EXT_texture_compression_astc_hdr support
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34828 >
2025-06-06 06:40:59 +00:00
Erik Faye-Lund
a271b9a9a3
vulkan/format: map ASTC HDR formats
...
Because the ASTC HDR formats are extension formats, we need to convert
it manually in vk_format_to_pipe_format() instead of using the table.
Otherwise, the compiler tries to create a gigantic array and ends up
dying.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34828 >
2025-06-06 06:40:59 +00:00
Dave Airlie
ade742db14
nvk/headers: sync up the latest blackwell compute class headers
...
These should unblock a few things.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35378 >
2025-06-06 12:46:51 +10:00
Guilherme Gallo
83f80dc4aa
ci/lava: Update image tag to apply the changes
...
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35222 >
2025-06-05 22:32:37 +00:00
Guilherme Gallo
9024e0df83
ci/lava: Don't fail if the section times mismatches
...
Time drift can occur during LAVA job execution due to transitions
between three different clocks.
The process begins in the GitLab job [1], using the CI_JOB_STARTED_AT
variable. If SSH is enabled, we then connect to the DUT through an
Alpine-based SSH client container inside the LAVA dispatcher [2], where
some GitLab-related steps are timestamped by lava_job_submitter.
Finally, the DUT [3] runs and uses the setup-test-env.sh helper to
handle GitLab sections, potentially using a third distinct clock.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35222 >
2025-06-05 22:32:37 +00:00
Guilherme Gallo
7322e44833
ci/lava: Style fixes in test_lava_log
...
Fix the formatting according flake8
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35222 >
2025-06-05 22:32:36 +00:00
Guilherme Gallo
19357b9a84
ci/lava: Fix type hint errors in GitlabSection
...
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35222 >
2025-06-05 22:32:36 +00:00
Wenfeng Gao
c4dd9027db
mediafoundation: enable new CODECAPI properties for frame stats
...
CODECAPI_AVEncVideoEnableFramePsnrYuv
CODECAPI_AVEncVideoEnableSpatialAdaptiveQuantization
CODECAPI_AVEncVideoOutputQPMapBlockSize
CODECAPI_AVEncVideoOutputBitsUsedMapBlockSize
Reviewed-By: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35264 >
2025-06-05 22:02:01 +00:00
Pohsiang (John) Hsu
9f22e3f98c
ci: build mediafoundation frontend in windows-msvc
...
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35264 >
2025-06-05 22:02:01 +00:00
Sil Vilerino
38d2133e3e
ci: Add Windows SDK 26100 to msvc image
...
Keep older 10.0.20348.0 SDK as well. Also change:
mesa_deps_test_piglit - Add CMAKE_POLICY_VERSION_MINIMUM=3.5 and _UCRT_NOISY_NAN
mesa_deps_test_deqp - Add CMAKE_POLICY_VERSION_MINIMUM=3.5 and CMAKE_SYSTEM_VERSION=10.0.20348.0
meson: When building with MSVC, add -D_UCRT_NOISY_NAN to workaround Win SDK 26100
D_UCRT_NOISY_NAN is for SDK 26100 issue:
https://developercommunity.visualstudio.com/t/NAN-is-no-longer-compile-time-constant-i/10688907
Reviewed-by: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35264 >
2025-06-05 22:02:01 +00:00
Wenfeng Gao
9b1c4f2e04
mediafoundation: Support new MFSampleExtension for PSNR, QPMap, and BitsUsedMap.
...
Added a helper function MFAttachPipeResourceAsSampleExtension that converts pipe_resource into D3D12 resource, attached as IMFMediaBuffer to IMFSample.
Conditionally applied MFAttachPipeResourceAsSampleExtension to:
MFSampleExtension_FramePsnrYuv
MFSampleExtension_VideoEncodeQPMap
MFSampleExtension_VideoEncodeBitsUsedMap
Reviewed-by: Yubo Xie <yuboxie@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35264 >
2025-06-05 22:02:01 +00:00
Pohsiang (John) Hsu
4df6954219
mediafoundation: Allow to build multiple codec MFT DLLs in one build pass
...
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13235
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35264 >
2025-06-05 22:02:01 +00:00
Sil Vilerino
d9f0ddf336
mediafoundation: Request PSNR frame stats
...
Reviewed-by: Yubo Xie <yuboxie@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35264 >
2025-06-05 22:02:00 +00:00
Sil Vilerino
caa74854ec
mediafoundation: Implement full/lower resolution two pass
...
Reviewed-by: Yubo Xie <yuboxie@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35264 >
2025-06-05 22:02:00 +00:00
Wenfeng Gao
d7022698ff
mediafoundation: Added new CODECAPIs for GetValue and SetValue.
...
CODECAPI_AVEncVideoEnableFramePsnrYuv
CODECAPI_AVEncVideoEnableSpatialAdaptiveQuantization
CODECAPI_AVEncVideoOutputQPMapBlockSize
CODECAPI_AVEncVideoOutputBitsUsedMapBlockSize
Reviewed-by: Yubo Xie <yuboxie@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35264 >
2025-06-05 22:01:59 +00:00
Sil Vilerino
a81ffa7747
mediafoundation: Fill RefPicListL0/L1 sizes in pipe_h265_enc_picture_desc
...
Reviewed-by: Yubo Xie <yuboxie@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35264 >
2025-06-05 22:01:59 +00:00
Sil Vilerino
5e44557686
mediafoundation: Upgrade to use DirectX-Headers 717 SDK from previous 716 version
...
Reviewed-by: Yubo Xie <yuboxie@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35264 >
2025-06-05 22:01:58 +00:00
Connor Abbott
b6c1881d29
tu: Add perf debug for FDM being disabled
...
It's important to know when FDM is being disabled to a load/store of an
MSAA attachment as this is likely not what the user intended.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35373 >
2025-06-05 21:18:07 +00:00
Alyssa Rosenzweig
3c5c3d7819
hk: fix texture state count
...
default is 256 which is not what we want! perf issue maybe.
Backport-to: 25.1
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35189 >
2025-06-05 18:57:43 +00:00
Alyssa Rosenzweig
01c59030e8
hk: clarify A8_UNORM issue
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35189 >
2025-06-05 18:57:43 +00:00
Alyssa Rosenzweig
dffee5abc8
hk: enable another format
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35189 >
2025-06-05 18:57:43 +00:00
Alyssa Rosenzweig
df6c52ff2a
hk: enable ETC, ASTC
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35189 >
2025-06-05 18:57:42 +00:00
Alyssa Rosenzweig
a52c5fbc35
asahi: fix shader-db with fbfetch
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35189 >
2025-06-05 18:57:42 +00:00
Alyssa Rosenzweig
25d24b5a59
hk: clean out unused driconf
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35189 >
2025-06-05 18:57:42 +00:00
Alyssa Rosenzweig
870bde17d0
agx: drop encoding masks
...
unused and will now never be used, since we have the XML for this instead.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35189 >
2025-06-05 18:57:42 +00:00
Alyssa Rosenzweig
65a5ff67e9
agx: add XML-based disassembler
...
autogenerate a disassembler from the XML. also add a simple pure Python
reference disassembler, since autogenerated C code can be annoying to work with
in various contexts (we might drop this down the line, TBD if it's useful to
port over the current non-Mesa consumers of dougallj/applegpu). both
disassemblers produce identical output, unit tested via Meson.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35189 >
2025-06-05 18:57:42 +00:00
Alyssa Rosenzweig
53a2ada9d7
agx: add instruction encoding cases
...
for unit testing disassembly. this is the new syntax.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35189 >
2025-06-05 18:57:41 +00:00
Alyssa Rosenzweig
2dccbf8c7f
agx: add XML description of the AGX2 ISA
...
for our disassembler and later more stuff. should cover everything mesa uses,
not 100% complete to what applegpu has but mostly there.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35189 >
2025-06-05 18:57:41 +00:00
Alyssa Rosenzweig
c16bb0365a
agx: fix sample_mask packing overflow
...
identified with new disassembler. truncated immediate masks to 63
Backport-to: 25.1
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35189 >
2025-06-05 18:57:41 +00:00
Rohan Garg
248b8cb8c5
anv: drop anv_can_hiz_clear_ds_view in favor of anv_can_hiz_clear_image
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34824 >
2025-06-05 20:27:33 +02:00
Rohan Garg
658b89ac86
anv: Support fast-clears in vkCmdClearDepthStencilImage
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Closes : #11897
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34824 >
2025-06-05 20:27:30 +02:00
Rohan Garg
db8b07f88d
anv: use the float qualifier to denote the right value
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34824 >
2025-06-05 20:26:54 +02:00
Samuel Pitoiset
babeb975c4
radv,radeonsi: fix emitting UPDATE_DB_SUMMARIZER_TIMEOUT on GFX12
...
Not all PFP firmwares for GFX12 have this packet.
Fixes: 47f5d25f93 ("radv,radeonsi: emit UPDATE_DB_SUMMARIZER_TIMEOUT on GFX12")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13312
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35370 >
2025-06-05 16:51:07 +00:00
David Rosca
c72987350b
radeonsi/vcn: Fix encoding multiple tiles with recent VCN4 firmwares
...
Cc: mesa-stable
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35369 >
2025-06-05 15:47:31 +00:00
Valentine Burley
02256a5aa3
ci/android: Close the Android tools section
...
This was missing.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35362 >
2025-06-05 15:18:23 +00:00
Valentine Burley
9a52a25a9e
ci: Allow ANGLE_TAG to be unset in -runner scripts
...
The android-runner scripts use `set -u`, which causes them to fail if
ANGLE_TAG is not defined. This issue went unnoticed because all current
Android jobs set ANGLE_TAG.
Update all -runner scripts to tolerate ANGLE_TAG being unset.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35362 >
2025-06-05 15:18:23 +00:00
Valentine Burley
c99c67c490
ci/android: Only replace ANGLE if needed
...
Only replace the stock ANGLE libraries if the job inherits .test-angle.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35362 >
2025-06-05 15:18:23 +00:00
Ashley Smith
95c508d950
panfrost: Fix shader_clock support for v6+
...
This code sets PANFROST_JD_REQ_CYCLE_COUNT when using LD_GCLK to enable
shader_clock
Fixes: c1ce2dcc ("pan/bi: Enable ARB_shader_clock extension support")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Signed-off-by: Ashley Smith <ashley.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35363 >
2025-06-05 14:57:20 +00:00
Christoph Pillmayer
6d4d42e328
panvk: Add support for 64bit conditionals in CSF
...
This will be used to implement timestamp queries for CSF GPUs.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35368 >
2025-06-05 14:20:54 +00:00
Christoph Pillmayer
8ed900c406
panvk: Fix start label position in cs_while_start
...
We want the start label to be after the initial check for the condition
not being true.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35368 >
2025-06-05 14:20:54 +00:00
Eric R. Smith
ab4301619f
panfrost: add support for AFBC modifiers on YUV formats
...
Make AFBC work for NV12 and similar YUV formats that we already
supported.
Signed-off-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35015 >
2025-06-05 13:51:34 +00:00
Eric R. Smith
f59efe88ed
pan/afbc: Teach AFBC about YUV formats
...
Extend the existing helpers to report the correct values when YUV formats
are involved.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35015 >
2025-06-05 13:51:34 +00:00
Boris Brezillon
4d9a4e8228
pan/image: Teach pan_image/layout about planar images
...
The way things are done at the moment, the pan_layout logic has no way
of knowing which plane is targeted, which either forces the user of
pan_image_layout_init() to patch the layout after the calculation based
on the YUV format.
These changes unblock unittests on YUV formats.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35015 >
2025-06-05 13:51:34 +00:00
Boris Brezillon
ceb79e399e
util/format: Handle emulated YUV formats in util_format_get_plane_{height,width}()
...
Useful to drivers doing the CSC in software, but still needing
to account for width/height adjusment based on the subsampling.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35015 >
2025-06-05 13:51:34 +00:00
Eric R. Smith
6b54547a0e
util/format: fix some missing cases in util_format_get_plane_format
...
We were missing some of the emulated YUV formats (like R8_G8B8_420_UNORM)
in util_format_get_plane_format; add those.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35015 >
2025-06-05 13:51:34 +00:00
Boris Brezillon
aceabab18f
panfrost: Add a debug flag to enforce WSI row pitch at import time
...
So far we assumed tile rows would be tightly packed, so changing the
behavior without introducing a new set of AFBC modifiers is likely
to break some cases where the exported got the stride wrong. That's
still something we would like to enforce in the long run, so let's
start by adding a "PAN_MESA_DEBUG=strict_afbc" flag to exercise the
code supposed to force this behavior.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35015 >
2025-06-05 13:51:34 +00:00
Boris Brezillon
916f75a2a6
pan/layout: Test WSI import behavior on all supported format/mods
...
Instead of picking random formats/extents, iterate over all supported
<format,modifier> for each architecture, and make sure
pan_image_layout_init() fails/suceeds when it's supposed to.
On success, we also make sure pan_image_layout_get_wsi_layout() returns
values that match the import.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35015 >
2025-06-05 13:51:34 +00:00
Boris Brezillon
f28b2c9e8d
util/format: Add missing entries for {R8_B8G8,G8_B8R8}_422_UNORM
...
The yaml lacks entries for those formats which are defined in the enum.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35015 >
2025-06-05 13:51:34 +00:00
Boris Brezillon
cff496eee9
pan/layout: Don't base the WSI row_pitch calculation on the image width
...
If we want to allow the import path to specify padding tiles, we need
to adjust pan_image_layout_get_wsi_layout() to base its WSI row pitch
calculation on the AFBC header row stride instead of the image width.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35015 >
2025-06-05 13:51:34 +00:00
Boris Brezillon
20a97c928e
pan/layout: Add an option to enforce WSI row pitch at layout init time
...
At the moment, we check that the WSI pitch is big enough to cover the
resource width, but we don't validate that it's tile aligned, and we
also don't use the user provided pitch when AFBC is requested, meaning
we don't allow row tile padding.
Add an option to force using the explicit WSI pitch, and fail if the
pitch doesn't give a tile aligned row stride.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35015 >
2025-06-05 13:51:34 +00:00
Boris Brezillon
8e18402eb1
pan/layout: Don't align WSI import offset
...
If the offset is considered valid by wsi_row_pitch_to_row_stride() we
should use it as-is, even if it's suboptimal.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35015 >
2025-06-05 13:51:34 +00:00
Boris Brezillon
f64a7c1506
pan/layout: Check the wsi_layout consistency in wsi_row_pitch_to_row_stride()
...
We do a bunch of WSI -> GPU translation in there, so it makes sense to
also check that the offset and row stride are properly aligned, and
that the pixel width that results from this transformation is greater or
equal to the image width.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35015 >
2025-06-05 13:51:34 +00:00
Boris Brezillon
a24fddefba
pan/layout: Drop the AFBC(compressed) tests in AFBCFormatInvariant
...
We're not supposed to do AFBC(compressed), so there's no point testing
that in our AFBCFormatInvariant tests.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35015 >
2025-06-05 13:51:34 +00:00
Boris Brezillon
b65b621062
pan/afrc: Reject AFRC(compressed)
...
This is not a valid combination.
Fixes: 2dae926850 ("panfrost: add utils for AFRC fixed-rate support")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35015 >
2025-06-05 13:51:34 +00:00
Boris Brezillon
bba62e047e
pan/afrc: Let's not pretend we support AFRC(YUV)
...
Not only the is_yuv() check in pan_afrc_get_format_info() didn't work,
because we use the multiplanar-RGB variants in panfrost, but we also
need the plane index to pick the right format.
Let's just assume AFRC(YUV) is not supported until someone decides to
add the necessary bits.
Fixes: 2dae926850 ("panfrost: add utils for AFRC fixed-rate support")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35015 >
2025-06-05 13:51:34 +00:00
Boris Brezillon
fc92caf216
pan/afrc: Fix pan_format_supports_afrc()
...
pan_format_supports_afrc() returns true for formats that are then
rejected by pan_afrc_get_format_info(). Let's reconcile the two
helpers by using pan_afrc_get_format_info() to check for AFRC support.
Fixes: 894657a5ed ("panfrost: add support for AFRC modifiers")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35015 >
2025-06-05 13:51:34 +00:00
Boris Brezillon
5292fef80d
pan/afbc: Add helpers to query AFBC header alignment requirements
...
Will be used in pan_layout.c to validate the WSI info.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35015 >
2025-06-05 13:51:34 +00:00
Boris Brezillon
ce197c8018
pan/format: Draw a clear line between native and emulated modifiers
...
Mali GPUs don't support DRM_FORMAT_MOD_MTK_16L_32S_TILE natively, so
it doesn't make sense to teach the common layer about this format,
especially since it would require adding more hacks to make sense of
the tiled -> linear view of such resources.
Given the only user of this format is the gallium driver, move the
MTK_TILED definitions there and start differentiating native and
emulated modifiers.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Tested-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35015 >
2025-06-05 13:51:34 +00:00
Karol Herbst
cf3ec8d3b9
rusticl: enable proper fp16 support
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34053 >
2025-06-05 13:17:27 +00:00
Karol Herbst
33fb1eca3e
nir/scale_fdiv: handle fp16 fdiv
...
Not strictly scaling, but we upcast fo fp32, do the fdiv there and cast
back again.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34053 >
2025-06-05 13:17:27 +00:00
Karol Herbst
aa5a981b83
vtn/opencl: support fp16 builtins
...
If we can't find an appropiate builtin in the libclc library, we add our
own wrapper at runtime executing the op in fp32 space.
Libclc has variying support for fp16 opcodes and with a libclc prior
llvm-19 it does not work as good as with the newer one.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34053 >
2025-06-05 13:17:27 +00:00
Karol Herbst
ca01635075
clc: support fp16 spec constants
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34053 >
2025-06-05 13:17:27 +00:00
Karol Herbst
f8305828f4
util/u_printf: support printing fp16 values
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34053 >
2025-06-05 13:17:27 +00:00
Karol Herbst
162b604043
freedreno/ci: add CL fp16 skips
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34053 >
2025-06-05 13:17:27 +00:00
Sil Vilerino
24eb46b720
d3d12: Add video encode PSNR output stats
...
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35263 >
2025-06-05 12:15:48 +00:00
Sil Vilerino
1b801a95ae
pipe: Add video encode PSNR output stats
...
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35263 >
2025-06-05 12:15:48 +00:00
Sil Vilerino
228a0a46a5
d3d12: Implement full/lower two pass video encode
...
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35263 >
2025-06-05 12:15:48 +00:00
Sil Vilerino
daa16cf0d4
pipe: Two pass video encode definitions
...
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35263 >
2025-06-05 12:15:48 +00:00
Sil Vilerino
0e63becefb
d3d12: Use helper to properly initialize d3d12_fences in d3d12 video
...
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35263 >
2025-06-05 12:15:48 +00:00
Sil Vilerino
7fb98a1e6f
d3d12: Use RefPicListL0/L1 sizes in pipe_h265_enc_picture_desc when supported
...
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35263 >
2025-06-05 12:15:48 +00:00
Sil Vilerino
8f6077ad57
d3d12: Fix sliced encode ID3D12Resource/ID3D12Fence reuse. Note the fence value now is the frame fence value as the fence is reused
...
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35263 >
2025-06-05 12:15:48 +00:00
Sil Vilerino
a562c0787f
d3d12: Add D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_DISABLE_LOOP_FILTER_ACROSS_SLICES when querying HEVC capabilities
...
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35263 >
2025-06-05 12:15:48 +00:00
Sil Vilerino
f28417a7bb
d3d12: Upgrade to use DirectX-Headers 717 SDK from previous 716 version
...
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35263 >
2025-06-05 12:15:48 +00:00
Valentine Burley
775cd85ed3
ci/android: Add a version and renderer check for android-angle-lavapipe
...
Add one GLES 2 test to run in the deqp-runner suite of the
android-angle-lavapipe job to verify the version and renderer used.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35337 >
2025-06-05 11:43:18 +00:00
Christoph Pillmayer
0440d1dd03
panvk: Advertise VK_EXT_inline_uniform_block
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35178 >
2025-06-05 11:18:29 +00:00
Christoph Pillmayer
2ec6527c70
panvk: Implement VK_EXT_inline_uniform_block
...
Inline uniforms blocks are implemented as a buffer descriptor followed by
the actual inlined data.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35178 >
2025-06-05 11:18:29 +00:00
Martin Krastev
ca8719bebf
svga/ci: vmware farm is out; temporary relegate piglit job to manual
...
Signed-off-by: Martin Krastev <martin.krastev@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35364 >
2025-06-05 10:57:20 +00:00
Icenowy Zheng
dca392b119
Revert "zink: reject Imagination proprietary driver w/o geometryShader"
...
This reverts commit ca087e2027 .
It's discovered that the newest Rogue proprietary Vulkan driver does not
prevent us from running Zink (aside from an assert of geometryShader,
which is already changed to an if clause), and which fails previously is
because of some bugs in old driver blobs.
As the faulty blob versions are rejected now, revert this commit to
accept Rogue drivers.
Signed-off-by: Icenowy Zheng <uwu@icenowy.me >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34183 >
2025-06-05 10:37:56 +00:00
Icenowy Zheng
b6d7736792
zink: reject IMG blob < 24.1@6554834 unless enforced
...
Imagination closed blobs earlier than 24.1@6554834 has some issues about
NULL pCommandBuffers in VkSubmitInfo, which is present in VkSubmitInfo's
submitted by Zink.
Reject these drivers to prevent crashes, unless zink is enforced and the
user knows what they're doing.
Signed-off-by: Icenowy Zheng <uwu@icenowy.me >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34183 >
2025-06-05 10:37:56 +00:00
Icenowy Zheng
45d9d55cc1
zink: don't assert geometryShader for IMG proprietary driver
...
The proprietary driver for Imagination Rogue-architecture GPUs does not
come with geometryShader support.
Change the assert for it to another if condition.
Signed-off-by: Icenowy Zheng <uwu@icenowy.me >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34183 >
2025-06-05 10:37:56 +00:00
Rhys Perry
00a2ed60f8
radv/meta: use unsigned min in copy/fill shaders
...
Otherwise, this would break >2 GiB copy/fill.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Backport: 25.1
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35343 >
2025-06-05 09:55:32 +00:00
Lionel Landwerlin
426ddb4fc9
anv: fix pool allocation failure reporting
...
When resetting the pool, also reset the allocated size so that failure
to allocation correctly reports VK_ERROR_OUT_OF_POOL_MEMORY instead of
VK_ERROR_FRAGMENTED_POOL.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12690
Tested-by: David Gow <david@ingeniumdigital.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35360 >
2025-06-05 09:39:07 +00:00
Calder Young
57c5419bbd
anv: Support render to aspect other than IMAGE_ASPECT_COLOR_BIT
...
On ANV the vkCmdBeginRendering function was hard coded to use
VK_IMAGE_ASPECT_COLOR_BIT for all color attachments, instead of using
the aspect bit specified when the vkImageView was initialized, which
made it impossible for applications to render to views of multi-planar
formats like VK_FORMAT_G8_B8R8_2PLANE_420_UNORM correctly.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13221
Cc: mesa-stable
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35340 >
2025-06-05 09:22:16 +00:00
Georg Lehmann
297fdc6636
radv: don't accidentally expose samplerFilterMinmax through Vulkan 1.2
...
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35339 >
2025-06-05 09:01:19 +00:00
Maíra Canal
cd7dc398d8
broadcom/ci: update expected results with kernel 6.12
...
Some tests no longer OOM after updating the devices to the 6.12 kernel.
Therefore, remove those tests from the skip list.
Also, reduce the timeout of some full-run jobs, as the VK full-run
usually takes no longer than 25 minutes in the RPi 4 and no longer than
30 minutes in the RPi 5.
Signed-off-by: Maíra Canal <mcanal@igalia.com >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35300 >
2025-06-05 11:21:46 +02:00
Mike Blumenkrantz
1ad37360de
zink: update renderdoc layer string for android
...
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35350 >
2025-06-04 19:08:48 +00:00
Eric Engestrom
6eaac7c171
docs: add sha sum for 25.1.2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35348 >
2025-06-04 19:01:14 +00:00
Eric Engestrom
aabbd9f0b2
docs: add release notes for 25.1.2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35348 >
2025-06-04 19:01:14 +00:00
Eric Engestrom
5df6b445ba
docs: update calendar for 25.1.2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35348 >
2025-06-04 19:01:13 +00:00
Mike Blumenkrantz
208450fc57
nir/lower_to_scalar: fix opt_varying with output reads
...
no_varying cannot be used to eliminate stores on locations which may
be subsequently read
Fixes: 0058989357 ("nir/lower_io_to_scalar: don't create output stores that have no effect")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35325 >
2025-06-04 18:21:16 +00:00
Marek Olšák
c3034fa82c
amd: replace most u_bit_consecutive* with BITFIELD_MASK/RANGE
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35346 >
2025-06-04 17:46:38 +00:00
Gurchetan Singh
feff86220c
gfxstream: fix suballocation logic using u_mm
...
- mSize should be used rather than kHostVisibleHeapSize.
Since kHostVisibleHeapSize is bigger, OOB errors occured.
- Freeing memory did not work. Look up via the offset
rather pointer. Complain loudly if offset isn't found.
- Align to 4096 bytes (page size), like the old AEMU suballocator
flow.
TEST=set deferredMapping = 0 and test via Cuttlefish
Reviewed-by: Marcin Radomski <dextero@google.com >
Reviewed-by: Aaron Ruby <aruby@qnx.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:24 +00:00
Serdar Kocdemir
73d94d70f1
gfxstream: Fix min max reduction samplers v2
...
Test: dEQP-VK.pipeline.monolithic.sampler.view_type.*
Reviewed-by: Marcin Radomski <dextero@google.com >
Reviewed-by: Aaron Ruby <aruby@qnx.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:24 +00:00
Serdar Kocdemir
bc79017f87
gfxstream: Allow all promoted device extensions
...
.. for api level 1.1, 1.2 and 1.3.
Also allow VK_KHR_external_memory_fd for non-Android Linux, as the
related functionalities are only implemented for that case.
Bug: 389637419
Test: dEQP smoke tests && CI
Reviewed-by: Marcin Radomski <dextero@google.com >
Reviewed-by: Aaron Ruby <aruby@qnx.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:23 +00:00
sergiuferentz
de3361d050
gfxstream: intercept vkCmdClearColor(...) and do linear->SRGB conversion
...
Reviewed-by: Marcin Radomski <dextero@google.com >
Reviewed-by: Aaron Ruby <aruby@qnx.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:23 +00:00
Serdar Kocdemir
fd40649768
gfxstream: Fix compiler warnings
...
.. for some unused function arguments.
Reviewed-by: Marcin Radomski <dextero@google.com >
Reviewed-by: Aaron Ruby <aruby@qnx.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:22 +00:00
Serdar Kocdemir
3ade950b6f
gfxstream: Fix codegen for the moved logging.h file
...
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:22 +00:00
Serdar Kocdemir
68e42404b7
gfxstream: Implement private data extension
...
The logic is implemented on the guest side as we need special handling
for swapchain and device memory handle types.
Memory handles for coherent memory allocations on the guest can map into
a single handle on the host side, which makes it infeasible to pass
through the extension functions with handle remapping. Swapchain handles
are not passed to the host driver, so we need to keep a separate table
for them as well. Instead of separating the logic based on the handle
type, we manage all the private data set/get calls on the guest side
without encoding the commands to the host.
Test: dEQP-VK.api.object_management.private_data.*
Test: dEQP-VK.wsi.android.swapchain.private_data.*
Reviewed-by: Marcin Radomski <dextero@google.com >
Reviewed-by: Aaron Ruby <aruby@qnx.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:22 +00:00
Bo Hu
b6c5a548ad
gfxstream: [vulkan snapshot]: update codegen for vkUpdateDescriptorSetWithTemplateSized
...
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:22 +00:00
Bo Hu
b951324606
gfxstream: [vulkan snapshot]: update codegen to handle failed api calls
...
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:22 +00:00
Serdar Kocdemir
4253e5789a
gfxstream: Adjust allowed device extensions
...
To include VK_KHR_dynamic_rendering for shader_object
tests on dEQP. Also enable timeline_semaphore extension
on Android since some of the known issues are already
fixed and the extension is promoted to 1.2 core.
Reviewed-by: Marcin Radomski <dextero@google.com >
Reviewed-by: Aaron Ruby <aruby@qnx.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:22 +00:00
sergiuferentz
f839e321b8
gfxstream: Remove MEMORY_HANDLE_OPAQUE_FD support from Guest to fix suballocation dEQP tests
...
Reviewed-by: Marcin Radomski <dextero@google.com >
Reviewed-by: Aaron Ruby <aruby@qnx.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:21 +00:00
Bo Hu
786bd1c6f2
gfxstream: [vulkan snapshot]: update to support vkCmdCopyBuffer
...
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:21 +00:00
Jason Macnak
eea41d1f86
gfxstream: Update codegen license
...
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:20 +00:00
Serdar Kocdemir
33ba95cb0c
gfxstream: Track vkGetDeviceImageMemoryRequirements on host
...
vkGetDeviceImageMemoryRequirements can be used to get memory
requirements without creating an actual image and we should apply the
same image modifications based on the create info when returning the
memory requirements.
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:20 +00:00
Bo Hu
4340dfb400
gfxstream: [vulkan snapshot]: update codegen for vkCmdBindPipeline
...
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:20 +00:00
Jason Macnak
e7826d89a7
gfxstream: Update GfxApiLogger namespace and header file
...
... to parallel the changes in ag/33517750.
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:20 +00:00
Serdar Kocdemir
dae39cd278
gfxstream: Reduce log level on AHB allocation
...
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:19 +00:00
Bo Hu
464c2e35b8
gfxstream:: update code gen for vkResetCommandPool
...
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:19 +00:00
Jason Macnak
afab126947
gfxstream: Update gfxstreaml vk xml location
...
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:19 +00:00
Serdar Kocdemir
ad5f1ed77e
gfxstream: Mark VK_KHR_ray_tracing_pipeline dispatch only
...
VkStridedDeviceAddressRegionKHR structure cannot be correctly
serialized. Update codegen to not use marshalling.
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:19 +00:00
Jason Macnak
3331752323
gfxstream: Remove old include
...
... no longer needed after the aemu -> gfxstream changes.
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:18 +00:00
Jason Macnak
c0c10744fd
gfxstream: Update codegen for aemu -> gfxstream stream interface
...
Bug: b/403363880
Test: cd hardware/google/gfxstream
mma
Test: cd hardware/google/gfxstream
mkdir build && cd build
cmake .. -G Ninja
ninja
Test: meson setup \
-Ddefault_library=static \
-Dgfxstream-build=host \
build
meson compile -C build
Test: cd <emu master dev repo>
cd external/qemu
python android/build/python/cmake.py --gfxstream
Test: cd <emu main next repo>
prebuilts/bazel/linux-x86_64/bazel test \
--platforms=@//build/bazel/platforms:linux_x64 \
@gfxstream//...
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:18 +00:00
Bo Hu
3df2a0c061
gfxstream: update sudbdecode snapshot code
...
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:17 +00:00
Jason Macnak
524d9b0647
gfxstream: Update codegen after many aemu -> gfxstream changes
...
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:17 +00:00
Jason Macnak
711606dff4
gfxstream: Update codegen to use gfxstream_common_base
...
... after ag/32953937.
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:17 +00:00
Serdar Kocdemir
5a5810d2f0
gfxstream: Use logging functions for call tracing
...
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:16 +00:00
Joshua Duong
9bc395fca4
gfxstream: VkDecoder: break from seqno logic when puid dies.
...
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:16 +00:00
Jason Macnak
30fd362ca7
gfxstream: Update iostream header
...
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:15 +00:00
Serdar Kocdemir
9ba070a398
gfxstream: Track sparse image related functions
...
Sparse resources are not commonly available on Android devices
and overriding the functions enables the host to disable the
feature support when needed.
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:15 +00:00
Jason Macnak
1d4b4fe8b7
gfxstream: Update to new logging
...
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35323 >
2025-06-04 17:24:14 +00:00
Martin Krastev
f1f684ffa7
svga/ci: return svga piglit job to automatic rules pool
...
Make svga piglit job extend from vmware automatic (non-manual) rules pool
again. There was an issue with local nginx caching of FDO artifacts, which
led to jobs sporadically timing out on their http-download sections; the
issue has been resolved now.
Signed-off-by: Martin Krastev <martin.krastev@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35341 >
2025-06-04 17:04:34 +00:00
Lionel Landwerlin
978933c015
nir/opt_algebraic: extend lowering for (i|u)bitfield_extract
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35334 >
2025-06-04 16:28:39 +00:00
Antonio Ospite
9f65081e02
ci/android: use curl -O to avoid having to specify the same filename again
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35126 >
2025-06-04 15:43:42 +00:00
Antonio Ospite
dc1502af2e
ci/android: use newer cuttlefish images
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35126 >
2025-06-04 15:43:42 +00:00
Antonio Ospite
088a4b0e23
ci/android: configure both hard limits and soft limits
...
The soft limits cannot go above the hard limits values, so the hard
limits should be configured too, just in case default limits values set
by the kernel or the init process are too small.
E.g. when booting with `init=/bin/sh` we have:
$ cat /proc/1/limits
Limit Soft Limit Hard Limit Units
...
Max open files 1024 4096 files
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35126 >
2025-06-04 15:43:42 +00:00
Antonio Ospite
859e903004
ci/android: skip org.skia.skqp.SkQPRunner#UnitTest_SurfaceResolveTest
...
Skip `org.skia.skqp.SkQPRunner#UnitTest_SurfaceResolveTest` when running
the `android-angle-android-cts` job, as it fails sporadically.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35126 >
2025-06-04 15:43:42 +00:00
Antonio Ospite
0a8fec6c6d
ci/android: skip org.skia.skqp.SkQPRunner#UnitTest_BulkTextureRectTest
...
Skip `org.skia.skqp.SkQPRunner#UnitTest_BulkTextureRectTest` when running
the `android-angle-android-cts` job, as it sometimes fails with memory
related issues.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35126 >
2025-06-04 15:43:42 +00:00
Guilherme Gallo
cf6f97a224
ci/android: reduce launch_cvd memory limit to 4GB by default
...
We only have 8GB on the Brya Chromebook used for venus testing, and the
job is unstable because using all the available RAM causes OOM kills.
So reduce launch_cvd memory limit to 4GB by default, still allowing to
change the default by setting the CUTTLEFISH_MEMORY variable in jobs
that might want a different value.
This change has been inspired by CROSVM_MEMORY, but a new variable is
used because technically cuttlefish can also use qemu in some setups,
not only crosvm.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35126 >
2025-06-04 15:43:41 +00:00
Guilherme Gallo
769a4aa34e
ci/android: disable errexit in trap function
...
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35126 >
2025-06-04 15:43:41 +00:00
Guilherme Gallo
16754dbd13
ci/android: Add gitlab section for logs uploads
...
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35126 >
2025-06-04 15:43:40 +00:00
Guilherme Gallo
bfca9fbbb3
ci/lava: SSH tweaks
...
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35126 >
2025-06-04 15:43:40 +00:00
Antonio Ospite
b16ed16d75
ci: set up XDG_RUNTIME_DIR to be under /tmp which is tmpfs
...
Set up XDG_RUNTIME_DIR path to be under /tmp.
This might improve speed as /tmp is under tmpfs while the older path
might have been under NFS.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35126 >
2025-06-04 15:43:40 +00:00
Ashley Smith
c5500cd12f
mesa: Add support for GL_EXT_shader_realtime_clock
...
This is similar to ARB_shader_clock
Signed-off-by: Ashley Smith <ashley.smith@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34345 >
2025-06-04 14:49:00 +00:00
Antonio Ospite
47619ef538
ci/android: silence mesa error about //.cache
...
Pass XDG_CACHE_HOME=/data/local/tmp to binaries that load mesa
libraries to avoid the following message on the stderr:
Failed to create //.cache for shader cache (Read-only file system)---disabling.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35335 >
2025-06-04 13:25:21 +00:00
Antonio Ospite
bdcdfe8b33
ci/android: show also the device name when printing GLES and VK info
...
This can give an indication in the logs about what driver is being
picked up.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35335 >
2025-06-04 13:25:21 +00:00
Antonio Ospite
76a73ba263
ci/android: get only the first device from eglinfo and vulkaninfo
...
It is possible that `eglinfo` and `vulkaninfo` provide info on multiple
devices.
Consider only the first device, which is going to be the default one
used by other components, when checking the versions.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35335 >
2025-06-04 13:25:20 +00:00
Antonio Ospite
e12aa9a49e
ci/android: fix printing the original GLES and Vulkan versions
...
New mechanisms to retrieve the GLES and Vulkan driver versions have been
introduced in
- 3029fdde65 (ci/android: Switch to using eglinfo to check GLES implementation, 2025-05-28)
- 3ba9038648 (ci/android: Check Vulkan driver using vulkaninfo, 2025-05-28)
These mechanisms are more robust than the previous one but they do
change the behavior in that the version is not retrieved by an already
running process (e.g. SurfaceFlinger), but by creating new processes
that load the libraries available on the filesystem.
Because of this change of behavior the original version should be
printed **before** pushing the new libraries to the Android guest, so
that developers are able to compare the old and new versions in the logs.
Moreover, the runtime checks do not answer the original question anymore:
"what GLES/VK libraries is surfaceflinger currently using?"
but rather new question:
"what GLES/VK libraries are services going to use when they load?"
So the shell start/stop can very well performed after the version check,
accompanied by a new check on the PID of SurfaceFlinger to be sure that
it has reloaded consequently picking up the new libraries.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35335 >
2025-06-04 13:25:20 +00:00
Erik Faye-Lund
57b04e8dfd
mesa/main: fix enum errors
...
This enum shouldn't be allowed in GLES before version 3.1
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35097 >
2025-06-04 12:44:18 +00:00
Erik Faye-Lund
bba7f7d586
mesa/main: fix error-handling for gles1/2
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35097 >
2025-06-04 12:44:17 +00:00
Erik Faye-Lund
89d5447ea6
mesa/main: fix multisample enum checks
...
These needs proper extension checks on GLES.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35097 >
2025-06-04 12:44:17 +00:00
Erik Faye-Lund
5a5ce75a63
mesa/main: correct error-checks for GL_TEXTURE_2D_MULTISAMPLE_ARRAY
...
This enum is only valid on GLES when OES_texture_storage_multisample_2d_array
is supported.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35097 >
2025-06-04 12:44:17 +00:00
Erik Faye-Lund
8d97f5d77e
mesa/main: add _mesa_has_texture_multisample-helper
...
This reduces the number of places we need to keep track of what
extensions enables this functionality.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35097 >
2025-06-04 12:44:16 +00:00
Erik Faye-Lund
214fd4e40d
mesa/main: fix texture view enum checks
...
These were a bit of a mixed bag; we had some open-coded cases, and a few
overly permissive code-paths. Anyway, let's stricten this up a bit.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35097 >
2025-06-04 12:44:16 +00:00
Erik Faye-Lund
f87f6d9cd4
mesa/main: do not allow desktop enums on gles
...
These enums aren't allowed on GLES, but we would happily allow them.
Let's fix that.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35097 >
2025-06-04 12:44:14 +00:00
Erik Faye-Lund
fcf26c951b
mesa/main: clean up invalid pname-check
...
The logic is a bit easier to follow if we list the cases where this is
supported, rather than the cases where it isn't.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35097 >
2025-06-04 12:44:13 +00:00
Erik Faye-Lund
937e1d55b3
mesa/main: fix ARB_texture_float quirk
...
While ARB_texture_float is indeed supposed to disable clamping, it
should only do so on the APIs where the extension is supported.
Otherwise, we end up disabling clamping also when using GLES 1.x,
which isn't quite what we want.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35097 >
2025-06-04 12:44:13 +00:00
Erik Faye-Lund
25830434c2
mesa/main: do not allow non-gles1 enums in gles1
...
These enums are not allowed in GLES1, but would be incorrectly accepted
if running on hardware capable of the functionality even in GLES1. So
let's use the helper that also considers the API, which should fix the
problem.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35097 >
2025-06-04 12:44:13 +00:00
Erik Faye-Lund
879ef152db
mesa/main: use _mesa_has_Foo-helpers
...
These helpers already keep track of what API each extension is available
in. This makes the code easier to read and maintain. Let's use them.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35097 >
2025-06-04 12:44:12 +00:00
Erik Faye-Lund
1e4f12d7ac
mesa/main: use _mesa_is_desktop_gl_compat-helper
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35097 >
2025-06-04 12:44:11 +00:00
Erik Faye-Lund
87dda2988b
mesa/main: fixup bad indent
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35097 >
2025-06-04 12:44:11 +00:00
Iago Toral Quiroga
c059c721fb
broadcom/compiler: handle moving last ubo load in the block correctly
...
Before we move a UBO load to a previous location in the block we take a
reference to the instruction after it so we can continue the loop from
there, however, if the load we just moved was already the last instruction
in the block we just want to break the loop right there.
Fixes crashes with shaders from http://flightradar24.com
Fixes: 8998666de7 ("broadcom/compiler: sort constant UBO loads by index and offset")
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35333 >
2025-06-04 11:50:30 +00:00
David Rosca
e579b982b0
radv/video: Set all pic params for H264 encode refs
...
Fixes encoding B-frames with I-frame as L1 reference.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35283 >
2025-06-04 11:33:02 +00:00
David Rosca
92e99e6169
radv/video: Add radv_enc_h264/5_pic_type
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35283 >
2025-06-04 11:33:02 +00:00
Jose Maria Casanova Crespo
e7de2bd086
v3d: Remove struct v3d_surface and create/destroy surface functions
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35288 >
2025-06-04 11:18:32 +00:00
Jose Maria Casanova Crespo
5e4b66e226
v3d: Stop calling deprecated util_framebuffer_init
...
We remove all v3d usages of create_surface hooks.
See https://gitlab.freedesktop.org/mesa/mesa/-/issues/13262
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35288 >
2025-06-04 11:18:32 +00:00
Jose Maria Casanova Crespo
680b6d0e9b
v3d: Remove separate_stencil from v3d_surface
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35288 >
2025-06-04 11:18:32 +00:00
Jose Maria Casanova Crespo
46ef49ab55
v3d: Remove internal_type and internal_bpp from v3d_surface
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35288 >
2025-06-04 11:18:32 +00:00
Jose Maria Casanova Crespo
735cf1cb78
v3d: Remove padded_height_of_output_image_in_uif_blocks from v3d_surface
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35288 >
2025-06-04 11:18:31 +00:00
Jose Maria Casanova Crespo
1fe0327255
v3d: Remove tiling from v3d_surface
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35288 >
2025-06-04 11:18:31 +00:00
Jose Maria Casanova Crespo
b3228e0648
v3d: Remove never used offset from v3d_surface
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35288 >
2025-06-04 11:18:30 +00:00
Jose Maria Casanova Crespo
c13135f7c3
v3d: Remove rt_format from v3d_surface
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35288 >
2025-06-04 11:18:30 +00:00
Jose Maria Casanova Crespo
46b96e0079
v3d: Remove swap_rb logic from v3d_surface
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35288 >
2025-06-04 11:18:29 +00:00
Georg Lehmann
1c4070f3e9
nir/opt_if: limit rewrite_uniform_uses iand recursion
...
https://github.com/doitsujin/dxvk/issues/4970 has a shader
where unrolled loops caused large iand chains and if we don't
limit this we won't finish compiling in reasonable time.
Cc: mesa-stable
Acked-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/35312 >
2025-06-04 10:49:05 +00:00
Georg Lehmann
eaeaf9554d
nir/opt_if: don't replace constant uses with other uniform values
...
If constant folding wasn't run, this could replace constant uses with different
constants.
Additional, it could also create worse code for "if (subgroupXor(1) == 1)".
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13281
Cc: mesa-stable
Acked-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/35312 >
2025-06-04 10:49:05 +00:00
Jose Maria Casanova Crespo
27279b2cbe
vc4: Remove struct vc4_surface and create/destroy surface functions
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35278 >
2025-06-04 10:31:50 +00:00
Jose Maria Casanova Crespo
ba950f9556
vc4: Stop calling deprecated util_framebuffer_init
...
We remove all vc4 usages of create_surface hooks.
See https://gitlab.freedesktop.org/mesa/mesa/-/issues/13262
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35278 >
2025-06-04 10:31:50 +00:00
Jose Maria Casanova Crespo
40f3dac716
vc4: Remove tiling from vc4_surface
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35278 >
2025-06-04 10:31:50 +00:00
Jose Maria Casanova Crespo
51bc2e607f
vc4: Remove offset from vc4_surface
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35278 >
2025-06-04 10:31:49 +00:00
Lionel Landwerlin
79498a0849
brw: fix brw_nir_fs_needs_null_rt helper
...
In 9b42215e0d ("iris: ensure null render target for specific cases") I
wrongly assumed that writing gl_SampleMask would only happen in
multisampled cases.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 9b42215e0d ("iris: ensure null render target for specific cases")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13292
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35313 >
2025-06-04 10:10:38 +00:00
Samuel Pitoiset
226b0e28db
nir: generalize bitfield insert/extract sizes
...
Original patch from Alyssa Rosenzweig
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35209 >
2025-06-04 09:37:53 +00:00
Samuel Pitoiset
2474118a06
spirv: disable mediump for bitfield insert/extract
...
This prevents a regression with the next change that generalizes
bitfield insert/extract sizes.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35209 >
2025-06-04 09:37:53 +00:00
Samuel Pitoiset
098c15bfc9
radv: use paired shader registers for graphics on GFX12
...
Loosely based on RadeonSI.
This is supposed to be faster because parsing the packet header seems
to be the main bottleneck on GFX12.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35282 >
2025-06-04 09:17:51 +00:00
Samuel Pitoiset
c8b3c92a3e
radv: add macros for paired shader registers on GFX12
...
Imported from RadeonSI.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35282 >
2025-06-04 09:17:51 +00:00
Samuel Pitoiset
c8f9e0fb05
radv: add a new dirty state for emitting tess user SGPRs
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35282 >
2025-06-04 09:17:51 +00:00
Georg Lehmann
c27cdaac70
radv: expose scalarBlockLayout on GFX6
...
Scalar block layout doesn't allow anything that our memory load/store vectorizer
couldn't create on its own. So I assume whatever reason there was to only
expose this feature on GFX7+ was incorrect or ended up being fixed.
Passes vkcts in CI on tahiti.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35279 >
2025-06-04 08:49:57 +00:00
Samuel Pitoiset
c26c9c6296
radv: set radv_zero_vram=true for GPUScore: Breaking limit
...
To workaroung application bugs that can cause GPU hangs.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11495
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35308 >
2025-06-04 09:25:18 +02:00
Karol Herbst
fa94b1b29c
rusticl: check the returned pointer of mmap
...
Prior Linux 4.17 MAP_FIXED_NOREPLACE might not be respected and might
return a pointer different than the requested one.
Fixes: da4de8d7e3 ("rusticl: add support for coarse-grain buffer SVM")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35286 >
2025-06-04 06:28:39 +00:00
Karol Herbst
9b28067b59
rusticl: move unmap out of debug_assert_eq statement
...
Fixes: da4de8d7e3 ("rusticl: add support for coarse-grain buffer SVM")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35286 >
2025-06-04 06:28:39 +00:00
Karol Herbst
931ec3e954
rusticl: fix compilation on non Linux systems
...
Thanks to @jbeich to validate this on FreeBSD!
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13278
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35286 >
2025-06-04 06:28:39 +00:00
Lionel Landwerlin
a51d061c00
brw: don't generate invalid instructions
...
0e3e5146cf ("intel/brw: Use correct instruction for value change check
when coalescing") enabled some new cases that exposed a pre-existing
bug that would turn something like this :
mul.sat(16) %789:F, %787:F, %788:F
mov.g.f0.0(16) %790:F, %789:F
(+f0.0) sel(16) %800:UD, %790:UD, 0u
into this :
mul.sat(16) %790:F, %787:F, %788:F
mov.g.f0.0(16) null:F, null<8,8,1>:F
(+f0.0) sel(16) %800:UD, %790:UD, 0u
The mov[] array can contain the same instruction because it's repeated
for each REG_SIZE writes and a SIMD16 instruction will write 2
REG_SIZE.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 0e3e5146cf ("intel/brw: Use correct instruction for value change check when coalescing")
Cc: mesa-stable
Reviewed-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35276 >
2025-06-04 06:08:26 +00:00
Caio Oliveira
2bb9b94c4c
brw/disasm: Don't print src1 information for SEND gather
...
There's always only the ARF scalar register source, so don't
bother printing other information that won't be used. Matches
the assembler code.
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35297 >
2025-06-03 22:52:39 +00:00
Mauro Rossi
7e523b4400
Revert "android: Link with libc++fs up to SDK 35"
...
This reverts commit 84cae30f0a .
Conflicts:
android/Android.mk
Backport-to: 25.1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35208 >
2025-06-03 22:01:01 +00:00
Mauro Rossi
9fd6bae3c4
llvmpipe: Use mkdir instead of std::filesystem::create_directory on Android
...
libc++fs symbols are not available to vendor modules up to Android 15
this patch allows to build llvmpipe as module for Android 14 and older
Backport-to: 25.1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35208 >
2025-06-03 22:01:01 +00:00
Mauro Rossi
4aafb5fcc3
llvmpipe: Define LP_NIR_SHADER_DUMP_DIR differently on Android
...
Reference Android temporary path /data/local/tmp is used for Android builds
Backport-to: 25.1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35208 >
2025-06-03 22:01:01 +00:00
Caio Oliveira
542836afe5
intel: Don't require dpas_intel src2 to match destination
...
With upcoming configurations, the number of elements in the src2
slice might not match the destination.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35301 >
2025-06-03 21:31:23 +00:00
Eric Engestrom
b83f406c91
ci: inline the only anchor reference that was on its own line
...
The way yaml works, this makes no difference in practice, it's just to be more consistent.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35285 >
2025-06-03 20:58:51 +00:00
Eric Engestrom
50dbb6c31a
ci: improve explanation of the pre-merge/merge-request pipelines
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35285 >
2025-06-03 20:58:51 +00:00
Eric Engestrom
f2f8a1cb3e
ci: improve name of merge-request pipelines
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35285 >
2025-06-03 20:58:50 +00:00
Eric Engestrom
730c938a46
ci: improve name of fork pipelines
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35285 >
2025-06-03 20:58:50 +00:00
Eric Engestrom
f29524c1de
ci: improve names of push-to-upstream-{default,staging}-branch pipelines
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35285 >
2025-06-03 20:58:50 +00:00
Marek Olšák
942b565f34
mesa: strengthen the condition that triggers generating VS with edge flags
...
Check the cull face state to see if polygon mode has any effect.
It could happen that polygon mode is GL_LINE, but that face is always
culled, in which case polygon mode has no effect, thus edge flags
have no effect either.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35314 >
2025-06-03 19:49:21 +00:00
Mike Blumenkrantz
d8a6ec5985
lavapipe: undo fb remapping before poisoning memory at end of renderpass
...
in a scenario like:
* begin_rendering(cbuf1:store=DONTCARE, cbuf2)
* draw
* remap(cbuf2, NULL)
* draw
* end_rendering
cbuf1 will be poisoned at the end of the renderpass, but the corresponding
clear call to trigger the poisoning will not be able to detect that this
texture is being written by an async fs, causing a write hazard
unremapping the fb here ensures that all attachments are fb-referenced
as expected in order to guarantee threads sync before memory is poisoned
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35319 >
2025-06-03 18:57:23 +00:00
Connor Abbott
723a1fabac
tu: Use safe-const GS variant for VPC binning state
...
When binning with a GS, both VS and GS are active. This means that we
could have to use the safe-const variant for the GS. However we only
emitted VPC state for the binning case with the "normal" GS variant.
Emit the VPC state with the safe-const variant too, and select between
the state variants at link time.
This fixes a few tests like
dEQP-VK.spirv_assembly.instruction.graphics.8bit_storage.32struct_to_8struct.uniform_uint_geom
with TU_DEBUG=gmem,forcebin.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35294 >
2025-06-03 18:34:05 +00:00
Mary Guillemard
946bbd8b2f
panvk: Enable vertexPipelineStoresAndAtomics on ANGLE for v13+
...
ANGLE requires VK_EXT_transform_feedback or vertexPipelineStoresAndAtomics
to enable OpenGL ES 3.1 support. As we currently don't support this extension,
we enable support for vertexPipelineStoresAndAtomics via DRICONF
to allow XFB emulation on hardware without speculative behaviors around vertices (v13+).
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34758 >
2025-06-03 14:28:06 +00:00
Mary Guillemard
d7f21cd9c6
pan/bi: Lower VS atomics direct output store to only exec in one stage when possible
...
Atomics and memory write on the vertex stage have implementation-defined
behaviors on how many invocations will happen. However for some reasons,
atomic counters on GL/GLES specs are quite ambigous here and even have tests
counting how many invocations have been made on VS.... This pass detects
atomics that result in a direct store output of one specific IDVS stage and
ensure it's only executed for said stage.
This allows "dEQP-GLES31.functional.shaders.opaque_type_indexing.atomic_counter.*" to
pass under panvk+ANGLE.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34758 >
2025-06-03 14:28:06 +00:00
Mary Guillemard
4100f1d08a
pan/bi: Stop writing pan_shader_info: 🆚 :idvs on non VS stages
...
We were unconditionally writing to vs anonymous union on other stages
than VS. this was not causing issues as pan_shader_compile
unconditionally overrite the value for fragment shaders and compute
shaders union is too small to be affecte.
Fixes: 1d21de788d ("pan/bi: Specialize shaders for IDVS")
Reported-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34758 >
2025-06-03 14:28:06 +00:00
Mary Guillemard
f1ba807099
panforst: Update ForEachMacros for pan/bi
...
We have various clang-format issues around those nir macros in
bifrost_compile.c.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34758 >
2025-06-03 14:28:06 +00:00
Valentine Burley
5b60cae2af
ci/android: Make android-runner scripts safe for set -u
...
Also make having VK_DRIVER set mandatory for Cuttlefish.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35277 >
2025-06-03 13:58:11 +00:00
Mary Guillemard
a6de893b60
panvk: Expose 2 queues on v10+
...
This works out of the box.
We could have more (up to 127) but this cause timeouts on
"dEQP-VK.api.device_init.create_device_various_queue_counts.basic" and
realistically we only need 2 for Android 14+ HWUI framework.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35310 >
2025-06-03 13:35:14 +00:00
Karol Herbst
4f5ce2d5aa
ac/nir: fix unaligned single component load/stores
...
This fixes two problems:
1. we need to lower the bit_size according to the alignment.
2. num_components could end up being 0, so we need to round up instead.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13102
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34976 >
2025-06-03 13:14:31 +00:00
Juan A. Suarez Romero
d30a6f8102
v3dv: consider render area when configuring supertiles
...
If the render area is restricted to a section of the framebuffer, there
is no need to consider all the framebuffer size when configuring the
supertiles, as only the supertiles coordinates of the affected area will
be submitted.
This allow to create supertiles smaller than the ones in case
considering the full screen, reducing the tiles that need to be
processed.
This also fixes https://gitlab.freedesktop.org/mesa/mesa/-/issues/13218 .
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/35257 >
2025-06-03 11:21:14 +00:00
Juan A. Suarez Romero
2cac70558d
v3d,v3dv: set max supertiles to 256
...
So far the driver was configuring the supertiles to be less than 256.
But actually, there can be up to 256, not strictly less than 256.
There is one restriction though: the frame width or height in supertiles
must be less than 256.
It also moves this limit to the limits file, which is shared by v3d and
v3dv.
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/35257 >
2025-06-03 11:21:14 +00:00
Karol Herbst
9e3f190e2e
rusticl/kernel: rework unsafe block inside clSetKernelArg
...
No functional change
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35305 >
2025-06-03 11:04:45 +00:00
Karol Herbst
f663e3330c
rusticl/memory: properly set pipe_image_view::access
...
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13294
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35305 >
2025-06-03 11:04:45 +00:00
Karol Herbst
868ae6a262
rusticl/kernel: implement CL_INVALID_ARG_VALUE for image args in clSetKernelArg
...
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35305 >
2025-06-03 11:04:45 +00:00
Samuel Pitoiset
94a4ba5b4d
radv/ci: bump the timeout for radv-polaris10-vkcts
...
Looks like it's actually also affected by the memory explosion caused
by zerovram alloc by default in AMDGPU. Though it's very random,
sometimes the job will finish in 40 minutes, sometimes it needs more
than 1h15m. Let's bump the timeout because it's a post-merge job.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35157 >
2025-06-03 10:18:30 +00:00
Samuel Pitoiset
61ca95fa67
ci: uprev VKCTS main to f66e0ae866117f3d7375763bf5ec194404d88cdb
...
RADV is the only driver using VKCTS main.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35157 >
2025-06-03 10:18:30 +00:00
Rhys Perry
dd45bf5bce
nir/load_store_vectorize: stabilize entry sort
...
I think this was unlikely to cause issues, even if the qsort()
implementation is unstable.
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/35255 >
2025-06-03 09:45:01 +00:00
Rhys Perry
397920c16e
nir: fix left shift of negative value in ibfe constant folding
...
Fixes "left shift of negative value -128" with parallel_rdp/00f93a9497dfbb3b
and UBSan.
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/35255 >
2025-06-03 09:45:01 +00:00
Rhys Perry
78aae4b1ba
nir: fix signed overflow in pack_half_2x16 constant folding
...
Without this cast, the left shift is promoted to 'int'.
Fixes "left shift of 50432 by 16 places cannot be represented in type 'int'"
with horizon_zero_dawn/001064f580f8e3be and UBSan.
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/35255 >
2025-06-03 09:45:01 +00:00
Rhys Perry
2e82f481ca
radv: fix too large shift exponent in radv_remove_color_exports
...
"shift exponent 1020 is too large for 32-bit type 'unsigned int'" with
madmax/25b8180e05220b8c and UBSan
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/35255 >
2025-06-03 09:45:01 +00:00
Rhys Perry
6852538ba0
nir: fix unpack_unorm_2x16/unpack_snorm_2x16 constant folding
...
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/35255 >
2025-06-03 09:45:01 +00:00
Valentine Burley
817c14cc7c
ci/lava: Only deploy kernel-modules when needed
...
Not all LAVA jobs appear to require kernel modules, so only apply the
kernel-modules overlay when HWCI_KERNEL_MODULES is explicitly set.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35129 >
2025-06-03 07:27:26 +00:00
Valentine Burley
3a0cc0ee0d
ci: Use zstd compressed kernel modules
...
Change how we package kernel modules: instead of storing them in
.tar.zst archives with uncompressed .ko files inside, we now compress
each .ko file individually with ZSTD and bundle them into a plain tar
archive.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35129 >
2025-06-03 07:27:26 +00:00
Faith Ekstrand
347e957b44
vulkan/pipeline: Hash null descriptor robustness info
...
Fixes: 6ae401aa86 ("vulkan: Add null descriptor bits to vk_pipeline_robustness_state")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34967 >
2025-06-03 07:02:36 +00:00
Georg Lehmann
a6675f35b2
aco: clamp exponent of 16bit ldexp
...
The hw uses only a 16bit int, but NIR's src is 32bit.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34073 >
2025-06-03 06:34:18 +00:00
Marek Olšák
bf2ed20eb9
nir: remove unused nir_io_semantics::invariant
...
Acked-by: Alyssa on IRC
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35256 >
2025-06-02 23:08:58 +00:00
Marek Olšák
44fcda9631
nir/opt_clip_cull_const: support GS
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35256 >
2025-06-02 23:08:58 +00:00
Marek Olšák
6677d087c0
nir/xfb_info: add new fields to describe 16-bit XFB better
...
for drivers that need this information
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35256 >
2025-06-02 23:08:58 +00:00
Marek Olšák
7b70b419b5
nir: always index SSA defs before printing
...
This makes the output more readable.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35256 >
2025-06-02 23:08:58 +00:00
Marek Olšák
cf94ae8544
nir: change the type of shader_info::patch_* fields to 32 bits
...
Patch outputs only use 32 bits.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35256 >
2025-06-02 23:08:58 +00:00
Ryan Mckeever
b69dcd8d33
panvk: Enable VK_EXT_load_store_op_none
...
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32915 >
2025-06-02 22:01:11 +00:00
Mike Blumenkrantz
a7e61f95b8
zink: delete zink_ctx_surface
...
finally the nightmare is over
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35240 >
2025-06-02 20:51:47 +00:00
Mike Blumenkrantz
1d1ca611be
zink: don't fixup depth buffer if it's already big enough
...
the zs buffer doesn't have to exactly match the size of the framebuffer,
it just has to be "big enough"
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35240 >
2025-06-02 20:51:47 +00:00
Mike Blumenkrantz
3dc8d81332
zink: delete zink_ctx_surface::needs_mutable
...
this was some awfulness required because previously pipe_surface objects
could be created from a different thread, but now they are only ever created
by the driver
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35240 >
2025-06-02 20:51:47 +00:00
Mike Blumenkrantz
8ad4b07c38
zink: delete zink_ctx_surface::transient
...
this untangles a lot of code and makes surfaces very nearly comprehensible
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35240 >
2025-06-02 20:51:47 +00:00
Mike Blumenkrantz
92d76f16ed
zink: delete another pipe_surface from msaa replicate
...
this was never used anyway
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35240 >
2025-06-02 20:51:47 +00:00
Mike Blumenkrantz
92f4d506d7
zink: remove some trivial transient surface references in rt init
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35240 >
2025-06-02 20:51:47 +00:00
Mike Blumenkrantz
ad5a115246
zink: slightly rework transient surface/image handling
...
this was a big nightmare because of how the pipe_surface object worked,
but now it's more possible to move the backing multisampled image
onto the base resource and reuse the 'valid' flag instead of the special
surface one for transients
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35240 >
2025-06-02 20:51:47 +00:00
Mike Blumenkrantz
4f81f121e6
zink: remove a pipe_surface from blitting
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35240 >
2025-06-02 20:51:47 +00:00
Alyssa Rosenzweig
e5e91887cf
asahi: clang-format
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35295 >
2025-06-02 20:34:32 +00:00
Alyssa Rosenzweig
49564786f7
asahi: drop dead surface stuff
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35295 >
2025-06-02 20:34:32 +00:00
Calder Young
6f28364541
intel_aux_map: Avoid creating new table pages when removing
...
Fixes #13241 , where iris_bufmgr occasionally deadlocks while allocating buffers.
The deadlock happens when iris_bufmgr.c calls intel_aux_map_unmap_range while
holding the bufmgr lock, with a range that includes pages that were never created,
which can happen because the iris_resource that adds aux mappings will sometimes
use a slightly larger buffer with an offset to ensure the resource is aligned
correctly.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35266 >
2025-06-02 20:10:49 +00:00
Natalie Vock
dac6f09451
radv/rt: Report 256 byte alignment for scratch
...
This mirrors AMDVLK. 128-byte alignment is possible, but DOOM: The Dark
Ages screws up scratch allocation with alignments <256 bytes.
Fixes hangs in DOOM: The Dark Ages.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35152 >
2025-06-02 19:52:51 +00:00
Natalie Vock
6628ac8ad9
radv/rt: Avoid encoding infinities in box node coords
...
On Navi33, certain box sorting modes combined with infinity/-infinity in
the child AABBs cause image_bvh64_intersect_ray to return garbage node
pointers.
To avoid this, convert infinity to the maximum representable
floating-point value, which will still intersect with any non-inf ray.
Fixes consistent hangs in DOOM: The Dark Ages.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35254 >
2025-06-02 19:33:18 +00:00
Jordan Justen
d84d7b78e4
intel/dev: Add PTL PCI IDs 0xb084-0xb087
...
Ref: linux v6.15 027a362fb36b ("drm/xe/ptl: Update the PTL pci id table")
Ref: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v6.15&id=027a362fb36b479030beecbaaec30711ddabf8fa
Ref: bspec 72574
Backport-to: 25.1
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35226 >
2025-06-02 11:36:25 -07:00
Jonathan Gray
ca33127652
vulkan: add missing include for FALLTHROUGH
...
When CLOCK_MONOTONIC_RAW and CLOCK_MONOTONIC_FAST are not
defined FALLTHROUGH is used. Add the include for the define.
Fixes the build on OpenBSD.
Fixes: 3bc7564bb0 ("vulkan: add vk_device_get_timestamp")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35145 >
2025-06-02 17:51:56 +00:00
Mike Blumenkrantz
e0641fdac7
zink: fix ZINK_RENDERDOC=all
...
the intent of this option is to create a single capture for the lifetime
of the app, which is great for unit test debugging, and this instead
created a capture for every queue submission, which is a nightmare
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35292 >
2025-06-02 17:34:04 +00:00
Mike Blumenkrantz
cb6dfc4169
zink: unlock instance mutex if creation fails
...
avoids a deadlock
Fixes: 015eda4a41 ("zink: deduplicate VkDevice and VkInstance")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35292 >
2025-06-02 17:34:04 +00:00
Eric Engestrom
f611fb4af9
svga/ci: fix indentation
...
The list of files is _inside_ `changes:`, not alongside it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35289 >
2025-06-02 17:15:18 +00:00
Eric Engestrom
0c5fa54b5b
svga/ci: fix job stages
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35289 >
2025-06-02 17:15:18 +00:00
Mike Blumenkrantz
a321b3207c
util/dd: delete surface object hooks
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35236 >
2025-06-02 16:49:32 +00:00
Mike Blumenkrantz
ddef6be19a
noop: delete surface object hooks
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35236 >
2025-06-02 16:49:32 +00:00
Mike Blumenkrantz
bbc4a2d2d9
aux/trace: delete surface object hooks
...
should never be used
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35236 >
2025-06-02 16:49:32 +00:00
Mike Blumenkrantz
0100e44a8c
util/tc: delete surface hooks
...
these should never be called from a frontend now
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35236 >
2025-06-02 16:49:32 +00:00
Mike Blumenkrantz
94979fec2c
vl: delete a missed pipe_surface_reference usage
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: David Rosca <david.rosca@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35236 >
2025-06-02 16:49:32 +00:00
Mike Blumenkrantz
06cf5794b1
vdpau: de-pointerize surfaces
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: David Rosca <david.rosca@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35236 >
2025-06-02 16:49:32 +00:00
Mike Blumenkrantz
b36fba19cc
va: remove one more pipe_surface object
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: David Rosca <david.rosca@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35236 >
2025-06-02 16:49:32 +00:00
Mike Blumenkrantz
5607797743
d3d10umd: update to latest pipe_surface changes
...
does it work? nobody knows!
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35236 >
2025-06-02 16:49:32 +00:00
Mike Blumenkrantz
561fed955b
d3d10umd: stop using pipe_surface::width/height
...
these were deleted months ago
Fixes: 9d359c6d10 ("gallium: delete pipe_surface::width and pipe_surface::height")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35236 >
2025-06-02 16:49:32 +00:00
Mike Blumenkrantz
3ecec254a7
util/tc: fix surface refcounting (by deleting it)
...
missed this in earlier series
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35236 >
2025-06-02 16:49:32 +00:00
Mike Blumenkrantz
11a3f2f3d1
lavapipe: kill off pipe_surface objects
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35236 >
2025-06-02 16:49:32 +00:00
Mike Blumenkrantz
db500d4a56
gallium: kill off pipe_surface_unref_no_context()
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35236 >
2025-06-02 16:49:32 +00:00
Mike Blumenkrantz
718e277ab5
util/surface: delete more pipe_context::create_surface usage
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35236 >
2025-06-02 16:49:32 +00:00
Mike Blumenkrantz
2d9f5d3bcd
util/debug: delete more pipe_context::create_surface usage
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35236 >
2025-06-02 16:49:32 +00:00
Mike Blumenkrantz
b92b67c941
util/blitter: delete more pipe_context::create_surface usage
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35236 >
2025-06-02 16:49:32 +00:00
Caterina Shablia
b81359ec84
panvk: bump maxPushConstantSize to 256
...
Vulkan 1.4 raises the minimum for maxPushConstantSize to 256, and given
that we intend on supporting 1.4 eventually and the change is very simple
might as well do it now.
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35191 >
2025-06-02 16:21:34 +00:00
Caterina Shablia
c6f19e87ac
panvk: ensure we don't go over the hardware FAU limit
...
All the Malis in existence out there support at most 64 user-supplied FAUs.
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35191 >
2025-06-02 16:21:34 +00:00
Faith Ekstrand
c37bcd43fc
nvk: Claim shaderUniformBufferArrayNonUniformIndexingNative
...
"Native" is relative for UBOs. On the one hand, we don't loop in the
shader for non-uniform UBO access ever. On the other hand, uniformity
does affect UBOs on Turing since we can only use bindless UBOs if the
handle (and therefore the loaded descriptor) are uniform. But if it's
non-uniform, we fall back to ld.constant which is pretty fast. On
Volta and earlier where we don't have bindless UBOs, we use ld.uniform
or ld.ci which are just as fast uniform as non. On all hardware,
non-constant UBO indexing prevents cbuf promotion so that's always
slower no matter what.
The moral of the story is that "native" non-uniform for UBOs is a
nonsense anyway and we should just set NonUniformIndexingNative so we
don't scare apps into doing something silly. The proprietary driver
claims native non-uniform UBOs as well.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35268 >
2025-06-02 16:04:05 +00:00
Faith Ekstrand
a8b309f1cf
nvk: Run nir_opt_non_uniform_access for UBOs on Turing+
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35268 >
2025-06-02 16:04:05 +00:00
Faith Ekstrand
7690d35aaa
nvk: Rework non-uniform access lowering
...
The UBO lowering did nothing because nir_lower_non_uniform_access
doesn't handle load_deref. For texture and storage image lowering,
nir_lower_non_uniform_access handles bindless handles just as well as
derefs. For textures, it's probably better this way anyway because we
combine the image and sampler into a single handle in
nvk_nir_lower_descriptors() and this way nir_lower_non_uniform_access()
will generate a loop on a single 32-bit handle instead of multiple array
indices.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35268 >
2025-06-02 16:04:05 +00:00
Faith Ekstrand
6bea7caddb
nvk/lower_descriptors: Drop buffer_address_to_ldcx_handle()
...
It's a remnant of older bindless cbuf attempts and is never called.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35268 >
2025-06-02 16:04:05 +00:00
Collabora's Gfx CI Team
64a3ab35a9
Uprev Piglit to 685ea49b47ae52560975cfcdb0ea0d4d27fead16
...
c32e5cc717...685ea49b47
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35223 >
2025-06-02 15:39:02 +02:00
Collabora's Gfx CI Team
87b74c6146
Uprev ANGLE to b1359277066648c3577ea8b57cc5e0bccee7b6cc
...
ec4d8f8e4d...b135927706
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35223 >
2025-06-02 15:39:02 +02:00
Rhys Perry
1fdfdbaf92
aco/hard_clauses: simplify and complete get_type()
...
This now includes image_msaa_load and the new atomic instructions in
GFX12.
It also treats point sample accelerated MIMG as either sample or load,
like the waitcnt insertion pass. I'm not sure if that's necessary or not,
though.
No fossil-db changes (gfx1201, gfx1150 and navi31).
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/35235 >
2025-06-02 10:28:10 +00:00
Rhys Perry
8764ec0230
aco: consider image_msaa_load a sample operation before gfx12
...
LLVM commit 62dea99a7d7df9daedbb86133f3d46699cd2728d made this instruction
a sample for all GFX levels, then with f898161bfa95723954a273a519180e070a5ccd2e
it was changed to be GFX12+. Now 34b6285735c999d2fab77b0ff8e5b497d86df3af
changed it to be all GFX levels again.
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/35235 >
2025-06-02 10:28:09 +00:00
David Rosca
960f63596f
radv/video: Add VCN5 encode support
...
New with VCN5 is separate reference images support.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35261 >
2025-06-02 09:30:30 +00:00
David Rosca
4a3b3febda
radv/video: Enable decode on VCN5
...
No differences from VCN4 for tier2.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13118
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35261 >
2025-06-02 09:30:30 +00:00
David Rosca
25f7996395
radv/video: Set correct minCodedExtent for encode
...
Cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35261 >
2025-06-02 09:30:30 +00:00
David Rosca
ef305f3875
radv: Use RADEON_SURF_VIDEO_REFERENCE for video DPB images
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35261 >
2025-06-02 09:30:30 +00:00
Samuel Pitoiset
47f5d25f93
radv,radeonsi: emit UPDATE_DB_SUMMARIZER_TIMEOUT on GFX12
...
This try to mitigate the HiZ GPU hang by increasing a timeout. Loosely
based on PAL but I can confirm it delays the hang when
BOTTOM_OF_PIPE_TS is used as a workaround.
This must be emitted when the GFX queue is idle.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35212 >
2025-06-02 07:30:18 +00:00
Karol Herbst
ad08dc9549
llvmpipe remove llvmpipe_screen::allow_cl
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35275 >
2025-06-02 07:13:54 +00:00
Valentine Burley
3ba9038648
ci/android: Check Vulkan driver using vulkaninfo
...
Add a step to detect the active Vulkan driver by parsing `vulkaninfo`.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35232 >
2025-06-02 06:27:31 +00:00
Valentine Burley
3029fdde65
ci/android: Switch to using eglinfo to check GLES implementation
...
In newer Android versions, SurfaceFlinger uses Vulkan by default,
so `dumpsys SurfaceFlinger` no longer reveals the GLES implementation.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35232 >
2025-06-02 06:27:31 +00:00
Maíra Canal
9e4e8542d4
v3d: make sure all jobs are done before destroying the context
...
Currently, Mesa CI is reporting the following kernel OOPS in the RPi 4:
[ 800.139824] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000588
[ 800.148619] Mem abort info:
[ 800.151402] ESR = 0x0000000096000005
[ 800.155141] EC = 0x25: DABT (current EL), IL = 32 bits
[ 800.160444] SET = 0, FnV = 0
[ 800.163488] EA = 0, S1PTW = 0
[ 800.166619] FSC = 0x05: level 1 translation fault
[ 800.171487] Data abort info:
[ 800.174357] ISV = 0, ISS = 0x00000005, ISS2 = 0x00000000
[ 800.179832] CM = 0, WnR = 0, TnD = 0, TagAccess = 0
[ 800.184873] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
[ 800.190176] user pgtable: 4k pages, 39-bit VAs, pgdp=00000001014c2000
[ 800.196607] [0000000000000588] pgd=0000000000000000, p4d=0000000000000000, pud=0000000000000000
[ 800.205305] Internal error: Oops: 0000000096000005 [#1 ] PREEMPT SMP
[ 800.211564] Modules linked in: vc4 snd_soc_hdmi_codec drm_display_helper v3d cec gpu_sched drm_dma_helper drm_shmem_helper drm_kms_helper drm drm_panel_orientation_quirks snd_soc_core snd_compress snd_pcm_dmaengine snd_pcm i2c_brcmstb snd_timer snd backlight
[ 800.234448] CPU: 0 UID: 0 PID: 0 Comm: swapper/0 Not tainted 6.12.25+rpt-rpi-v8 #1 Debian 1:6.12.25-1+rpt1
[ 800.244182] Hardware name: Raspberry Pi 4 Model B Rev 1.4 (DT)
[ 800.250005] pstate: 600000c5 (nZCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 800.256959] pc : v3d_job_update_stats+0x60/0x130 [v3d]
[ 800.262112] lr : v3d_job_update_stats+0x48/0x130 [v3d]
[ 800.267251] sp : ffffffc080003e60
[ 800.270555] x29: ffffffc080003e60 x28: ffffffd842784980 x27: 0224012000000000
[ 800.277687] x26: ffffffd84277f630 x25: ffffff81012fd800 x24: 0000000000000020
[ 800.284818] x23: ffffff8040238b08 x22: 0000000000000570 x21: 0000000000000158
[ 800.291948] x20: 0000000000000000 x19: ffffff8040238000 x18: 0000000000000000
[ 800.299078] x17: ffffffa8c1bd2000 x16: ffffffc080000000 x15: 0000000000000000
[ 800.306208] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
[ 800.313338] x11: 0000000000000040 x10: 0000000000001a40 x9 : ffffffd83b39757c
[ 800.320468] x8 : ffffffd842786420 x7 : 7fffffffffffffff x6 : 0000000000ef32b0
[ 800.327598] x5 : 00ffffffffffffff x4 : 0000000000000015 x3 : ffffffd842784980
[ 800.334728] x2 : 0000000000000004 x1 : 0000000000010002 x0 : 000000ba4c0ca382
[ 800.341859] Call trace:
[ 800.344294] v3d_job_update_stats+0x60/0x130 [v3d]
[ 800.349086] v3d_irq+0x124/0x2e0 [v3d]
[ 800.352835] __handle_irq_event_percpu+0x58/0x218
[ 800.357539] handle_irq_event+0x54/0xb8
[ 800.361369] handle_fasteoi_irq+0xac/0x240
[ 800.365458] handle_irq_desc+0x48/0x68
[ 800.369200] generic_handle_domain_irq+0x24/0x38
[ 800.373810] gic_handle_irq+0x48/0xd8
[ 800.377464] call_on_irq_stack+0x24/0x58
[ 800.381379] do_interrupt_handler+0x88/0x98
[ 800.385554] el1_interrupt+0x34/0x68
[ 800.389123] el1h_64_irq_handler+0x18/0x28
[ 800.393211] el1h_64_irq+0x64/0x68
[ 800.396603] default_idle_call+0x3c/0x168
[ 800.400606] do_idle+0x1fc/0x230
[ 800.403827] cpu_startup_entry+0x40/0x50
[ 800.407742] rest_init+0xe4/0xf0
[ 800.410962] start_kernel+0x5e8/0x790
[ 800.414616] __primary_switched+0x80/0x90
[ 800.418622] Code: 8b170277 8b160296 11000421 b9000861 (b9401ac1)
[ 800.424707] ---[ end trace 0000000000000000 ]---
[ 800.429316] Kernel panic - not syncing: Oops: Fatal exception in interrupt
[ 800.436181] SMP: stopping secondary CPUs
[ 800.440097] Kernel Offset: 0x17c1000000 from 0xffffffc080000000
[ 800.446007] PHYS_OFFSET: 0x0
[ 800.448877] CPU features: 0x08,00002013,c0200000,0200421b
[ 800.454267] Memory Limit: none
[ 800.457313] ---[ end Kernel panic - not syncing: Oops: Fatal exception in interrupt ]---
The NULL pointer in question is the `job->file`, which represents the
DRM state for a file descriptor. This means that the process is
finishing before the job completes.
To avoid such issue, make sure all jobs are done before flushing the
jobs when destroying the context.
Backport-to: 25.1
Signed-off-by: Maíra Canal <mcanal@igalia.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35233 >
2025-06-02 06:10:16 +00:00
Robert Mader
afd6788036
egl: Fixes for eglQueryContext and RESET_NOTIFICATION_STRATEGY
...
Streamline the conditions for when `RESET_NOTIFICATION_STRATEGY_EXT` can
be queried to match the conditions when it can be set - notably only
with GLES.
While on it, add support to query the KHR and suffix-less versions.
Cc: mesa-stable
Signed-off-by: Robert Mader <robert.mader@collabora.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35242 >
2025-06-02 04:36:48 +00:00
Robert Mader
ba1bd9aed8
egl: Remove check for GL or GLES
...
They are the only APIs supported these days and, most likely,
going forward.
Cc: mesa-stable
Signed-off-by: Robert Mader <robert.mader@collabora.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35242 >
2025-06-02 04:36:48 +00:00
Karol Herbst
7cd1f645de
include: remove C++ OpenCL headers
...
We don't use them and will therefore be always out of date. They live in
a seperate reposity at https://github.com/KhronosGroup/OpenCL-CLHPP .
And since distributions can't rely on us to install OpenCL headers there
is no advantage in keeping them around in our repo.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35228 >
2025-06-01 22:15:49 +00:00
Sviatoslav Peleshko
0e3e5146cf
intel/brw: Use correct instruction for value change check when coalescing
...
When we have partial VGRF MOVs with offsets, we will reach
`channels_remaining == 0` with `inst` that is not writing the whole VGRF.
Currently, even though we check `can_coalesce_vars()` for each offset
separately, it will always check if the dst value is not changed only
for the offset from the instruction that satisfied the
`channels_remaining == 0` condition.
Instead, we should remember and use the correct instruction for each
written offset separately.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10916
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35062 >
2025-06-01 17:37:10 +00:00
Mel Henning
aae67ab678
nak: Don't swap f2fp sources in legalize
...
The order of these is important.
Fixes: e19871bd6a ("nak: Use F2FP for nir_op_pack_half_2x16_split on SM86+")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12717
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35267 >
2025-05-31 01:04:43 +00:00
Faith Ekstrand
9b94ec30b6
nak/sm50: Use ld.ci for constant loads
...
This matches what CUDA does. This makes Unigine Heaven go about 4x
faster on my GTX 750 Ti when run with NVK_DEBUG=no_cbuf (to force all
UBO loads down the global memory path).
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35265 >
2025-05-31 00:50:13 +00:00
Faith Ekstrand
fb3125c4e3
nak/sm50: Encode cache ops on Maxwell
...
We just sort of YOLO'd it before, with no real plan. But it passed all
the tests so it never cared. It turns out the cache ops on Maxwell are
mostly the same as the ones we already added to Kepler, we just need to
encode them. The only big difference is that we no longer need to avoid
the L1 cache on Maxwell as it's either coherent or disabled in hardware
for global memory (I don't know which).
The only substantive change this MR makes is that images are now using
.ca by default rather than .cg. However, this is the same choice we're
currently making for global access and it still passes all the memory
model tests so it should be okay.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35265 >
2025-05-31 00:50:13 +00:00
Faith Ekstrand
a3b4401fe6
nak: Handle MemScope::System on Kepler
...
We never actually create any MemScope::System instructions anymore, but
it's worth handling it now just so we don't forget.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35265 >
2025-05-31 00:50:13 +00:00
Faith Ekstrand
81b6aece17
nak: Print cache ops on suldga and sustga
...
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35265 >
2025-05-31 00:50:13 +00:00
Faith Ekstrand
a0391b92bb
nak: Plumb the ShaderModel through to Ld/StCacheOp::select()
...
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35265 >
2025-05-31 00:50:13 +00:00
Guilherme Gallo
05c2c748db
ci/build: Remove CPP_ARGS var duplication
...
This variable appeared twice in debian-testing-msan, removing the first
one because it is probably being overridden by the second one.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35251 >
2025-05-30 21:05:45 +00:00
Guilherme Gallo
0a63e324a5
ci/panfrost: Reuse file list YAML anchors
...
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35251 >
2025-05-30 21:05:45 +00:00
Mel Henning
295373f29f
nak: Implement nir_intrinsic_reduce with REDUX
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34912 >
2025-05-30 19:28:01 +00:00
Mel Henning
b165c07b38
nak: Add OpRedux
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34912 >
2025-05-30 19:28:01 +00:00
Mel Henning
12b903d384
nak: lower_scan_reduce after divergence analysis
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34912 >
2025-05-30 19:28:01 +00:00
Mel Henning
a3839dbb90
nak: Change divergence analysis pass order
...
Always convert to lcssa before divergence analysis
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34912 >
2025-05-30 19:28:01 +00:00
Mel Henning
666bad5d22
nak: Always run nak_nir_mark_lcssa_invariants
...
We're about to change the way that lcssa is constructed, and we won't
be able to conclude that there are no lcssa phis based on this pass'
progress.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34912 >
2025-05-30 19:28:01 +00:00
Mel Henning
018f4f1c27
nak: Forbid reordering labeled OpNop
...
Totals:
Static cycle count: 1104322907 -> 1108862573 (+0.41%)
Totals from 111376 (56.68% of 196502) affected shaders:
Static cycle count: 948085895 -> 952625561 (+0.48%)
Fixes: 79d0f8263d ("nak: Add a simple postpass instruction scheduler")
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35141 >
2025-05-30 18:29:00 +00:00
Faith Ekstrand
c39bf7e7f9
nvk: Don't use INVALIDATE_TEXTURE_DATA_CACHE_NO_WFI on Kepler
...
It exists in the headers but it doesn't seem to work properly. Even
doing a separate WFI right before it doesn't help.
Acked-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35246 >
2025-05-30 17:38:39 +00:00
Faith Ekstrand
9458dd606e
nak/sm20: pixld has a predicate destination
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35246 >
2025-05-30 17:38:39 +00:00
Jesse Natalie
b25e430700
microsoft/compiler: Cast one enum to another instead of to int to resolve warning
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35247 >
2025-05-30 17:04:18 +00:00
Jesse Natalie
ae3c495de1
formats: Cast enum to int before shifting
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35247 >
2025-05-30 17:04:18 +00:00
Jesse Natalie
f0dde6ca7f
nir_gather_output_deps: Fix incorrect enum in switch
...
Cc: mesa-stable
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35247 >
2025-05-30 17:04:18 +00:00
Brian Paul
f29d939824
svga: rework framebuffer state
...
Create svga_framebuffer_state as a subclass of pipe_framebuffer_state.
This contains pointers to svga_surface objects which correspond to
pipe_framebuffer_state's surfaces.
Replace pipe_surface with svga_surface in many functions.
Stop using deprecated util_framebuffer_init() function.
See https://gitlab.freedesktop.org/mesa/mesa/-/issues/13262
Signed-off-by: Brian Paul <brian.paul@broadcom.com >x
Reviewed-by: Neha Bhende <neha.bhende@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35238 >
2025-05-30 16:40:56 +00:00
Brian Paul
b7774effbf
svga: asst. clean-ups in svga_surface.c
...
- whitespace fixes
- move var decls
- add const qualifiers
No functional changes.
Signed-off-by: Brian Paul <brian.paul@broadcom.com >
Reviewed-by: Neha Bhende <neha.bhende@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35238 >
2025-05-30 16:40:56 +00:00
Brian Paul
24a57350eb
svga: whitespace clean-ups in svga_screen_cache.h
...
Signed-off-by: Brian Paul <brian.paul@broadcom.com >
Reviewed-by: Neha Bhende <neha.bhende@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35238 >
2025-05-30 16:40:56 +00:00
Brian Paul
ce70baeef3
gallium/util: minor clean-ups in u_framebuffer.c
...
Replace tabs w/ spaces, move vars.
Signed-off-by: Brian Paul <brian.paul@broadcom.com >
Reviewed-by: Neha Bhende <neha.bhende@broadcom.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35238 >
2025-05-30 16:40:56 +00:00
Brian Paul
64da531799
svga: remove unneeded assignments in svga_set_framebuffer_state()
...
The util_copy_framebuffer_state() function copies the width, height,
nr_cbufs fields.
Also move a loop variable.
Signed-off-by: Brian Paul <brian.paul@broadcom.com >
Reviewed-by: Neha Bhende <neha.bhende@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35238 >
2025-05-30 16:40:56 +00:00
Brian Paul
dac04694b2
svga: handle NULL surface in svga_surface_needs_propagation()
...
To avoid null checks at the call sites.
Signed-off-by: Brian Paul <brian.oaul@broadcom.com >
Reviewed-by: Neha Bhende <neha.bhende@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35238 >
2025-05-30 16:40:56 +00:00
Brian Paul
e6058e5ab0
svga: 80-column wrapping and misc code cleanups
...
No functional changes.
Signed-off-by: Brian Paul <brian.paul@broadcom.com >
Reviewed-by: Neha Bhende <neha.bhende@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35238 >
2025-05-30 16:40:56 +00:00
David Rosca
3bb9905e7f
radeonsi/vcn: Use picture fence in JPEG decode
...
The fence needs to be passed to frontend to make vaSyncSurface work
correctly.
Cc: mesa-stable
Reviewed-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35258 >
2025-05-30 16:17:42 +00:00
Guilherme Gallo
e942d1e9e4
bin/ci: crnm: Sanitize n_colums value
...
The number of columns should never be less than 1, otherwise we can
break the script such as:
```
Traceback (most recent call last):
File "/var/home/guilherme/projects/mesa/bin/ci/ci_run_n_monitor.py", line 734, in <module>
main()
File "/var/home/guilherme/projects/mesa/bin/ci/ci_run_n_monitor.py", line 713, in main
target_job_id, ret, exec_t = monitor_pipeline(
^^^^^^^^^^^^^^^^^
File "/var/home/guilherme/projects/mesa/bin/ci/ci_run_n_monitor.py", line 221, in monitor_pipeline
cancel_jobs(project, to_cancel)
File "/var/home/guilherme/projects/mesa/bin/ci/ci_run_n_monitor.py", line 400, in cancel_jobs
print_formatted_list(cancelled_jobs, indentation=8)
File "/var/home/guilherme/projects/mesa/bin/ci/gitlab_gql.py", line 373, in print_formatted_list
step = (len(elements) // n_columns) + 1
~~~~~~~~~~~~~~^^~~~~~~~~~~
ZeroDivisionError: integer division or modulo by zero
```
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35250 >
2025-05-30 13:15:37 +00:00
Yao Zi
b1d81a7df1
radeonsi: Fix violation of aliasing rules in radeon_ws_bo_reference
...
Applications using Mesa built with LLVM 20.1.4 fail to start with
strange segmentfaults/bus errors when radeonsi driver is used. The last
piece of stacktrace looks like
- pipe_reference_described
- pipe_reference
- radeon_bo_reference
- radeon_ws_bo_reference
- radeon_lookup_or_add_real_buffer
Coredump shows the pointer dst passed to pipe_reference_described() is
either unaligned or even invalid, which is the reason of crashing. The
crash goes away when Mesa is built without optimization.
Looking through the related functions, it's found that
radeon_ws_bo_reference() contains unsafe type cast from radeon_bo to
pb_buffer_lean: though the former's first field is just the later, this
violates strict aliasing rules as pb_buffer_lean isn't compatible with
radeon_bo. Such violation ultimately results in miscompilation.
Let's take the address of pb_buffer_lean field, avoiding the unsafe
cast. It's still required to cast pb_buffer_lean back to radeon_bo since
radeon_bo_reference may update the pointer, which is safe as radeon_bo
contains a pb_buffer_lean member and C language permits access members
through a pointer in type of the container.
Fixes: 6d913a2bcc ("r300,r600,radeonsi: switch to pb_buffer_lean")
Link: https://www.gnu.org/software/c-intro-and-ref/manual/html_node/Aliasing-Type-Rules.html
Signed-off-by: Yao Zi <ziyao@disroot.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35249 >
2025-05-30 12:48:18 +00:00
Juan A. Suarez Romero
f340990fcb
v3dv: don't use deprecated NIR_PASS_V macro
...
Check more details at
https://gitlab.freedesktop.org/mesa/mesa/-/issues/10409 .
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35127 >
2025-05-30 14:24:24 +02:00
Juan A. Suarez Romero
5505bb6c6d
v3d/compiler: don't use deprecated NIR_PASS_V macro
...
We still keep it for the case of nir_scheduling, as this pass requires
to be adapted to return the progress as well as update the metadata.
Check more details at
https://gitlab.freedesktop.org/mesa/mesa/-/issues/10409 .
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35127 >
2025-05-30 14:24:24 +02:00
Juan A. Suarez Romero
62ba0d7bf8
vc4: don't use deprecated NIR_PASS_V macro
...
Check more details at
https://gitlab.freedesktop.org/mesa/mesa/-/issues/10409 .
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35127 >
2025-05-30 14:24:24 +02:00
Juan A. Suarez Romero
b5706ef70a
vc4: return progress on custom nir lowering
...
Report if the vc4 specific NIR lowering did any progress.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35127 >
2025-05-30 14:24:24 +02:00
David Rosca
a9a54632af
frontends/va: Fix H264 top/bottom is reference flags
...
All pics in the ReferenceFrames array should be references,
so there is no need to require the SHORT_TERM_REFERENCE flag
to actually treat them as references.
This fixes decoding with apps that doesn't set this flag,
eg. NoMachine remote desktop viewer (nxplayer).
See: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13229
Cc: mesa-stable
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35186 >
2025-05-30 08:54:31 +00:00
David Rosca
8f4e251c98
radeonsi/vcn: Support disabling HEVC dependent slice segments
...
With older FW this needs to be always enabled, but it can now be
disabled when using the new separate header instructions for
dependent_slice_segment_flag and slice_segment_address.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35072 >
2025-05-30 08:29:53 +00:00
David Rosca
09a1429a00
radeonsi/vcn: Remove carrizo workaround
...
Carrizo has UVD so this can never be true.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35072 >
2025-05-30 08:29:53 +00:00
David Rosca
f17ea8e901
radeonsi/vcn: Get rid of not_referenced
...
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35072 >
2025-05-30 08:29:52 +00:00
Jesse Natalie
47f4d3e701
d3d12: Handle a null threaded context
...
When GALLIUM_THREAD=0, the threaded context doesn't get created and
the following lines would fault.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35248 >
2025-05-30 02:19:26 +00:00
Jesse Natalie
0c0f6c6df1
d3d12: Handle sampler view creation on B8G8R8X8
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35142 >
2025-05-30 01:24:10 +00:00
Jesse Natalie
f5781553f6
winsys/d3d12: Support no-alpha formats through the DXGI swapchain path
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35142 >
2025-05-30 01:24:10 +00:00
Eric R. Smith
548f652d10
panfrost, panvk: spread hierarchy mask bits out when max_levels < 8
...
We create hierarchy masks based on the number of levels available,
creating a bitmask with `max_levels` bits set. Originally these bits
all came together. Modify this to spread the bits out, which improves
performance on chips like the G31 with only 2 levels of hierarchy.
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34744 >
2025-05-29 21:50:54 +00:00
Eric R. Smith
13b35a3c9c
panfrost, panvk: fix G31 use of SHADER_MODE_EARLY_ZS_ALWAYS
...
PRE_POST_FRAME_SHADER_MODE_EARLY_ZS_ALWAYS was introduced in
architecture version 7.2, not 7.0 as we assumed. Using it on
G31 (a 7.0 device) caused some CTS failures.
Cc: mesa-stable
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34744 >
2025-05-29 21:50:52 +00:00
Faith Ekstrand
2e85076b1d
nak: Set cache ops on surface load/store ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35217 >
2025-05-29 21:02:37 +00:00
Faith Ekstrand
ad98b76a14
nak: Set cache ops on global memory access on Kepler
...
For now we leave shared and local alone on SM32 (there are no such
controls on SM20).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35217 >
2025-05-29 21:02:37 +00:00
Faith Ekstrand
a7760e4bd8
nak: Set MemOrder::Constant for CAN_REORDER image loads on all hardware
...
On Turing and Volta, it will safely degrade suld.weak. On Maxwell and
Pascal, it will degrade to suld.cta.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35217 >
2025-05-29 21:02:37 +00:00
Faith Ekstrand
d3b9752ee6
nak/sm50: Use MemScope::CTA for constant image loads
...
Using MemScope::System synchronizes with everything, which is exactly
what we don't want for constant loads. This is currently a no-op
because we aren't using MemScope::Constant pre-Ampere yet.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35217 >
2025-05-29 21:02:37 +00:00
Faith Ekstrand
6ea0e91c99
nak: Handle suld.constant on Turing and Volta in legalization
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35217 >
2025-05-29 21:02:37 +00:00
Lionel Landwerlin
f0e18c475b
intel: remove GRL/intel-clc
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35227 >
2025-05-29 20:17:13 +00:00
Mike Blumenkrantz
44bff7eb05
zink: fix queue transition check in check_for_layout_update()
...
this only applies if the resource has active binds, otherwise it triggers crashes
Fixes: 18d206d67c ("zink: Check queue families when binding image resources")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35234 >
2025-05-29 15:25:04 -04:00
Mel Henning
6c68c2c3ba
nak/spill_values: Follow phis from src to dest
...
ssa_state_out has the predecessor's SSAValue, so we need look for it in
the phi_src map.
Totals:
CodeSize: 4545122720 -> 4534830176 (-0.23%); split: -0.23%, +0.00%
Number of GPRs: 10963889 -> 10963693 (-0.00%); split: -0.00%, +0.00%
SLM Size: 1855380 -> 1649308 (-11.11%); split: -11.11%, +0.01%
Static cycle count: 1104322907 -> 1093035821 (-1.02%); split: -1.02%, +0.00%
Spills to memory: 480689 -> 139107 (-71.06%)
Fills from memory: 480689 -> 139107 (-71.06%)
Spills to reg: 458804 -> 242139 (-47.22%); split: -47.23%, +0.01%
Fills from reg: 303068 -> 222030 (-26.74%); split: -26.75%, +0.01%
Max warps/SM: 7245516 -> 7245580 (+0.00%)
Totals from 9899 (5.04% of 196502) affected shaders:
CodeSize: 1056727952 -> 1046435408 (-0.97%); split: -0.98%, +0.00%
Number of GPRs: 1666652 -> 1666456 (-0.01%); split: -0.01%, +0.00%
SLM Size: 1107988 -> 901916 (-18.60%); split: -18.61%, +0.01%
Static cycle count: 254942337 -> 243655251 (-4.43%); split: -4.43%, +0.01%
Spills to memory: 480689 -> 139107 (-71.06%)
Fills from memory: 480689 -> 139107 (-71.06%)
Spills to reg: 367784 -> 151119 (-58.91%); split: -58.92%, +0.01%
Fills from reg: 222209 -> 141171 (-36.47%); split: -36.49%, +0.02%
Max warps/SM: 119188 -> 119252 (+0.05%)
Fixes: bcad2add47 ("nak: Add a spilling pass")
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35143 >
2025-05-29 18:30:40 +00:00
Mel Henning
0e5880ebe4
nvk: Call ensure_slm for nvk_cmd_dispatch_shader
...
Internal shaders can also use slm, so we need to allocate it correctly.
This fixes
dEQP-VK.dgc.ext.compute.misc.max_pc_range_256_full_preprocess_with_execution_set
with NAK_DEBUG=spill
Fixes: 105bdf2e36 ("nvk: Add a helper for dispatching compute shaders")
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35143 >
2025-05-29 18:30:40 +00:00
Mike Blumenkrantz
d8d913c341
zink: also check for host-visible on staging uploads
...
this has strange mechanics on lavapipe
Fixes: e63acdd2b7 ("zink: force cached mem for streaming uploads")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35239 >
2025-05-29 13:18:23 -04:00
Faith Ekstrand
cfeda2d8ae
nvk: Disallow GetMemoryFdProperties with OPAQUE_FD_BIT
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35213 >
2025-05-29 11:53:27 -04:00
Faith Ekstrand
601cf33c44
nvk: Only allow importing mappable dma-bufs to HOST_VISIBLE types
...
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35213 >
2025-05-29 11:53:27 -04:00
Faith Ekstrand
77eba0980b
nvk: Don't assert memory placement on import
...
Instead, we assert that the non-placement flags match, which is
currently CAN_MAP and SHARED.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35213 >
2025-05-29 11:53:27 -04:00
Faith Ekstrand
bf82c94751
nvk/nvkmd: Add a force_mem_to_gart() helper
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35213 >
2025-05-29 11:53:27 -04:00
Mike Blumenkrantz
05f8b59c90
gallium: delete union pipe_surface_desc
...
this is no longer used
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35168 >
2025-05-29 13:07:02 +00:00
Mike Blumenkrantz
ca65f2cf1c
gallium: delete pipe_surface::writable
...
no longer used
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35168 >
2025-05-29 13:07:02 +00:00
Samuel Pitoiset
9692ef41a3
aco: implement bitfield_extract for 8-bit/16-bit
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35199 >
2025-05-29 12:24:59 +00:00
Daniel Stone
80e19e7b1e
ci: Bump v6.14 kernel for updated Panthor scheduler
...
Apply a newer version of the Panthor scheduling timeout fix from the
list.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35230 >
2025-05-29 12:05:06 +01:00
Karmjit Mahil
688d8217a5
tu,freedreno: Add pkt_field_{get,set} helper macro
...
It's very common needing to extract or overwrite a certain field
in an already packed register value, so add macros to do that
instead of manually doing that each time.
Signed-off-by: Karmjit Mahil <karmjit.mahil@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35088 >
2025-05-29 10:54:28 +01:00
Danylo Piliaiev
398f14ca3d
freedreno: Use fast variants of {BC4/BC5}_SNORM formats
...
Hardware has two types of BC4 and BC5: fast and not.
The exact perf difference is not tested, but these distinct formats
could be seen in the public docs:
Qualcomm Adreno GPU > Spec Sheet -> Texture format
https://docs.qualcomm.com/bundle/publicresource/topics/80-78185-2/spec_sheets.html?product=1601111740035277#panel-0-0-1
Found when scanning prop driver's cmdstream seeing unknown format.
Passes:
dEQP-VK.*bc4*
dEQP-VK.*bc5*
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33945 >
2025-05-29 09:01:17 +00:00
Eric Engestrom
5a5b00cfca
ci: drop unneeded printing of pass/fail alongside the exit_code
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35214 >
2025-05-29 07:29:25 +00:00
Samuel Pitoiset
fe2c93a788
ac/nir: enable 64-bit lowering for bitfield_extract
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35187 >
2025-05-29 08:45:41 +02:00
Samuel Pitoiset
cecf6675be
nir/lower_int64: add bitfield_extract lowering
...
This will be used by RADV for ACO/LLVM.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35187 >
2025-05-29 08:45:40 +02:00
Olivia Lee
104ea2e4cf
panfrost: legalize afbc before zs and rt clears
...
In panfrost_clear_depth_stencil and panfrost_clear_render_target, we
start the blit context before binding the clear targets. If we don't
legalize AFBC beforehand, we get a recursive blit crash. panfrost_clear
does not need this because the resource should already be legalized in
panfrost_batch_add_surface.
Fixes the following piglit tests with pan_force_afbc_packing:
- spec@arb_clear_texture@arb_clear_texture-base-formats
- spec@arb_clear_texture@arb_clear_texture-simple
- spec@arb_clear_texture@arb_clear_texture-sized-formats
Fixes: 17a62ff993 ("panfrost: legalize afbc before blitting")
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34992 >
2025-05-29 01:50:31 +00:00
Olivia Lee
bed54fa402
panfrost: fix assertion failure compiling image conversion shaders
...
In 59a3e12039 , we changed the UBO->push optimization in panfrost to
only push UBOs that are available in a CPU buffer. We require
first_ubo_is_default_ubo, to ensure that UBO0 will be a user buffer. We
weren't setting this flag for the image conversion shaders, so got an
assertion failure compiling them. This can be triggered by the
panvk_force_afbc_packing driconf option.
The conversion shader info UBO isn't exactly a "default" UBO in the
sense of being lowered from uniforms, but it is a user buffer, so
setting the flag should be fine.
Fixes: 59a3e12039 ("panfrost: do not push "true" UBOs")
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34992 >
2025-05-29 01:50:31 +00:00
Yiwei Zhang
749265da0d
vulkan/wsi: split cmd record for img2buf blit and img2img blit
...
There's no behavior change, but to prepare for the next img2buf blit
improvement, except adding asserts to make clear of the existing blit
code paths.
v2: use switch with unreachable default per @gfxstrand has suggested
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35220 >
2025-05-29 01:20:27 +00:00
Yiwei Zhang
2af2314fb2
vulkan/wsi: include missing barrier for transferring to blit dst image
...
Fixes: 2975a7f453 ("vulkan/wsi: Add support for image -> image blits")
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35220 >
2025-05-29 01:20:27 +00:00
Pohsiang (John) Hsu
79bc373b1e
mediafoundation: move readme.md to docs folder
...
Reviewed-by: Yubo Xie <yuboxie@microsoft.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35219 >
2025-05-29 01:03:34 +00:00
Pohsiang (John) Hsu
0107d94632
mediafoundation: add mechanism to disable async and h.264 unwrapped POC (commented out for now) according to gpu/version
...
Reviewed-by: Yubo Xie <yuboxie@microsoft.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35219 >
2025-05-29 01:03:34 +00:00
Pohsiang (John) Hsu
061085708a
mediafoundation: on use LTR, synchronize the active ltr bitmap to the one passed in
...
Reviewed-by: Yubo Xie <yuboxie@microsoft.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35219 >
2025-05-29 01:03:34 +00:00
Pohsiang (John) Hsu
22d84522ed
mediafoundation: get device vendor id, device id, and driver version
...
Reviewed-by: Yubo Xie <yuboxie@microsoft.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35219 >
2025-05-29 01:03:34 +00:00
Pohsiang (John) Hsu
5ee854c4eb
mediafoundation: add ETW event for perf analysis
...
Add perf ETW events using TraceLogging API, the following are adding:
- MFT receives fence (FenceCompletion).
- MFT has output MFSample (METransformHaveOutput).
- MFT calls to pipe end_frame (PipeEndFrame) -- bracketed.
- MFT calls to pipe flush (PipeFlush) -- bracketed.
- MFT submits a frame to pipe (PipeSubmitFrame) -- bracketed from begine_frame to encode_bitstream/encode_bitstream_sliced
- MFT processinput (ProcessInput) -- bracketed
- MFT processoutput (ProcessOutput) -- bracketed
The ETW provider(s) are:
- H264Enc: 0000e264-0dc9-401d-b9b8-05e4eca4977e
- H265Enc: 0000e265-0dc9-401d-b9b8-05e4eca4977e
- AV1Enc: 0000eaa1-0dc9-401d-b9b8-05e4eca4977e
Note that the provider is mostly the same as the WPPTrace provider for each codec, with the additional 'e' (e.g. 0000e264 vs 00000264)
Reviewed-by: Yubo Xie <yuboxie@microsoft.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35219 >
2025-05-29 01:03:34 +00:00
Lucas Stach
a8009e7c11
etnaviv: move TS allocation to resource allocation
...
Allocate TS together with the tracked resource, which gets rid
of the resource mutation on surface creation and the diversion
between the interal and shared TS handling.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34488 >
2025-05-29 00:48:07 +00:00
Lucas Stach
83ab7a8d58
etnaviv: add resource render compatible check
...
Untangle the convoluted render compatible check from
etna_render_handle_incompatible to make it easier to read and move it
into a separate function so it can be reused from other callers.
As this is intended to be called also at resource creation time, where
we don't know the exact level of the resource that might be rendered to,
the stride check for linear resources is made a bit more conservative by
checking that the last level (the one with the smallest stride) still
meets the render target stride alignment requirement.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34488 >
2025-05-29 00:48:07 +00:00
Lucas Stach
4717022cb0
etnaviv: drop ts_offset from etna_surface
...
TS is only allocated for single layer surfaces, so there is no need to
cache a ts_offset taking into account the layer offset in etna_surface.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34488 >
2025-05-29 00:48:07 +00:00
Lucas Stach
50940ce393
etnaviv: don't pretend to support TS for array or 3D textures
...
etna_screen_resource_alloc_ts is only called for textures that have a
single layer and slice, as we don't want to duplicate the driver side
TS tracking information per layer or depth slice. Stop pretending to
support allocating TS for such resources.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34488 >
2025-05-29 00:48:06 +00:00
Nanley Chery
965d3ec7d4
intel/isl: Fix isl_surf_image_has_unique_tiles()
...
Prevent the function from unnecessarily returning false by:
* Comparing the image tile range with that of every LOD instead of only
LOD0.
* Using the correct comparison check for the exclusive tile end ranges.
Fixes: 8dad01903a ("intel: Add and use isl _surf_image_has_unique_tiles()")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35192 >
2025-05-29 00:11:45 +00:00
Paulo Zanoni
ecc90e1bb3
intel/isl: don't clamp num_elements to (1 << 27)
...
The BSpec page for Structure_RENDER_SURFACE_STATE says:
"For typed buffer and structured buffer surfaces, the number of
entries in the buffer ranges from 1 to 2^27. For raw buffer
surfaces, the number of entries in the buffer is the number of
bytes which can range from 1 to 2^30. After subtracting one from
the number of entries, software must place the fields of the
resulting 27-bit value into the Height, Width, and Depth fields as
indicated, right-justified in each field. Unused upper bits must be
set to zero."
According to the vkd3d-proton developers, this is what is happening
with the applications:
"There's also the problematic case of games using typed descriptors
but passing non-typed buffer descriptors, which is an extremely
common app bug that works on all D3D12 drivers that we need to work
around by creating typed views."
Previously, we had an assert() to check for "num_elements > (1 <<
27)", but that assert was preventing us from running games such as
Marvel's Spider-Man Remastered and Assassin's Creed: Valhalla in Debug
mode. So not only I removed the assert, but I also made the code clamp
num_elements to the maximum of (1 << 27) based on my incorrect
interpretation of the paragraph quoted above from BSpec.
What I did not realize was that num_elements is being used just to
calculate Structure_RENDER_SURFACE_STATE Height, Width and Depth, and
our register bit fields on SKL and newer are big enough to fit any
number of num_elements up to 2^32, not only 2^27. Clamping
num_elements results in an incorrect value for S.Depth, which
generates visual corruption in some games.
On Marvel's Spider-Man Remastered, without this patch the texture of
the asphalt in some streets (like the very first one you jump to when
the game starts) gets rendered incorrectly.
Testcase: vkd3d-proton/d3d12/test_large_texel_buffer_view
Link: https://github.com/HansKristian-Work/vkd3d-proton/issues/2071
Link: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12827
Fixes: f3c7e14f09 ("isl: don't assert(num_elements > (1ull << 27))")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35032 >
2025-05-28 23:45:54 +00:00
Olivia Lee
97e54511a5
panvk: advertise VK_EXT_shader_subgroup_vote and VK_EXT_shader_subgroup_ballot
...
These are already supported in the compiler.
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/35218 >
2025-05-28 23:20:09 +00:00
Valentine Burley
46539edf03
ci: Rename debian-testing to debian-x86_64
...
This matches the naming scheme used for debian-arm32 and debian-arm64.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35173 >
2025-05-28 22:46:13 +00:00
Olivia Lee
6f5f5ca4b2
pan/va: allow using both FAU and small constants in the same instruction
...
Normally we aren't able to mix FAU srcs from different pages. We
consider small constants (BIR_FAU_IMMEDIATE) to be page 0, and so were
previously always pulling small constants out with a MOV in instructions
that also use FAUs. This is not necessary. Message unit instructions
have no restrictions on small constant use and execution unit
instructions allow mixing small constants with FAU srcs as long as we
don't use more than 64 bits.
shader-db results on G610:
total instrs in shared programs: 673595 -> 672719 (-0.13%)
instrs in affected programs: 111294 -> 110418 (-0.79%)
helped: 293
HURT: 9
helped stats (abs) min: 1.0 max: 27.0 x̄: 3.12 x̃: 2
helped stats (rel) min: 0.08% max: 10.53% x̄: 1.71% x̃: 1.02%
HURT stats (abs) min: 1.0 max: 15.0 x̄: 4.33 x̃: 3
HURT stats (rel) min: 0.06% max: 12.20% x̄: 2.07% x̃: 0.49%
95% mean confidence interval for instrs value: -3.38 -2.42
95% mean confidence interval for instrs %-change: -1.80% -1.39%
Instrs are helped.
total cycles in shared programs: 34260.22 -> 34257.44 (<.01%)
cycles in affected programs: 143.53 -> 140.75 (-1.94%)
helped: 78
HURT: 1
helped stats (abs) min: 0.015625 max: 0.296875 x̄: 0.04 x̃: 0
helped stats (rel) min: 0.32% max: 5.71% x̄: 1.78% x̃: 1.32%
HURT stats (abs) min: 0.046875 max: 0.046875 x̄: 0.05 x̃: 0
HURT stats (rel) min: 1.90% max: 1.90% x̄: 1.90% x̃: 1.90%
95% mean confidence interval for cycles value: -0.05 -0.02
95% mean confidence interval for cycles %-change: -1.98% -1.49%
Cycles are helped.
total cvt in shared programs: 4097.12 -> 4083.44 (-0.33%)
cvt in affected programs: 706.75 -> 693.06 (-1.94%)
helped: 293
HURT: 9
helped stats (abs) min: 0.015625 max: 0.421875 x̄: 0.05 x̃: 0
helped stats (rel) min: 0.19% max: 45.45% x̄: 6.38% x̃: 2.53%
HURT stats (abs) min: 0.015625 max: 0.234375 x̄: 0.07 x̃: 0
HURT stats (rel) min: 0.15% max: 50.00% x̄: 7.85% x̃: 1.90%
95% mean confidence interval for cvt value: -0.05 -0.04
95% mean confidence interval for cvt %-change: -7.03% -4.89%
Cvt are helped.
total code size in shared programs: 6205824 -> 6198528 (-0.12%)
code size in affected programs: 395648 -> 388352 (-1.84%)
helped: 57
HURT: 2
helped stats (abs) min: 128.0 max: 256.0 x̄: 132.49 x̃: 128
helped stats (rel) min: 0.08% max: 25.00% x̄: 6.96% x̃: 5.26%
HURT stats (abs) min: 128.0 max: 128.0 x̄: 128.00 x̃: 128
HURT stats (rel) min: 1.12% max: 2.86% x̄: 1.99% x̃: 1.99%
95% mean confidence interval for code size value: -137.46 -109.86
95% mean confidence interval for code size %-change: -8.19% -5.12%
Code size are helped.
total threads in shared programs: 22203 -> 22204 (<.01%)
threads in affected programs: 1 -> 2 (100.00%)
helped: 1
HURT: 0
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35154 >
2025-05-28 22:21:46 +00:00
Matt Turner
37016468a5
intel/compiler: Align human-readable send message info
...
This fprintf() was added in commit cce3bea2a7 ("i965/disasm: Align send
instruction meta-information with dst.")) to align the human-readable
send message info (e.g. "render MsgDesc: RT write ...") with the
destination register on the previous line.
Two months later we disabled printing the instruction offset in commit
662f1ccc24 ("i965: Disable hex offset printing in disassembly."),
thereby unaligning the human-readable send message info for the next 11
years.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35077 >
2025-05-28 21:54:40 +00:00
Jordan Justen
4c4d90ae49
intel/dev: Add BMG PCI IDs 0xe220-0xe223
...
Ref: bspec 68090
Backport-to: 25.0, 25.1
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35139 >
2025-05-28 21:17:33 +00:00
Faith Ekstrand
9924ad4e8b
nouveau: Move codegen back to the src/gallium/drivers/nouveau
...
Reviewed-by: Lorenzo Rossi <snowycoder@gmail.com >
Acked-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30403 >
2025-05-28 21:01:26 +00:00
Faith Ekstrand
ac45243ec1
nak: Unconditionally call lower_io_to_temporaries in preprocess_nir
...
We're calling it for fragment shaders and NVK is calling it for
eerything before invoking NAK so we may as well call it unconditionally
in NAK and skip calling it in NVK.
Reviewed-by: Lorenzo Rossi <snowycoder@gmail.com >
Acked-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30403 >
2025-05-28 21:01:26 +00:00
Faith Ekstrand
f70d0425c8
nvk: Stop doubling root descriptors
...
Reviewed-by: Lorenzo Rossi <snowycoder@gmail.com >
Acked-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30403 >
2025-05-28 21:01:26 +00:00
Faith Ekstrand
cee45c8bf5
nvk: Only pass texture handles to NAK
...
Codegen expects to get the handle in both the sampler and texture handle
sources. NAK only cares about texture_handle. Now that we don't care
about codegen anymore, we can drop the extra source.
Reviewed-by: Lorenzo Rossi <snowycoder@gmail.com >
Acked-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30403 >
2025-05-28 21:01:26 +00:00
Faith Ekstrand
511a490f8b
nvk: Inline nvk_compile_nir_with_nak()
...
With codegen gone, there's no point in hanging onto this helper.
Reviewed-by: Lorenzo Rossi <snowycoder@gmail.com >
Acked-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30403 >
2025-05-28 21:01:26 +00:00
Faith Ekstrand
6d35ee3888
nvk: Remove codegen support
...
Reviewed-by: Lorenzo Rossi <snowycoder@gmail.com >
Acked-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30403 >
2025-05-28 21:01:26 +00:00
Faith Ekstrand
9cf78d6532
nvk: Don't disable features based on NVK_USE_NAK
...
Now that NAK is the default for everything, if someone explicitly
switches to codegen, they get what they get.
Reviewed-by: Lorenzo Rossi <snowycoder@gmail.com >
Acked-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30403 >
2025-05-28 21:01:26 +00:00
José Roberto de Souza
573e992b99
intel/tools: Skip dump of binaries in unknown sections
...
In current Xe KMD error dump it will remove the GuC log from dump
but would also drop any new binary added to error dump.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33249 >
2025-05-28 20:26:55 +00:00
José Roberto de Souza
a4cf7dde4b
intel/tools: Rename and better detect topic changes
...
Xe KMD added topics without our notice in the past and that may happen
in future so better rename XE_TOPIC_INVALID to XE_TOPIC_UNKNOWN
and better detect topic changes.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33249 >
2025-05-28 20:26:55 +00:00
José Roberto de Souza
52e9d25aa0
intel/tools: Replace error_decode_xe_read_hw_sp_or_ctx_line() by a more generic function
...
error_decode_xe_read_hw_sp_or_ctx_line() is too specific, replacing
it by a more generic function that later will be used in other places
too.
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33249 >
2025-05-28 20:26:55 +00:00
Mike Blumenkrantz
b89e0fa226
tc: rework resource usage tracking to be lighter
...
this (conceptually) flattens out the batches into a wrapping id which
is used to determine whether a resource has in-flight work pending
the code cleanup is nice, but evaluating performance of this is difficult.
in testing a heavy use case of unsynchronized subdata:
* 10% fewer driver flushes (good)
* 20% fewer direct unsynchronized uploads (bad? or possibly hidden race conditions fixed...)
Fixes: 9cc06f817c ("tc: allow unsynchronized texture_subdata calls where possible")
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35026 >
2025-05-28 20:00:36 +00:00
Karol Herbst
c7d09eca27
rusticl: add memory debugging
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32942 >
2025-05-28 19:21:46 +00:00
Karol Herbst
da4de8d7e3
rusticl: add support for coarse-grain buffer SVM
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32942 >
2025-05-28 19:21:46 +00:00
Karol Herbst
6e13e438d1
rusticl/kernel: add an SVM kernel argument value
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32942 >
2025-05-28 19:21:46 +00:00
Karol Herbst
2fb8bb3c49
rusticl: move SVM allocation into core
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32942 >
2025-05-28 19:21:46 +00:00
Karol Herbst
b65652b4be
rusticl: implement cl_ext_buffer_device_address
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32942 >
2025-05-28 19:21:46 +00:00
Karol Herbst
35a9829391
rusticl/kernel: rework validation in clSetKernelExecInfo
...
We should use the cl_slice code to get proper validation, which also makes
it simpler to read out data and gets rid of some UB there.
This also fixes CL_KERNEL_EXEC_INFO_SVM_PTRS with param_value being null.
Cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32942 >
2025-05-28 19:21:46 +00:00
Karol Herbst
c5411351ad
rusticl/mesa: add util_vma_heap wrapper
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32942 >
2025-05-28 19:21:46 +00:00
Karol Herbst
875fc911b6
rusticl/mesa: wrap new VM interfaces SVM edition
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32942 >
2025-05-28 19:21:46 +00:00
Karol Herbst
1ff64f6ac1
rusticl/mesa: wrap new VM interfaces
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32942 >
2025-05-28 19:21:46 +00:00
Karol Herbst
4027f0f30a
lp: implement resource_get_address
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32942 >
2025-05-28 19:21:46 +00:00
Karol Herbst
c449d1d063
zink: implement resource_get_address
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32942 >
2025-05-28 19:21:46 +00:00
Karol Herbst
a04569b2ea
zink: set unordered_read/write after buffer_barrier in set_global_binding
...
Fixes: a6e9e0f0d7 ("zink: add set_global_binding")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32942 >
2025-05-28 19:21:46 +00:00
Karol Herbst
8658529e88
gallium: new VM interfaces for SVM
...
The old interfaces added back in clover's time were modeled after a very
bindful resource model.
However SVM (shared virtual memory) requires us to be way more flexible.
The new interfaces allow frontends to create a cut-out in the GPU's vm and
to assign addresses themselves. This gives us the following benefits:
- The frontend is empowered to synchronize resource addresses between
several devices. cl_mem objects in OpenCL span across a set of multiple
devices and SVM requires them to have the same VMA across all of them.
- Coarse grain SVM can be implemented without bothering drivers too much
as the frontend can be responsible to make sure a host allocation with
a specific VMA matches a GPU allocation with the identical VMA.
- Support for Global variables in the CrossWorkgroup storage class
Initializers. Those can depend on addresses of CrossWorkgroup memory,
if the frontend can just assign a VMA, this address can be passed as a
constant to spirv_to_nir and folded without the need to support
spilling of constant initializers.
Drivers not able to give us a vm-cutout are left with implementing
cl_ext_buffer_device_address instead.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32942 >
2025-05-28 19:21:46 +00:00
Karol Herbst
9d7441dcb0
gallium: add fixed address resource API
...
cl_ext_buffer_device_address requires us to set a fixed address for a
given memory allocation. As this extension is intended to be implemented
on top of vulkan we have to take its limitations into account.
For SVM we'll add proper VM management interfaces, but zink won't be able
to implement those, so here we are.
The old interfaces added back in clover's time were modeled after a very
bindful resource model and the frontend was require to bind all the used
resources ahead of launch_grid.
cl_ext_buffer_device_address and also SVM however will require us to
dynamically attach a list of buffers used in a dispatch with known
addresses, hence set_global_binding isn't really suited for those use
cases.
So PIPE_RESOURCE_FLAG_FIXED_ADDRESS is added to tell a driver that the
address of a resource needs to stay the same over its lifetime, which then
can be queried via pipe_screen::resource_get_address.
All such buffers then can be either bound via set_global_binding or passed
in via pipe_grid_info::globals.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32942 >
2025-05-28 19:21:46 +00:00
Karol Herbst
833bd74291
include: sync CL headers
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32942 >
2025-05-28 19:21:46 +00:00
Valentine Burley
4986c650f6
ci: Don't forward long environment variables
...
Filter out the CI_COMMIT_DESCRIPTION, CI_COMMIT_MESSAGE, and
CI_MERGE_REQUEST_DESCRIPTION variables, which were causing issues in LAVA.
Fixes: cc83b3db5f ("ci: Forward all environment variables to DUTs and crosvm")
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35196 >
2025-05-28 18:44:16 +00:00
Yiwei Zhang
28f051a024
panvk: drop bo refcount from panvk_image
...
The bound bo validity is blessed by the spec VU. No need to beat VVL in
userspace icd.
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35197 >
2025-05-28 18:06:57 +00:00
Yiwei Zhang
e9b7c88775
panvk: drop bo tracking from panvk_buffer
...
No longer needed.
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35197 >
2025-05-28 18:06:57 +00:00
Yiwei Zhang
7e2fe6d1c1
panvk: fix memory binding for wsi image alias
...
Fixes: f77fe432c1 ("panvk: support binding swapchain memory")
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35197 >
2025-05-28 18:06:57 +00:00
Eric Engestrom
1a6ad85c6c
docs: add sha sum for 25.0.7
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35211 >
2025-05-28 18:01:31 +00:00
Eric Engestrom
0937689d40
docs: add release notes for 25.0.7
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35211 >
2025-05-28 18:01:31 +00:00
Eric Engestrom
4bf45ce167
docs: update calendar for 25.0.7
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35211 >
2025-05-28 18:01:31 +00:00
Mary Guillemard
f6f5bee080
pan/genxml: Fix typo for NEXT_SB_ENTRY
...
"NEXT_SB_ENTR" -> "NEXT_SB_ENTRY"
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Fixes: 811525b543 ("pan/genxml: Build libpanfrost_decode for v12")
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35089 >
2025-05-28 17:03:30 +00:00
Mary Guillemard
172dead3df
panvk: Increase CSF scratch limits on v12+
...
We have way more registers to work with and we are going to need an
additional register for indirect scoreboard handling so let's increase
our scratch limits.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35089 >
2025-05-28 17:03:30 +00:00
Mary Guillemard
50dc885eb2
panvk: Set proper upper limit for IDVS reg blacklist on v12+
...
This was forgotten when introducing v12+ support.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35089 >
2025-05-28 17:03:30 +00:00
Mary Guillemard
bacd87ba3c
panfrost: Fix codestyle issue with cs_nop
...
We never use this kind of form in that header and that was bumping on
clang-format a lot.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35089 >
2025-05-28 17:03:30 +00:00
Mary Guillemard
3a5d1d74ec
panfrost: Add indirect mode for async operations on v11+
...
v11 and later allows to indirectly wait on a scoreboard mask and signal
a scoreboard (as set via SET_STATE)
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35089 >
2025-05-28 17:03:30 +00:00
Mary Guillemard
a0826ad205
panfrost: Add cs_* helpers for v11 CSF instructions
...
This adds all bit operations and an helper to indirectly wait on
scorebards.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35089 >
2025-05-28 17:03:30 +00:00
Mary Guillemard
d0c76cd2ac
panvk: Depends on Panthor scoreboard information
...
Instead of hardcoding scoreboard count and mask, we now derive those
informations from Panthor CSIF properties.
We still limit iters to 5 as we currently don't support more.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35089 >
2025-05-28 17:03:30 +00:00
Mary Guillemard
80b06fb82f
panfrost: Allow up to 16 for scoreboards on CSF instructions on v11+
...
The max value on v11+ is 16.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35089 >
2025-05-28 17:03:30 +00:00
Alyssa Rosenzweig
d696b19dd0
nir/lower_int64: add bitfield_reverse lowering
...
now that we can represent 64-bit bitfield_reverse in NIR, we need a lowering for
it as well.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35198 >
2025-05-28 16:29:30 +00:00
Alyssa Rosenzweig
c3fb0645d8
nir/lower_alu: compact bitcount lowering
...
while in the area.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35198 >
2025-05-28 16:29:30 +00:00
Alyssa Rosenzweig
759dc70bde
nir: generalize bitfield_reverse bit size
...
No reason we can't reverse other bit sizes, we just need to generalize the
constant folding & bit size lowering.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35198 >
2025-05-28 16:29:30 +00:00
Christian Gmeiner
2e6c565b77
vc4: Use nir_shader_intrinsics_pass(..) for vc4_nir_lower_blend(..)
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35205 >
2025-05-28 16:12:22 +00:00
Christian Gmeiner
f2b03202e7
vc4: Use nir_shader_intrinsics_pass(..) for vc4_nir_lower_io(..)
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35205 >
2025-05-28 16:12:22 +00:00
Alyssa Rosenzweig
d7c0355725
asahi: advertise ASTC HDR formats
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35132 >
2025-05-28 14:49:06 +00:00
Erik Faye-Lund
be74e9ffaf
pan/lib: wire up ASTC HDR formats
...
This exposes GL_KHR_texture_compression_astc_hdr, which makes a few
piglit tests go from fail to pass.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35132 >
2025-05-28 14:49:06 +00:00
Erik Faye-Lund
d9dbf5cebf
panfrost: set decode_hdr when needed
...
When using the HDR-formats, we need to set decode_hdr to actually get
HDR values.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35132 >
2025-05-28 14:49:06 +00:00
Erik Faye-Lund
33ad5d447e
panfrost: correct texfeat-bit for ASTC LDR
...
These formats don't depend on the ASTC HDR texfeat, they depend on the
ASTC HDR texfeat. The ASTC HDR texfeat simply adds support for more
endpoint encodings to these formats.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35132 >
2025-05-28 14:49:06 +00:00
Erik Faye-Lund
95d7df1ce3
gallium/st: enable KHR_texture_compression_astc_hdr when supported
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35132 >
2025-05-28 14:49:06 +00:00
Erik Faye-Lund
fd42cdfc01
mesa/main: support astc_hdr formats
...
This gets a bit annoying because Vulkan has separate format enums for
the LDR and HDR ASTC formats, whereas OpenGL uses the same format enums,
but allows additional color-endpoint encodings when HDR is supported.
Either of these behaviors makes sense on their own, but since we share
pipe_format definitions between the APIs, we need to resolve this. This
patch does that by checking if the HDR extension is supported, and
always using the HDR formats. This works, because the HDR formats are
supersets of the LDR formats in terms of features.
Not all of the LDR formats have HDR variants, either because they're
sRGB or 3D, which either is nonsensical or just not exposed by the
ASTC HDR extensions. So we only need to map a subset of the ASTC formats
with this HDR-aware mapping.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35132 >
2025-05-28 14:49:06 +00:00
Erik Faye-Lund
6cd898dbc2
util/format: add util_format_is_astc_hdr()-helper
...
This will be used later in the series.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35132 >
2025-05-28 14:49:06 +00:00
Erik Faye-Lund
ccc7833f16
util/format: add ASTC HDR formats
...
These are just the float variations of the normal LDR formats. Not all
LDR formats have an HDR variant.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35132 >
2025-05-28 14:49:06 +00:00
Daniel Stone
ae8704fbdb
ci/panfrost: Demote T720 to nightly runs only
...
We only have two of these boards, and can't get more as they're EOL.
Demote them to nightly until we can source different boards with this
SoC, and more of them.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35200 >
2025-05-28 12:48:45 +00:00
Mary Guillemard
8965e60118
panfrost: Fix varying descriptors on v12+
...
Since introduction of support for more than 16 varyings, support for
v12+ has been broken on certain apps.
This manifest with a black screen on all GL Core 1.x apps like glxgears
or xonotic in legacy mode.
The issue is a wrong buffer index being used on v12 for the varying
descriptors.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Fixes: cd2ca0ac22 ("panfrost: Enable more than 16 varyings on v9+")
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35201 >
2025-05-28 12:16:35 +00:00
Marek Olšák
2b716972c6
radeonsi: enable 16-bit ALU, LDS, uniforms on gfx8
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Tested-by: Dieter Nützel Dieter@nuetzel-hh.de on gfx8 (Polaris 20)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34959 >
2025-05-28 11:01:12 +00:00
Marek Olšák
45cbd60c3b
glsl,gallium: add an option not to lower mediump tex & image dst
...
ACO doesn't support it for gfx8.
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Tested-by: Dieter Nützel Dieter@nuetzel-hh.de on gfx8 (Polaris 20)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34959 >
2025-05-28 11:01:12 +00:00
Marek Olšák
bd5d623674
glsl: fix sampler and image type checking in lower_precision
...
Use the param type, not the referenced variable. The referenced variable
can be a structure, which wouldn't be recognized as a sampler or image.
Fixes: 733bee57eb - glsl: lower samplers with highp coordinates correctly
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Tested-by: Dieter Nützel Dieter@nuetzel-hh.de on gfx8 (Polaris 20)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34959 >
2025-05-28 11:01:12 +00:00
Marek Olšák
0dc5d649ea
winsys/amdgpu: fall back to a normal priority without root in the winsys
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34983 >
2025-05-28 10:23:15 +00:00
Marek Olšák
2ef6aa5934
winsys/amdgpu: pass PIPE_CONTEXT_* flags to ctx_create
...
instead of using our own flags; also REALTIME_PRIORITY is never used,
so the relevant code is removed
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34983 >
2025-05-28 10:23:15 +00:00
Marek Olšák
7f441beaf6
winsys/amdgpu: set the priority for gfx user queues
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34983 >
2025-05-28 10:23:15 +00:00
Marek Olšák
6785e42511
winsys/amdgpu: add a high priority gfx queue
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34983 >
2025-05-28 10:23:15 +00:00
Marek Olšák
59e93b02e0
winsys/amdgpu: add enums for queues using the fence rings
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34983 >
2025-05-28 10:23:15 +00:00
Marek Olšák
4bf2a28334
winsys/amdgpu: fix running out of 32bit address space with high FPS
...
Reproduced with gfxbench5 gl_tess_off.
Fixes: 4d486888ee - winsys/amdgpu: rewrite BO fence tracking by adding a new queue fence system
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34983 >
2025-05-28 10:23:14 +00:00
Marek Olšák
d9e681ee3f
winsys/amdgpu: use alt_fence for all video queues
...
It's already used by VCN queues.
This reduces the size of sequence numbers stored per BO.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34983 >
2025-05-28 10:23:14 +00:00
Marek Olšák
f75e54453f
winsys/amdgpu: print an error when we fail to allocate VA
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34983 >
2025-05-28 10:23:14 +00:00
Samuel Pitoiset
8596150ae8
aco: implement bitfield_reverse for types other than 32-bits
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34583 >
2025-05-28 09:52:12 +00:00
Daniel Schürmann
5b4d284493
aco/isel: use vector-aligned operands for image_bvh64_intersect_ray
...
Totals from 93 (0.12% of 79377) affected shaders: (Navi48)
MaxWaves: 1376 -> 1368 (-0.58%)
Instrs: 3583500 -> 3581861 (-0.05%); split: -0.05%, +0.00%
CodeSize: 18792300 -> 18785296 (-0.04%); split: -0.04%, +0.00%
VGPRs: 8652 -> 8592 (-0.69%); split: -1.25%, +0.55%
Latency: 20861347 -> 20834407 (-0.13%); split: -0.17%, +0.04%
InvThroughput: 4032604 -> 4028020 (-0.11%); split: -0.14%, +0.03%
VClause: 90507 -> 90525 (+0.02%); split: -0.01%, +0.03%
Copies: 279429 -> 277839 (-0.57%); split: -0.58%, +0.01%
Branches: 100260 -> 100251 (-0.01%)
PreVGPRs: 8949 -> 8771 (-1.99%)
VALU: 1955635 -> 1954053 (-0.08%); split: -0.08%, +0.00%
SALU: 477347 -> 477329 (-0.00%); split: -0.01%, +0.01%
VOPD: 69 -> 61 (-11.59%)
Totals from 93 (0.12% of 79377) affected shaders: (Navi31)
MaxWaves: 1376 -> 1374 (-0.15%)
Instrs: 3442606 -> 3440344 (-0.07%); split: -0.07%, +0.00%
CodeSize: 17801008 -> 17790476 (-0.06%); split: -0.07%, +0.01%
VGPRs: 8652 -> 8556 (-1.11%); split: -1.25%, +0.14%
Latency: 20590943 -> 20542279 (-0.24%); split: -0.27%, +0.03%
InvThroughput: 3978133 -> 3969497 (-0.22%); split: -0.25%, +0.03%
VClause: 91784 -> 91769 (-0.02%); split: -0.05%, +0.03%
Copies: 277177 -> 275263 (-0.69%); split: -0.70%, +0.01%
Branches: 100098 -> 100092 (-0.01%); split: -0.02%, +0.01%
PreVGPRs: 9021 -> 8843 (-1.97%)
VALU: 2001794 -> 1999893 (-0.09%); split: -0.10%, +0.00%
SALU: 419504 -> 419559 (+0.01%); split: -0.01%, +0.02%
VOPD: 77 -> 64 (-16.88%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34359 >
2025-05-28 09:24:17 +00:00
Rhys Perry
c50f9541e4
aco/tests: Add tests for vector-aligned operands
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34359 >
2025-05-28 09:24:17 +00:00
Daniel Schürmann
b5382faa9c
aco/validate: validate register assignment of vector-aligned operands
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34359 >
2025-05-28 09:24:17 +00:00
Daniel Schürmann
9091c3bf5b
aco/ra: add affinities for MIMG vector-aligned operands
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34359 >
2025-05-28 09:24:17 +00:00
Daniel Schürmann
fb689f133e
aco/ra: handle register assignment of vector-aligned operands
...
Vector-aligned operands are handled by temporarily allocating
a vector-SSA value for the duration of the instruction.
On completion of the register assignment, the individual
operands are assigned to the reserved register space and,
if necessary, parallelcopies are emitted.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34359 >
2025-05-28 09:24:17 +00:00
Daniel Schürmann
92b1154397
aco/ra: Always rename copy-kill operands, even if the temporary doesn't match
...
This makes it independent of whether the operand already got renamed or not.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34359 >
2025-05-28 09:24:17 +00:00
Daniel Schürmann
4fad3514a9
aco/ra: only change registers of already handled operands in update_renames()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34359 >
2025-05-28 09:24:17 +00:00
Daniel Schürmann
51a2e1eb94
aco/ra: don't use kill-flags as indicator in get_reg_create_vector()
...
We are about to re-use this function for vector-aligned operands.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34359 >
2025-05-28 09:24:17 +00:00
Daniel Schürmann
3d8b355f22
aco/assembler: support vector-aligned operands on MIMG instructions
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34359 >
2025-05-28 09:24:17 +00:00
Daniel Schürmann
8cb1700c74
aco/print_ir: print parenthesis around vector-aligned operands
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34359 >
2025-05-28 09:24:16 +00:00
Daniel Schürmann
6aabcb02a1
aco/print_ir: only print 'lateKill' if requested via print_kill flag
...
Also only print lateKill for actually killed operands.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34359 >
2025-05-28 09:24:16 +00:00
Daniel Schürmann
a9645fdd89
aco: introduce concept of vector-aligned Operands
...
Operand::isVectorAligned indicates that the Operand is part of a vector
consisting of multiple operands. Therefore, it must reside in a register
aligned with the next Operand.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34359 >
2025-05-28 09:24:16 +00:00
Daniel Schürmann
a4fa3935fd
aco/live_var_analysis: set same lateKill flags for same operands
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34359 >
2025-05-28 09:24:16 +00:00
Daniel Schürmann
ee0ee282b9
aco: simplify Operand() constructor
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34359 >
2025-05-28 09:24:16 +00:00
Mary Guillemard
19531a0162
pan/csf: Fix typo in cs_trace_run_idvs2
...
This should have been a multiply not an add.
Fix an assertion when running in tracing mode on panvk.
Fixes: 79a1d98e1e ("pan/csf: make cs_builder.h usable from c++")
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35176 >
2025-05-28 10:12:19 +02:00
Samuel Pitoiset
2ebfa64be7
radv: add radv_disable_hiz_his_gfx12 and enable for Mafia Definitive Edition
...
This is a workaround for random GPU hangs with HiZ/HiS on GFX12
because the correct fix is complex and it will take time to be
implemented properly.
Mafia Definitive Edition is the first known game affected by this.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13222
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35182 >
2025-05-28 07:20:26 +00:00
Marek Olšák
35c76bc7f7
nir/tcs_info: use range analysis to determine the range of tess levels
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35195 >
2025-05-28 06:46:56 +00:00
Marek Olšák
24c3f30e4a
nir/tcs_info: gather which patch outputs are only read/written by invoc 0
...
Tested thoroughly by a shader test.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35195 >
2025-05-28 06:46:56 +00:00
Marek Olšák
a3632d7d88
nir/tcs_info: gather for all patch outputs whether they're written by all invocs
...
This substantially rewrites the pass. It also makes it easier to read.
Tested thoroughly by a shader test.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35195 >
2025-05-28 06:46:56 +00:00
Faith Ekstrand
6b265d9d7d
nvk: Use NAK by default on Kepler
...
At this point it's way more correct than codegen.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34975 >
2025-05-28 01:47:19 +00:00
Faith Ekstrand
a37c50e985
nak/sm20: Encode OpSuLdGa and OpSuStGa
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34975 >
2025-05-28 01:47:19 +00:00
Lorenzo Rossi
2a5ac439f5
nak/sm20: Encode imadsp
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34975 >
2025-05-28 01:47:19 +00:00
Faith Ekstrand
2c0957d086
nak/sm20: Encode surface address ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34975 >
2025-05-28 01:47:19 +00:00
Lorenzo Rossi
4d86f95cff
nak/sm32: Encode surface address ops
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34975 >
2025-05-28 01:47:19 +00:00
Lorenzo Rossi
2c0d0bad01
nak: Remove unused intrinsic image_load_raw_nv
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34975 >
2025-05-28 01:47:19 +00:00
Lorenzo Rossi
ac3fd5768b
nak: Add surface address ops
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34975 >
2025-05-28 01:47:19 +00:00
Faith Ekstrand
82d789d22a
nvk: Lower images to addresses on Kepler
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34975 >
2025-05-28 01:47:19 +00:00
Lorenzo Rossi
bb3f4b86bf
nvk: Use nil_su_info for image descriptors on Kepler
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34975 >
2025-05-28 01:47:19 +00:00
Lorenzo Rossi
e5d4c4934d
nak: Add an image address lowering pass
...
On Kepler, we don't have real surface opcodes. Instead, we have a bunch
of helper ops which make image calculations in the shader reasonably
efficient and we have to lower to that and an address-based load/store.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34975 >
2025-05-28 01:47:19 +00:00
Faith Ekstrand
0b06feee92
nouveau: Move bitview to a common rust util folder
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34975 >
2025-05-28 01:47:19 +00:00
Lorenzo Rossi
5fbcdd6e32
nir,nak: Add NV-specific image intrinsics
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34975 >
2025-05-28 01:47:19 +00:00
Lorenzo Rossi
a27a711c3a
nil: Add helpers for filling out Fermi/Kepler surface info
...
Kepler needs different descriptors for Image storage, these descriptors
are not directly used by the hardware but by lowering instructions
(added in later commits)
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34975 >
2025-05-28 01:47:19 +00:00
Faith Ekstrand
e388f25a2a
nil: Align linear image strides to the image alignment
...
This is a function no-op right. In the case where we don't have an
explicit_row_stride_B, we use an alignment of 128B which is what we were
aligning the row stride to before.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34975 >
2025-05-28 01:47:18 +00:00
Faith Ekstrand
7a577d2e3a
nvk: Drop the union from nvk_buffer_view
...
The space saved is tiny and not having the union at all makes me way
more comfortable about the modifications we're about to do.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34975 >
2025-05-28 01:47:18 +00:00
Adam Jackson
4b1c824b67
vtn/opencl: Handle OpenCLstd_F{Min,Max}_common
...
Normal fmin doesn't make any promises about NaN, common additionally
doesn't make any promises about infinities. Would be nice to hook that
up to codegen but lowering them to normal works for now.
Cc: mesa-stable
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34941 >
2025-05-28 01:08:20 +00:00
Adam Jackson
92f07860a4
vtn: (Silently) handle FunctionParameterAttributeNo{Capture,Write}
...
Silences a few thousand warnings in sycl/test-e2e
Cc: mesa-stable
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34941 >
2025-05-28 01:08:20 +00:00
Adam Jackson
fd7589d775
vtn: Handle SPV_KHR_uniform_group_instructions
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34941 >
2025-05-28 01:08:20 +00:00
Caleb Callaway
52db0e1480
intel/compiler: fix SHA generation for shader replace
...
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35140 >
2025-05-27 22:57:19 +00:00
Faith Ekstrand
8ffe0098be
nvk: Reserve a sampler for TXF on Kepler
...
The SPIR-V spec says texelFetch and friends don't take a sampler.
However, on Kepler and earlier hardware, the sampler is read even for
tld. In particular, the hardware reads the sRGB conversion bit in the
sampler and this can be in an inconsistent state if we haven't
initialized samplers properly. On Kepler, we should just reserve a
sampler at device creation time and always use that for tld.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35190 >
2025-05-27 22:23:37 +00:00
Faith Ekstrand
bfdc95b109
nak: Scalarize non-constant ald/ast on Kepler
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35190 >
2025-05-27 22:23:36 +00:00
Faith Ekstrand
f10c42fcc1
bitview: Implement SetFieldU64 for all BitViewMutable
...
There's no reason why we need to keep overriding this. There's also
probably not a good reason why this trait exists at all but that's a
problem for another day.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35190 >
2025-05-27 22:23:36 +00:00
Eric Engestrom
6ec69e5a07
gallium: drop dynamic pipe-loader leftovers
...
Fixes: 30c5c7d811 ("gallium: remove dynamic pipe-loader")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35185 >
2025-05-27 21:44:31 +00:00
Karol Herbst
0a9b871b9e
rusticl: support cl_khr_kernel_clock
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35179 >
2025-05-27 19:57:28 +00:00
Karol Herbst
8144c7ee86
rusticl: generate bindings for llvm version macros
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35179 >
2025-05-27 19:57:28 +00:00
Karol Herbst
f5a9a80f29
clc: wire up cl_khr_kernel_clock
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35179 >
2025-05-27 19:57:28 +00:00
Samuel Pitoiset
63758bc093
radv: fix capture/replay with sparse images and descriptor buffer
...
The sparse image VA needs to be returned to the application for replay.
Reported by Baldur.
VKCTS has coverage but it doesn't verify this yet.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35162 >
2025-05-27 19:30:18 +00:00
Eric Engestrom
a628190e0d
ci/vkd3d: collapse section by default
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35180 >
2025-05-27 18:52:50 +00:00
Eric Engestrom
f12f2bcae1
ci: uprev vkd3d
...
A new group of descriptor aliasing tests was added; let's run these in CI :)
7e829e8836...041cfa7558
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35180 >
2025-05-27 18:52:50 +00:00
Erik Faye-Lund
738b95a35e
panfrost: add max_4x_msaa quirk
...
Turns out, some Midgard GPUs don't support more than 4x MSAA. Add a
quirk for those GPUs, so don't expose it when it doesn't work.
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35184 >
2025-05-27 17:41:47 +00:00
Erik Faye-Lund
3a78d9213b
panfrost: pass quirks through __VA_ARGS__
...
We can't easily pass multiple initializers here, because a comma in the
initializer list would be treated as a preprocessor argument separator
and not a separator in the initializer lst.
We could also have fixed this with some nested macro ugliness, but let's
instead do what nir_builder does for intrinsic indices and use __VA_ARGS__
to keep this neat.
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35184 >
2025-05-27 17:41:47 +00:00
Erik Faye-Lund
e77e4d5c17
panfrost: change tie-breaking rule for 16x MSAA
...
When using 16x MSAA, we have two sample-positions on the negative
boundary of the unit-square covering the pixel. This causes problems
when using the default tie-breaking rule, where we miss some
sample-positions when rasterizing primitives covering the entire
viewport.
This works fine on Bifrost and later, but this setting is ignored on
those GPUs, and they assume the default (e.g MINUS_180_OUT_0_IN).
Because we'd prefer for rasterization to match between Midgard and
Bifrost when we can, we only apply this when we have 16x MSAA.
As an added bonus, this behavior matches what the DDK does.
Fixes these tests when 16x MSAA is enabled:
- dEQP-GLES31.functional.texture.multisample.samples_16.use_texture_*
- dEQP-GLES3.functional.multisample.fbo_max_samples.proportionality_alpha_to_coverage
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35184 >
2025-05-27 17:41:47 +00:00
Erik Faye-Lund
130bbf20c7
panfrost: properly compute tile-buffer requirements
...
This should be helful when we want to enable higher sample counts.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35184 >
2025-05-27 17:41:47 +00:00
Erik Faye-Lund
64becaf142
panfrost: re-align table
...
The formatting here has grown some warts over time, let's clean it up a
bit.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35184 >
2025-05-27 17:41:47 +00:00
Erik Faye-Lund
cf28edd8bd
panfrost: do not calculate max-msaa on v4
...
The V4 GPUs doesn't have the dynamic allocation logic that V5 and later
has. There's nothing to calculate here; the GPU either supports 8x MSAA,
or 4x MSAA.
Since 8x MSAA is the architectural max, let's have this function report
that. We deal with the 4x limit separately as a quirk, because this
applies to some V5 GPUs as well.
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35184 >
2025-05-27 17:41:47 +00:00
Erik Faye-Lund
483ce5a1dc
panfrost: do not try to use 4x4 tiles on v4 gpus
...
Mali V4 GPUs only ever use 16x16 tiles, so we need to set the minimum
tile-size to match.
Fixes: 329568b5eb ("panfrost: add color-attachment and msaa helpers")
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35184 >
2025-05-27 17:41:47 +00:00
Erik Faye-Lund
7de12da5a2
panfrost: v4 does not support 16x msaa
...
This value isn't valid on V4, so let's make sure we don't try to use it.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35184 >
2025-05-27 17:41:47 +00:00
Erik Faye-Lund
439b88c619
mesa/main: remove non-existing function prototype
...
This function was removed about a decade ago, let's get rid of the
prototype as well!
Fixes: a347a0f53f ("mesa: Completely remove QuerySamplesForFormat from driver func table")
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35184 >
2025-05-27 17:41:47 +00:00
Mike Blumenkrantz
7ffc774f35
aux/trace: handle sampler_view_destroy
...
it's still legal for frontends to do this, just frowned upon
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35183 >
2025-05-27 17:17:49 +00:00
Matt Turner
278d894146
meson: add wrap for libdrm
...
This allows building Mesa with the Android NDK, which doesn't provide
libdrm.
We will generate an `Android.bp` file using the `ninja-to-soong` tool
(https://github.com/rjodinchr/ninja-to-soong ), and to do this we run
Mesa's standard meson build system to generate the ninja commands that
we then translate to soong.
That meson invocation is done using the Android NDK, which doesn't
provide libdrm, so until we find an alternative solution[*] we provide a
wrap file that builds libdrm as part of the Mesa build (but does not
install it--we still use the Android-provided libdrm at runtime)
Co-authored-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35058 >
2025-05-27 16:07:29 +00:00
Adam Jackson
2249ba9fa3
rusticl: Enable cl_intel_subgroups if you ask nicely
...
Definitely not fully working yet but works well when it does.
Acked-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31772 >
2025-05-27 15:20:17 +00:00
Adam Jackson
96e99d47e7
rusticl: Add RUSTICL_FEATURES=intel
...
We're going to hide some of the cl_intel_* extensions behind that until
they start stabilizing.
Acked-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31772 >
2025-05-27 15:20:17 +00:00
Alyssa Rosenzweig
f07ccd9142
hk: gate custom border colour emulation on feature
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35181 >
2025-05-27 15:00:13 +00:00
Yogesh Mohan Marimuthu
1af419deed
ac: for userq do not set info->has_fw_based_shadowing
...
register shadow enabling for user queue is different code flow than
kernel queue. In case of kernel queue preamble ib is initialized which
is not requried for kernel queue.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34803 >
2025-05-27 14:25:50 +00:00
Yogesh Mohan Marimuthu
0298ee5719
winsys/amdgpu: apu fwm packet supports only 4 max fences
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34803 >
2025-05-27 14:25:50 +00:00
Yogesh Mohan Marimuthu
137907945f
ac: add AMD_USERQ env var to enable user queue
...
user queue is enabled only if AMD_USERQ env var is set and Kernel
supports user queue.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34803 >
2025-05-27 14:25:50 +00:00
Yogesh Mohan Marimuthu
97c48c5aa7
ac: fix getting mcbp info for userq
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34803 >
2025-05-27 14:25:50 +00:00
Alyssa Rosenzweig
794b6a14bb
asahi: clang-format
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35169 >
2025-05-27 13:23:12 +00:00
Alyssa Rosenzweig
ab9da6bc49
hk: gate min LOD emulation on the feature
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35169 >
2025-05-27 13:23:12 +00:00
Alyssa Rosenzweig
3065815c7c
hk: make hk_lower_nir static
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35169 >
2025-05-27 13:23:12 +00:00
Alyssa Rosenzweig
f47de306b8
vulkan: pass enabled features to drivers
...
for pipelines, we know enabled features. for classic shader objects, we do not.
therefore, we want to plumb this through explicitly for drivers using common
pipelines, rather than making drivers guess whether they can use the device
features.
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/35169 >
2025-05-27 13:23:12 +00:00
Erik Faye-Lund
2ec3b83f99
panvk: expose EXT_texel_buffer_alignment support
...
This was mostly wired up, but we currently require an alignment of 64
for uniform texel buffers, because we're currently using
plane-descriptors for this.
We could lift that limitation by switching to buffer descriptors and use
LD_CVT for the format-conversion, but that's a bigger change.
Let's just fix up the aligntment and enable the extension for now.
Reviewed-by: Olivia Lee <benjamin.lee@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34826 >
2025-05-27 11:31:55 +02:00
Samuel Pitoiset
69467f26c9
radv/ci: remove RADV_PERFTEST=video_{decode,encode} when it's the default
...
It's automatically enabled when recent kernels.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34879 >
2025-05-27 08:47:50 +00:00
Samuel Pitoiset
dd9682ab09
amd/ci: hold back navi21/navi31 to kernel 6.6
...
There is a regression in AMDGPU that prevents using 6.10+ on
navi21/navi31 due to a memory explosion.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34879 >
2025-05-27 08:47:50 +00:00
Eric Engestrom
68323b195a
amd/ci: uprev amdgpu.ko jobs to kernel 6.14.8
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34879 >
2025-05-27 08:47:50 +00:00
Karol Herbst
30c5c7d811
gallium: remove dynamic pipe-loader
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/833 >
2025-05-27 07:53:20 +00:00
Karol Herbst
cd78417514
pipe-loader: remove libpipe_loader_dynamic
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/833 >
2025-05-27 07:53:20 +00:00
Karol Herbst
0e322c6092
glx,egl: drop libpipe_loader_dynamic dependency
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/833 >
2025-05-27 07:53:20 +00:00
Karol Herbst
2edd0c4bbd
glx,egl: use driGetDriInfoXML
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/833 >
2025-05-27 07:53:20 +00:00
Karol Herbst
fca4c5adc4
frontend/dri: add wrapper around pipe_loader_get_driinfo_xml
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/833 >
2025-05-27 07:53:20 +00:00
Yiwei Zhang
c093a4e18b
venus: properly handle implicit fence from the compositor
...
Vulkan is supposed to operate in explicit synchronization mode. However,
for legacy compositors that only support implicit fencing, we have to
extract the compositor implicit fence (release fence) and resolve it
properly. Since we used to rely on renderer side drivers being able to
handle implicit in-fence, here we only opt-in the new behavior for those
known to have issues with that.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34516 >
2025-05-27 02:40:44 +00:00
Yiwei Zhang
5535184539
venus: track prime blit dst buffer memory in the wsi image
...
This is to prepare for handling implicit fence from the compositor.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34516 >
2025-05-27 02:40:44 +00:00
Faith Ekstrand
fef64b7e7d
nak/sm20: Encode OpAL2P
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35172 >
2025-05-26 22:03:06 -04:00
Faith Ekstrand
9fe2a21e93
nvk: Allocate the correct VAB size on Kepler
...
We were allocating 128 KiB but claimed 256 KiB. Allocate the right size
and assert that the size matches.
Fixes: 970bd70584 ("nvk: allocate VAB memory area")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35172 >
2025-05-26 22:02:33 -04:00
Faith Ekstrand
4bab33db20
nak/sm20: Fix a comple misplaced bits
...
Fixes: 078ffb860b ("nak/sm20: Add initial SM20 encoding")
Fixes: a3330f1d46 ("nak/sm20: Add float ops")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35170 >
2025-05-26 23:17:02 +00:00
Faith Ekstrand
00eaca4c8f
nak/sm20: Fix the encoding of fset
...
We weren't setting the accum src (which should be pT for now) and we put
ftz in the wrong place. Bit 5 is actually .bf which we want to set all
the time in order to get a float output. (Otherwise it gives an integer
output.)
Fixes: a3330f1d46 ("nak/sm20: Add float ops")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35170 >
2025-05-26 23:17:02 +00:00
Derek Foreman
6671251100
egl/dri/wayland: Add some arbitrary perfetto trace points
...
These are potentially slow functions, and would be interesting to see in
perfetto traces.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32757 >
2025-05-26 16:13:25 -05:00
Derek Foreman
04acb0eed8
egl/dri/wayland: Use presentation feedback to track frame delivery
...
Use the new shared presentation feedback code in the loader to implement
perfetto frame delivery tracing similar to the wayland vulkan wsi code.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32757 >
2025-05-26 16:13:25 -05:00
Derek Foreman
39fb510849
egl/dri/wayland: Refactor buffer wait out of get_back_bo()
...
This is a potentially slow process, so let's break it out into its own
function so we can have more meaningful profiling data from perfetto later.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32757 >
2025-05-26 16:13:25 -05:00
Derek Foreman
ebfd7df1b9
egl/dri/wayland: Refactor throttle code
...
The throttling code is potentially long running. Move it to a separate
function so we can have better perfetto tracing later.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32757 >
2025-05-26 16:13:25 -05:00
Derek Foreman
2f8d17ad35
egl/dri/wayland: Use loader_wayland_surface abstraction
...
Use the new wl_surface wrapper
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32757 >
2025-05-26 16:13:25 -05:00
Derek Foreman
54c4a41e2d
egl/dri/wayland: Use loader_wayland_buffer abstraction
...
Use the new wl_buffer wrapper.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32757 >
2025-05-26 16:13:25 -05:00
Derek Foreman
b3e3f0fc2e
loader/wayland: Move acquisition time tracking into perfetto flows
...
We only use the acquisition time for calculating latency for perfetto
tracks later, and the acquisition time should ideally be the start of the
perfetto flow.
This has been more or less true with very small error margin for vk wsi,
but the wayland EGL buffer handling is a lot more complicated. Moving the
time check into the flow start will make re-using this code for EGL much
simpler.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32757 >
2025-05-26 16:13:25 -05:00
Derek Foreman
336cbc499f
wsi/wayland: Move presentation tracing code into loader
...
Push the presentation feedback code into the common code in the loader,
so we're one step closer to using the perfetto instrumentation here in
the EGL code.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32757 >
2025-05-26 16:13:25 -05:00
Derek Foreman
3521abe0d1
wsi/wayland: Early return from tracing function
...
We can bail on all of this if tracing isn't enabled.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32757 >
2025-05-26 16:13:25 -05:00
Derek Foreman
94b45c6c8a
wsi/wayland: Refactor some surface management code into loader
...
Share some wayland surface setup code in the loader so we can use it in
both VK and (in an upcoming commit) EGL.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32757 >
2025-05-26 16:13:25 -05:00
Derek Foreman
aefd3d835e
wsi/wayland: Move buffer name string into common code
...
Push this into the loader bits so it will be available to egl when we
add profiling later.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32757 >
2025-05-26 16:13:25 -05:00
Derek Foreman
6946758682
wsi/wayland: Move perfetto flow_ids into loader_wayland_buffer
...
Pull some more common stuff into the new abstraction.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32757 >
2025-05-26 16:13:25 -05:00
Derek Foreman
c06624d797
wsi/wayland: Refactor some buffer management code into loader
...
For now just pull the tiny bit that looks up the wayland buffer id for
profiling. The end goal is to promote more code sharing between vk and egl
and improving wayland egl's perfetto profiling.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32757 >
2025-05-26 16:13:25 -05:00
Derek Foreman
81487d8663
wsi/wayland: Count outstanding feedbacks
...
Count the outstanding feedback requests instead of relying on list
length calculations.
When moving presentation feedback bits into common code shortly, the list
will no longer be exposed.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32757 >
2025-05-26 16:13:25 -05:00
Derek Foreman
08ed1390e2
wsi/wayland: Add a bool to track the presentation id fallback path
...
Instead of testing the protocol object pointer, track this with a bool.
We're going to wrap the protocol object in some common code later, so
testing it directly will become inconvenient.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32757 >
2025-05-26 16:13:25 -05:00
Derek Foreman
d8c8a7fb6e
loader: Move the wayland protocol build into loader
...
We can hang this here instead of off wayland-drm's build.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32757 >
2025-05-26 16:13:19 -05:00
Valentine Burley
d09594cc40
ci/lava: Move mesa build job dependency to variant definitions
...
This will make adding ASan definitions easier.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34980 >
2025-05-26 17:25:40 +00:00
Valentine Burley
3d56b98061
ci/lava: Rename LAVA_S3_ARTIFACT_NAME
...
Now that we're no longer using multiple artifacts, we can drop the
LAVA_ prefix from the S3_ARTIFACT_NAME variable name for simplicity.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34980 >
2025-05-26 17:25:40 +00:00
Valentine Burley
8114d72606
ci: Delete python-artifacts job
...
LAVA was the last user of this job. Now that the lava-trigger container
includes all the necessary files, the python-artifacts job is no longer
needed and can be removed.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34980 >
2025-05-26 17:25:40 +00:00
Valentine Burley
080894325a
ci: Remove debian/x86_64_pyutils container
...
Delete the debian/x86_64_pyutils container, since the LAVA jobs no longer
use it.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34980 >
2025-05-26 17:25:40 +00:00
Valentine Burley
b85b84fde6
ci/lava: Drop LAVA_DISTRIBUTION_TAG
...
The alpine/x86_64_lava-trigger image was set up in a way that avoids
conflicts with MESA_IMAGE_PATH and FDO_DISTRIBUTION_TAG.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34980 >
2025-05-26 17:25:40 +00:00
Valentine Burley
60c531b7af
ci/baremetal: Set LAVA_DISTRIBUTION_TAG directly
...
This will make the following commit possible.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34980 >
2025-05-26 17:25:40 +00:00
Valentine Burley
f6dce6dee1
ci: Add a minimal Alpine container for running LAVA jobs
...
Compared to the existing Debian-based x86_64_pyutils container, this
Alpine-based variant reduces the image size by approximately 83%.
Include all the necessary python artifacts, including lava_job_submitter
in the container to avoid having to download them at the start of each
test job.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34980 >
2025-05-26 17:25:40 +00:00
Valentine Burley
f83e830dbc
bin/ci: Split out LAVA-specific python requirements
...
Move LAVA-related Python packages into a separate requirements file to
simplify installing only the necessary dependencies.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34980 >
2025-05-26 17:25:40 +00:00
Georg Lehmann
96c0e600e3
docs/gallium: remove some nine mentions
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35147 >
2025-05-26 17:01:04 +00:00
Georg Lehmann
3a42e43e01
gallium: remove tgsi_div pipe cap
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35147 >
2025-05-26 17:01:04 +00:00
Georg Lehmann
bfeaf78922
gallium: remove polygon_offset_units_unscaled pipe cap
...
This was only used by nine.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35147 >
2025-05-26 17:01:03 +00:00
Georg Lehmann
282310e1fe
nvc0: remove unscaled poly offset support
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35147 >
2025-05-26 17:01:03 +00:00
Georg Lehmann
6071367ffa
r600: remove unscaled poly offset support
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35147 >
2025-05-26 17:01:02 +00:00
Georg Lehmann
2f6d1f1f31
zink: remove unscaled poly offset support
...
This was incorrect anyway...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35147 >
2025-05-26 17:01:01 +00:00
Georg Lehmann
806388a3a1
radeonsi: remove unscaled poly offset support
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35147 >
2025-05-26 17:01:01 +00:00
Faith Ekstrand
424ef4b260
nak/sm20: Add encodings for OpLdSharedLock and OpStSCheckUnlock
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35028 >
2025-05-26 16:29:05 +00:00
Lorenzo Rossi
93ddaa90b3
nak/sm32: Add encodings for OpLdSharedLock and OpStSCheckUnlock
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35028 >
2025-05-26 16:29:05 +00:00
Lorenzo Rossi
dccf5ed336
nak: Add OpLdSharedLock and OpStSCheckUnlock
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35028 >
2025-05-26 16:29:05 +00:00
Lorenzo Rossi
47f6c74b71
nir,nak: Add KeplerB shared atomics intrinsics and lowering
...
Kepler cards do not support shared atomic operations directly, but they
have special ldslk and stsul that can implement mutex locks on
addresses. Shared atomics can be lowered into operations in mutexes.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35028 >
2025-05-26 16:29:05 +00:00
Faith Ekstrand
88e449dc85
nak/sm20: Encode OpViLd instead of OpIsberd
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35028 >
2025-05-26 16:29:05 +00:00
Valentine Burley
8b37cfae2e
ci/lava: Forward environmental variables to DUT directly
...
Instead of uploading the environmental variables to S3, append it to the
job definition instead.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35051 >
2025-05-26 15:30:47 +00:00
Valentine Burley
ffe8a2e023
ci/lava: Use init-stage2 and setup-test-env.sh from Mesa install
...
init-stage2.sh and setup-test-env.sh are already downloaded on the DUT as
part of the mesa-build overlay, which downloads the Mesa artifacts from
S3.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35051 >
2025-05-26 15:30:47 +00:00
Valentine Burley
a6e1926a8e
ci: Fix date parsing with BusyBox on Alpine
...
This fixes the timestamps in Alpine containers.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35051 >
2025-05-26 15:30:47 +00:00
Valentine Burley
cc83b3db5f
ci: Forward all environment variables to DUTs and crosvm
...
Instead of the current allowlist in export-gitlab-job-env-for-dut.sh,
filter out unwanted environment variables and forward the rest to
bare-metal and LAVA DUTs, as well as crosvm.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35051 >
2025-05-26 15:30:47 +00:00
Vladly
45e61f1203
freedreno/a3xx-a5xx: re-emit vertex state on VS change
...
On a3xx-a5xx information from vertex program is used to emit state
related to vertex buffer. However this state is not re-emitted if only
vertex program changes which causes rendering artifacts on gnome-shell
where there are 2 draws with same vertex buffer but different shaders
(due to changed vertex attribute destination regid).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35164 >
2025-05-26 15:13:19 +00:00
Lorenzo Rossi
02805fd900
nak/sm20: Fix encoding panic for OpFAdd
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35151 >
2025-05-26 14:41:23 +00:00
Lorenzo Rossi
4942a29314
nvk: Fix local memory loads in Kepler shader header
...
Kepler cards shader header needs the load/store flag enabled even for
local memory usage.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35151 >
2025-05-26 14:41:23 +00:00
Lorenzo Rossi
a427f540e5
nvk: Don't advertise BAR memory for Kepler cards
...
Previously the driver would advertize the memory heap for BAR memory,
but no memory type to use it. This would cause a lot of crashes for
programs using the driver.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35151 >
2025-05-26 14:41:23 +00:00
Alessandro Astone
b519cb80a6
asahi: Avoid AND-ing with string literal in static_assert
...
Some compilers have trouble dealing with this, including the clang prebuilts
used in older AOSP trees.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35137 >
2025-05-26 13:45:50 +00:00
Alessandro Astone
33e0330baf
asahi: Do not require fopencookie on Android
...
The android build lies when setting _GNU_SOURCE, presumably to have access to
other functions that Android's libc actually implements.
However, fopencookie is not one of those.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35137 >
2025-05-26 13:45:50 +00:00
Faith Ekstrand
26ba29f75b
nouveau/mme: Don't install the HW tests
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35163 >
2025-05-26 09:17:09 -04:00
Mike Blumenkrantz
6b2c39e9d8
zink: delete zink_surface_info
...
this is no longer needed
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34822 >
2025-05-26 12:58:03 +00:00
Mike Blumenkrantz
7eae11930f
zink: delete legacy renderpasses and framebuffer objects
...
this is vulkan 1.0 stuff, which is no longer tested and has been superceded
by dynamic rendering
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34822 >
2025-05-26 12:58:03 +00:00
Iago Toral Quiroga
e8c151f09f
v3d: fix incorrect resource unref
...
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35158 >
2025-05-26 12:35:13 +00:00
Konstantin Seurer
36c9b66ee2
radv/bvh: Fix updating empty bvhs
...
valid_child_count_minus_one is 15 for box nodes without child so every
child was considered valid which made the code read invalid data and use
that for addressing.
Fixes: 2d48b2c ("radv: Use subgroup OPs for BVH updates on GFX12")
Closes : #13217
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35119 >
2025-05-26 12:03:21 +00:00
Patrick Lerda
df2c774a83
r600: fix pop-free clipping
...
This update is aimed at fixing pop-free clipping and follows
the advices by Vitaliy Kuzmin: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12440
This functionality requires calculating the value of the following two
registers: PA_CL_GB_HORZ_DISC_ADJ and PA_CL_GB_VERT_DISC_ADJ. These two
registers are available on all the gpus of the r600 family.
This code is built on the backport of radeonsi updates which are relevant
to this very functionality:
57e658d041 "radeonsi: rework how guardband registers are updated to decrease overhead"
146c2b7c28 "radeonsi: adjust clip discard based on line width / point size"
4d74432dd3 "radeonsi: don't discard points and lines"
63680471f9 "radeonsi: remove si_context::{scissor_enabled,clip_halfz}"
This change was tested on rv770, barts and cayman:
deqp-gles[2-3]/functional/clipping/line/wide_line_clip_viewport_center: fail pass
deqp-gles[2-3]/functional/clipping/line/wide_line_clip_viewport_corner: fail pass
deqp-gles[2-3]/functional/clipping/point/wide_point_clip: fail pass
deqp-gles[2-3]/functional/clipping/point/wide_point_clip_viewport_center: fail pass
deqp-gles[2-3]/functional/clipping/point/wide_point_clip_viewport_corner: fail pass
Cc: mesa-stable
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35052 >
2025-05-26 11:41:20 +00:00
Collabora's Gfx CI Team
1730001351
Uprev Piglit to c32e5cc717e846ffa43408174181dc16a31d3df0
...
1767af745e...c32e5cc717
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35148 >
2025-05-26 10:19:29 +00:00
Daniel Stone
086d7cb8fd
ci/bare-metal: Remove remnants of old bare-metal setups
...
With the rest of the Qualcomm devices moving to LAVA, we can remove the
original (!) bare-metal infrastructure, leaving only the Igalia RPi
devices still using bare-metal. When those are converted to b2c, we can
remove the rest of bare-metal.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35148 >
2025-05-26 10:19:29 +00:00
Juan A. Suarez Romero
38caef8fa2
broadcom/ci: update expected test results
...
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35156 >
2025-05-26 11:42:45 +02:00
Job Noorman
7ebcc8d402
ir3: don't free constant_data after assembling
...
When using shader overrides, the assembler will be called a 2nd time
which will try to dereference the freed constant_data. Fix this by not
explicitly freeing constant_data, it's ralloc'd in the context of the
shader variant anyway so will be freed automatically.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35128 >
2025-05-26 07:43:16 +00:00
Lionel Landwerlin
5daf4608e5
anv: workaround Sky: Children of the Light
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12966
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35111 >
2025-05-26 05:52:30 +00:00
Lionel Landwerlin
828173d79a
anv: add support for lower_terminate_to_discard workaround
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35111 >
2025-05-26 05:52:30 +00:00
Lionel Landwerlin
87e57a9bb2
radv: rename radv_lower_terminate_to_discard for wider use
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35111 >
2025-05-26 05:52:30 +00:00
Olivia Lee
65406cf500
panvk/csf: fix provoking vertex mode in partial secondary cmdbufs
...
For partial secondary cmdbufs, we emit FBDs/TDs in the primary cmdbuf
before calling the secondary. In order to set the provoking vertex mode
correctly here, we need to look at the mode set by pipelines bound in
the secondary cmdbuf.
This leaves one edge case: reemitting FBDs/TDs in a secondary cmdbuf
after a flush. If the secondary cmdbuf only contains vk_meta draws,
without ever binding a pipeline, we won't know which provoking vertex
mode to use here. This is actually okay, because in that case the
provoking vertex mode doesn't matter for any of the draws in the
secondary, and the FBDs/TDs will be reemitted on the primary with the
correct mode.
Fixes: 7a9f14d3c2 ("panvk: advertise VK_EXT_provoking_vertex")
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Tested-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34974 >
2025-05-26 04:15:22 +00:00
Olivia Lee
885805560f
panvk/csf: fix case where vk_meta is used before PROVOKING_VERTEX_MODE_LAST
...
In this case, we need to emit the FBDs and TDs for the meta command
before we know what provoking vertex mode the application is going to
use. To handle this, we make a guess for which provoking vertex mode we
need. Then we use cs_maybe to leave space to flip the provoking vertex
bit if the guess was wrong.
This case is still unhandled on JM.
Fixes: 7a9f14d3c2 ("panvk: advertise VK_EXT_provoking_vertex")
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Tested-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34974 >
2025-05-26 04:15:22 +00:00
Olivia Lee
4d99346477
panvk: fix case where vk_meta is used after PROVOKING_VERTEX_MODE_LAST
...
Because we advertise provokingVertexModePerPipeline=false, the provoking
vertex mode must be set the same for all pipelines used in a renderpass.
vk_meta doesn't care about the provoking vertex mode, but the vulkan api
doesn't provide a way to express this, so it always sets
PROVOKING_VERTEX_MODE_FIRST (the vulkan default). This causes an
assertion failure when vk_meta is used in a renderpass where the
application sets PROVOKING_VERTEX_MODE_LAST.
There are a few different cases here, that need different handling. The
simplest is when vk_meta is used after the first application draw, in
which case we can just ignore the state passed by vk_meta and use the
existing state.
Fixes: 7a9f14d3c2 ("panvk: advertise VK_EXT_provoking_vertex")
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Tested-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34974 >
2025-05-26 04:15:22 +00:00
Olivia Lee
32177b99d5
panvk: track whether we are in a vk_meta command
...
This is needed to handle the provoking vertex mode correctly. vk_meta
doesn't care which provoking vertex mode is used, but there is no way to
express this directly in the vulkan api.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Tested-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34974 >
2025-05-26 04:15:21 +00:00
Olivia Lee
d60c688317
panvk/csf: set up shared register dump regions for cs functions
...
The tiler OOM exception handler allocated a region of memory to dump
save/restored registers. For defining more functions in the future, we
allocate a register dump region for each subqueue, that can hold the
largest number of registers needed by any functions executed on that
subqueue.
This does mean that we cannot have function calls more than one deep. If
we ever need nested function calls, we will have to consider a real
stack.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Tested-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34974 >
2025-05-26 04:15:21 +00:00
Olivia Lee
61e7d47270
pan/csf: rename cs_exception_handler to cs_function
...
The register save/restore machinery is useful for more general callable
functions, not just exception handlers.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Tested-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34974 >
2025-05-26 04:15:21 +00:00
Olivia Lee
83bb97796b
pan/csf: add cs_maybe mechanism to retroactively patch cs contents
...
We have an edge case with VK_EXT_provoking_vertex where we may need to
emit FBDs and TDs before we know what provoking vertex mode the
application is using for the renderpass. To handle this, we want to
retroactively patch the provoking vertex bit. This commit introduces an
abstraction to do that.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Tested-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34974 >
2025-05-26 04:15:21 +00:00
Olivia Lee
952703eefe
pan/csf: add cs_builder unit test infrastructure
...
For now, just comparing the raw contents of the output buffer. Possibly
in the future we could hook this up to the disassembly from decode_csf.c
to make it a easier to edit.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Tested-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34974 >
2025-05-26 04:15:21 +00:00
Olivia Lee
79a1d98e1e
pan/csf: make cs_builder.h usable from c++
...
We need to do this in order to test it with gtest. Most of the changes
are just fixing integer truncation warnings.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Tested-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34974 >
2025-05-26 04:15:21 +00:00
Qiang Yu
6f2a1e19da
nir/opt_varyings: fix mesh shader miss promote varying to flat
...
We still allow mesh shader promote constant output to flat, but
mesh shader like geometry shader may store multi vertices'
varying in a single thread. So mesh shader may store different
constant values to different vertices in a single thread, we
should not promote this case to flat.
I'm not using shader_info.mesh.ms_cross_invocation_output_access
because OpenGL does not require IO to have explicit location, so
when nir_shader_gather_info is called in OpenGL GLSL compiler to
compute ms_cross_invocation_output_access, some implicit output
has -1 location which causes ms_cross_invocation_output_access
unset for it.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13134
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35081 >
2025-05-26 02:07:50 +00:00
Timothy Arceri
bf24d56862
util: add workaround for the game Foundation
...
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12882
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35107 >
2025-05-26 00:10:40 +00:00
Timothy Arceri
27945bbd8a
mesa: extend linear_as_nearest work around
...
Here we allow packed stencils to skip the completeness check also.
Will be used in the following patch for a bug in the game Foundation.
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35107 >
2025-05-26 00:10:39 +00:00
Faith Ekstrand
38f8e82dd2
nvk: 64-bit atomics exist on Kepler B+
...
64-bit atomics exist on Kepler B but not Kepler A.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35149 >
2025-05-25 00:39:56 +00:00
Faith Ekstrand
aad4410b51
nak/sm20: Don't allow 64-bit atomics
...
The encoding exists and the disassembler will disassemble it but the
hardware throws an ILLEGAL_INSTRUCTION_ENCODING if we ever try to
execute one. The proprietary driver doesn't expose any 64-bit atomics
features on Kepler A so we assume the hardware just doesn't do them.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35149 >
2025-05-25 00:39:56 +00:00
Faith Ekstrand
4d752ad123
nvk: Disable R64_[US]INT formats when shaderImageInt64Atomics isn't supported
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35149 >
2025-05-25 00:39:56 +00:00
Lorenzo Rossi
00bbb68c08
nak/sm32: Fix various encoding bugs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35059 >
2025-05-25 00:33:47 +02:00
Lorenzo Rossi
150a61ab2f
nak/sm32: Fix shfl.up register alignment
...
For some obscure reason, shfl.up on sm32 requires the lane register to
be 128-bit aligned, this can be fixed with minimal code changes by
aligning the register in legalization.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35059 >
2025-05-24 21:20:49 +02:00
Collabora's Gfx CI Team
3b6d7cdd23
Uprev ANGLE to ec4d8f8e4d3f1a9e64430abd8b6b436253732adf
...
db71e8fa7c...ec4d8f8e4d
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35040 >
2025-05-24 07:35:01 +00:00
Marek Olšák
32c419744e
mesa: remove the old GL name (ID) allocator
...
Split from the commit that enabled the new GL name (ID) allocator.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31515 >
2025-05-24 05:05:03 +00:00
sarbes
40497ca3a9
lima: genxml-ify PP frame registers
...
Most (all?) PP frame registers are now documented in genxml. Most of the magic values written to the registers are gone.
v2:
- moved default values out of genxml
- commented on stencil truncation
v3:
- fixed comment typo
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34210 >
2025-05-24 00:45:27 +00:00
sarbes
eb61a607d8
lima: add 'unorm8' format to genxml
...
This MR allows packing of (normalized) floats into an 8 bit field.
v2:
- removed default attribute
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34210 >
2025-05-24 00:45:27 +00:00
Christian Gmeiner
41f2da1a6e
treewide: Do not use NIR_PASS_V for nir_divergence_analysis(..)
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35131 >
2025-05-23 21:19:25 +00:00
Caleb Callaway
e7454f5318
intel/debug: shader dump filter
...
v2: Fixes filtering for various brw shader dump logic
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35061 >
2025-05-23 19:57:02 +00:00
Caleb Callaway
5a36452158
intel/perf: intel_monitor documentation tweak
...
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35061 >
2025-05-23 19:57:02 +00:00
Mel Henning
59308f92bf
nak: Call nir_lower_undef_to_zero
...
Totals:
CodeSize: 4571686864 -> 4545122720 (-0.58%); split: -0.59%, +0.01%
Number of GPRs: 10994283 -> 10963889 (-0.28%); split: -0.28%, +0.00%
SLM Size: 1893964 -> 1855380 (-2.04%)
Static cycle count: 1114502308 -> 1104322907 (-0.91%); split: -0.93%, +0.02%
Spills to memory: 573363 -> 480689 (-16.16%)
Fills from memory: 573363 -> 480689 (-16.16%)
Spills to reg: 1625502 -> 458804 (-71.77%); split: -71.78%, +0.00%
Fills from reg: 878478 -> 303068 (-65.50%); split: -65.50%, +0.00%
Max warps/SM: 7235748 -> 7245516 (+0.13%)
Totals from 25050 (12.75% of 196502) affected shaders:
CodeSize: 1870779504 -> 1844215360 (-1.42%); split: -1.45%, +0.03%
Number of GPRs: 2578387 -> 2547993 (-1.18%); split: -1.18%, +0.00%
SLM Size: 890840 -> 852256 (-4.33%)
Static cycle count: 439061010 -> 428881609 (-2.32%); split: -2.37%, +0.05%
Spills to memory: 268807 -> 176133 (-34.48%)
Fills from memory: 268807 -> 176133 (-34.48%)
Spills to reg: 1485538 -> 318840 (-78.54%); split: -78.54%, +0.00%
Fills from reg: 753623 -> 178213 (-76.35%); split: -76.35%, +0.00%
Max warps/SM: 556844 -> 566612 (+1.75%)
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35100 >
2025-05-23 19:41:31 +00:00
Mel Henning
9d620fabd2
nak: Fix a perf regression in tex lowering
...
These lines look like they were mistakenly introduced, and cause a
significant perf hit. Eg. this fix improves the Horizon Zero Dawn
in-game benchamark by ~42% on my ampere machine (5992 pts -> 8517 pts).
Fixes: d16e75e55f ("nak: Lower texture inputs for Kepler B")
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35100 >
2025-05-23 19:41:31 +00:00
Eric Engestrom
162f1f5566
delete xa leftovers
...
Fixes: 3be2c47db2 ("delete the XA frontend")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35136 >
2025-05-23 18:54:04 +00:00
Eric Engestrom
e3d8f4c135
lavapipe/ci: skip timing out tests
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35135 >
2025-05-23 18:30:30 +00:00
Eric Engestrom
31a5039b38
lavapipe/ci: document flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35135 >
2025-05-23 18:30:30 +00:00
Eric Engestrom
84bbee22f4
rpi/ci: skip timing out test
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35135 >
2025-05-23 18:30:30 +00:00
Eric Engestrom
30dedadc53
rpi/ci: document flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35135 >
2025-05-23 18:30:30 +00:00
Eric Engestrom
cde3351213
amd/ci: document radv flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35135 >
2025-05-23 18:30:30 +00:00
Eric Engestrom
286204404a
amd/ci: document radeonsi flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35135 >
2025-05-23 18:30:30 +00:00
Eric Engestrom
2beeac9484
r300/ci: document fixed test
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35135 >
2025-05-23 18:30:30 +00:00
Eric Engestrom
5969df364a
radeonsi/ci: document fixed piglit tests
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35135 >
2025-05-23 18:30:30 +00:00
Eric Engestrom
7707e17cd4
radv/ci: document fixed angle test
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35135 >
2025-05-23 18:30:30 +00:00
Mike Blumenkrantz
00aaef9f12
delete gallium-nine
...
farewell, old friend
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Axel Davy <davyaxel0@gmail.com >
Acked-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34887 >
2025-05-23 13:43:37 -04:00
Mike Blumenkrantz
3be2c47db2
delete the XA frontend
...
this is unmaintained and untested
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34823 >
2025-05-23 12:46:23 -04:00
Sil Vilerino
c4b6285c81
mr-label-maker.yml: Add mediafoundation tag and associated directories
...
Reviewed-by: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34843 >
2025-05-23 15:30:04 +00:00
Pohsiang (John) Hsu
d348fd5fb5
mediafoundation: Add mediafoundation frontend
...
Reviewed-by: <yuboxie@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34843 >
2025-05-23 15:30:04 +00:00
Rob Clark
45a2f02876
ci: Disable fd-farm
...
Take the google farm offline in preparation for shipping.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35093 >
2025-05-23 15:27:16 +00:00
Mike Blumenkrantz
42b303c7b0
lavapipe: handle counterOffset in vkCmdDrawIndirectByteCountEXT
...
fixes dEQP-VK.transform_feedback.simple.draw_indirect*counter_offset*
cc: mesa-stable
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35076 >
2025-05-23 14:53:02 +00:00
Mike Blumenkrantz
753d3e71d3
llvmpipe: disable conditional rendering mem for blits
...
u_blitter doesn't support this, and changing u_blitter to support a niche
lavapipe feature seems like overkill
fixes dEQP-VK.conditional_rendering.conditional_ignore.resolve_image*
cc: mesa-stable
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35076 >
2025-05-23 14:53:02 +00:00
José Roberto de Souza
ddca50584c
intel: Return PTL stepping
...
Without this no temporary workaround is applied to PTL as by
default INTEL_STEPPING_RELEASE is returned and it is larger than
any stepping.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35110 >
2025-05-23 13:52:27 +00:00
Mike Blumenkrantz
c78d6bc4c3
ci: disable panfrost-t720-gles2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34054 >
2025-05-23 13:21:29 +00:00
Mike Blumenkrantz
2eb45daa9c
gallium: de-pointerize pipe_surface
...
this allows eliminating surface refcounting and objects
which, relatively speaking, don't serve much purpose
see MR for details
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34054 >
2025-05-23 13:21:29 +00:00
Mike Blumenkrantz
506c8f9b76
mesa: remove gl_renderbuffer::surface
...
this is just a convenience alias
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34054 >
2025-05-23 13:21:29 +00:00
Mike Blumenkrantz
c374bfd864
ci: set -Wno-error=deprecated-declarations
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34054 >
2025-05-23 13:21:29 +00:00
Mike Blumenkrantz
7999b8024c
util/inlines: constify pipe_surface_equal()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34054 >
2025-05-23 13:21:29 +00:00
Mike Blumenkrantz
7154116220
gallium: pipe_surface_release -> pipe_surface_unref
...
this is a more accurate name for the function and will avoid confusion
with the 'release' mechanism of other objects
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34054 >
2025-05-23 13:21:28 +00:00
Lionel Landwerlin
39f55541a3
anv: don't use pipeline layout at descriptor bind
...
An application is allowed to bind an empty descriptor set in a place
where a pipeline layout has no descriptor set layout. For example :
pipeline_layout_A :
set0 : NULL
set1 : descriptor_set_layout_A
vkCmdBindDescriptor :
set0 : descriptor_set_B (with layout bindingCount=0)
set1 : descriptor_set_C (compatible with descriptor_set_layout_A)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13227
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35125 >
2025-05-23 12:56:31 +00:00
Christian Gmeiner
9da5eafa8e
util/perf: Add sysprof integration
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34893 >
2025-05-23 11:27:14 +00:00
Christian Gmeiner
8358d44223
util/perf: Change _mesa_trace begin functions to return void *
...
This enables implementations to pass context data between begin and
end tracing points, which is useful for more complex performance monitoring.
The change is minimal and only affects the function signatures and return
values, with no functional changes to existing behavior.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34893 >
2025-05-23 11:27:14 +00:00
Lionel Landwerlin
2418525b2e
anv: avoid 64bit atomics emulation on Xe2+
...
Xe2+ still requires lowering 64bit image load/store to 2x32bit for the
message format. But atomics work without lowering.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34876 >
2025-05-23 10:04:29 +00:00
Mauro Rossi
ff6b181c2d
android: fix llvmpipe build rules
...
llvmpipe driver name needs to be added to the list triggering MESON_GEN_LLVM_STUB := true
due to swrast driver name being an invalid gallium driver
swrast driver name is still used for lavapipe vulkan driver
Fixes: a3909092 ("meson: drop deprecated `swrast` alias for softpipe+llvmpipe")
Backport-to: 25.1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35121 >
2025-05-23 08:58:03 +02:00
Samuel Pitoiset
a4a59a2504
radv: eliminate useless mov(const) after lowering all IO to scalar
...
This eliminates useless mov copies introduced by nir_lower_io_to_scalar
and this might be useful for nir_opt_varyings which optimizes
constant varyings.
It also uncovers a bug with mesh shader and constant varyaings that is
fixed by https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35081 .
No fossils-db change on NAV21.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35090 >
2025-05-23 05:56:31 +00:00
Timothy Arceri
3ec68e8382
mesa: update validation when draw buffer changes
...
Otherwise validation that depends on the _IntegerDrawBuffers and
_FP32DrawBuffers bitfield can end up stale.
Fixes: d04d9da98c ("st/mesa: fix _IntegerBuffers bitfield use")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35063 >
2025-05-23 00:51:04 +00:00
Paulo Zanoni
d77b49eb0a
anv/trtt: don't avoid the TR-TT submission when there is stuff to signal
...
When an application issues a sparse binding operation, it may be the
case that the state the app is setting is the state that is already
there. In that case, both n_l3l2_binds and n_l1_binds are zero, so the
batch doesn't contain anything and, since 0802bbd486 , we just skip
the batch submission and return.
The problem is that skipping the batch submission and returning
ignores the synchronization: there may be syncobjs that we have to
wait and, more importantly, there may be syncobjs that we have to
signal.
This case is exercised by vkd3d-proton's test suite, but I'm not aware
of any other workload that triggers it. This commit only affects
Meteor Lake and older, as TR-TT is only the default behavior for the
platforms running i915.ko.
Testcase: vkd3d-proton/d3d12/test_sparse_buffer_memory_lifetime
Fixes: 0802bbd486 ("anv/trtt: don't submit empty batches when there are no binds to do")
Reviewed-by: Iván Briano <ivan.briano@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35078 >
2025-05-23 00:17:18 +00:00
Dmitry Baryshkov
5c43cf823c
freedreno: replace fixed array for globabl_bindings with dynamic array
...
Freedreno limits set_global_binding() to 16 resource entries
(MAX_GLOBAL_BUFFERS), however RustiCL can pass more global resources
(e.g. OpenCL CTS test api / min_max_constant_args requires passing of
17). Follow example of other drivers and use dynamic array for global
bindings.
Backport-to: 25.1
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35122 >
2025-05-22 23:30:20 +00:00
Karol Herbst
abbb0c0125
vtn: fix use-after-free on function parameter names
...
Fixes: 5d7a230324 ("vtn: gather function parameter names")
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35098 >
2025-05-22 22:59:08 +00:00
Karol Herbst
bc444f6d26
nir: fix use-after-free on function parameter names
...
Fixes: 3da8444be5 ("nir: add names to function parameters")
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35098 >
2025-05-22 22:59:08 +00:00
Dmitry Baryshkov
31cf6b94ad
meson: stop building XA by default
...
Commit cf40099730 ("meson: deprecate gallium-xa") deprecated XA
tracker, but didn't disable it by default. Thus any attempt to disable
it would cause a deprecated option warning. Flip the default to disable
XA tracker by default.
Fixes: cf40099730 ("meson: deprecate gallium-xa")
Backport-to: 25.1
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35113 >
2025-05-22 22:18:34 +00:00
Sushma Venkatesh Reddy
6d226ceca1
intel/compiler: Call brw_try_override_assembly independent of debug flag
...
Previously, brw_try_override_assembly was only called when a debug flag was
enabled. However, during investigations involving workloads such as Steam
games, enabling the debug flag results in excessive NIR and ISA output to
stderr, making debugging more difficult.
This change ensures that brw_try_override_assembly is called when the
INTEL_SHADER_ASM_READ_PATH is set, regardless of the debug flag. This
improves usability in scenarios where minimal debug output is desired.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35115 >
2025-05-22 21:45:38 +00:00
Dylan Baker
51b51eb676
anv: Add comment why we overmap and then unmap a region
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35114 >
2025-05-22 21:14:26 +00:00
Dylan Baker
25dd3923dc
anv: attempt to make coverity happy
...
Coverity is upset that we're using `ptr` after we've `munmap`ed up to
the offset of the region, even though we're just moving past the
unmapped region to the still mapped region. Attempt to make it happy by
doing that calculation before unmapping. If it's still mad there's
nothing left we can do.
CID: 1646981
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
CID: 1646956
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35114 >
2025-05-22 21:14:26 +00:00
Dylan Baker
ff5cb90880
anv: avoid potential integer overflow
...
Coverity points out that we're using a 32bit type on the left side here,
so the entire operation is done as 32 bit instead of 64
CID: 1646960
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35114 >
2025-05-22 21:14:26 +00:00
Dylan Baker
2a3cf70db8
blorp: cast uint32_t -> int64_t to avoid potential overflow
...
In practice, I don't think it's actually going to overflow, but it could
in theory, which coverity is pointing out.
CID: 1647010
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35114 >
2025-05-22 21:14:26 +00:00
Gurchetan Singh
f1a9c2b55c
gfxstream: fix missing include
...
Initial Kumquat build broken.
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35120 >
2025-05-22 20:56:58 +00:00
Christian Gmeiner
ea73edde07
asahi: Don't use deprecated NIR_PASS_V macro
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35118 >
2025-05-22 20:40:32 +00:00
Dmitry Baryshkov
aa2ff0261b
ir3: enable lower_pack_64_4x16
...
The compiler won't be able to emit pack_64_4x16. Fix infinite
optimization loop caused in nir_opt_algebraic caused by it.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13223
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35112 >
2025-05-22 20:17:55 +00:00
Christian Gmeiner
86f7ce06be
zink: Fix NIR validation error in cubemap-to-array lowering
...
The cubemap-to-array pass was changing variable types from samplerCubeArray
to sampler2DArray but leaving the corresponding deref instruction types
unchanged. This caused NIR validation to fail with "instr->type ==
instr->var->type" assertion.
Fix by updating both the variable type and the deref instruction type
to maintain consistency required by NIR validation.
Cc: mesa-stable
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35117 >
2025-05-22 20:01:06 +00:00
Calder Young
b0eb715b50
iris: set dependency between SF_CL and CC states
...
Applied the fix from commit 3a54e9f6 to the Iris Gallium driver
Fixes: bc42bbff4c ("iris: Wa_14016820455 for GFX_VERx10 == 12.5")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35082 >
2025-05-22 19:34:46 +00:00
Gurchetan Singh
126af1feb9
gfxstream: get rid of logspam in virtualized case
...
In the case of running a Linux VM using some other capability
set than gfxstream, some logspam may be triggered. Fix this.
CC: mesa-stable
Reviewed-by: Aaron Ruby <aruby@qnx.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35109 >
2025-05-22 18:43:51 +00:00
Yiwei Zhang
d7f6400762
venus: force different device on NV proprietary
...
If forcing prime blit via disabling modifier support is not sufficient,
take a step further to force different device so that the memory type
choice is more conservative.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34965 >
2025-05-22 11:03:47 -07:00
Lars-Ivar Hesselberg Simonsen
64ce37b2d9
panfrost: Apply direct dispatch WLS instance limit
...
Apply the direct dispatch WLS instance limit to panfrost as well to keep
compute jobs with large workgroup counts from running out of memory.
Fixes: 1304f4578d ("panfrost: Adapt emit_shared_memory for indirect dispatch")
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: John Anthony <john.anthony@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34979 >
2025-05-22 15:39:10 +00:00
Lars-Ivar Hesselberg Simonsen
e6e406de0e
panvk/jm: Apply direct dispatch WLS instance limit
...
Apply the direct dispatch WLS instance limit to PanVK/JM as well to keep
compute jobs with large workgroup counts from hitting
VK_ERROR_OUT_OF_DEVICE_MEMORY.
Fixes: 005703e5b5 ("panvk: Move TLS preparation logic to cmd_dispatch_prepare_tls"
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: John Anthony <john.anthony@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34979 >
2025-05-22 15:39:10 +00:00
Lars-Ivar Hesselberg Simonsen
0a47a1cb6d
panvk/v10+: Limit direct dispatch WLS allocation
...
During direct dispatch, we calculate the size of the WLS allocation
based on the number of WLS instances which is an unbounded calculation
on number of workgroups.
This leads to extreme allocation sizes and potentially
VK_ERROR_OUT_OF_DEVICE_MEMORY for direct dispatches with a high amount
of workgroups.
This change adds an upper bound to the number of WLS instances, using
the same value we assume for indirect dispatches.
Additionally, this commit fixes the WLS max instance calculation (which
should be per core).
Fixes: 5544d39f44 ("panvk: Add a CSF backend for panvk_queue/cmd_buffer")
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: John Anthony <john.anthony@arm.com >
Tested-by: Heiko Stuebner <heiko@sntech.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34979 >
2025-05-22 15:39:10 +00:00
Lars-Ivar Hesselberg Simonsen
a6c7a774ab
panvk/v10+: Remove unnecessary alloc in dispatch_precomp
...
The CSF version of dispatch_precomp allocates TLS/WLS prior to calling
cmd_dispatch_prepare_tls, which will do the same.
This commit removes this unnecessary allocation.
Fixes: cc02c5deb4 ("panvk: Implement precomp dispatch")
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: John Anthony <john.anthony@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34979 >
2025-05-22 15:39:10 +00:00
Alyssa Rosenzweig
8e9d7c3a84
docs/features: add honeykrisp
...
I'm tired.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35108 >
2025-05-22 15:32:48 +00:00
Romaric Jodin
ffdc08dfb6
panvk: add support for {s,u}dot_4x8_{sat}
...
Generate IDPADD instruction to support integer dot product
Support is added for both signed/unsigned dot product as well as
saturated dot product.
Support is only for v9+.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34812 >
2025-05-22 14:39:32 +00:00
Romaric Jodin
dc1c701489
panfrost: Update bifrost_isa.py to support saturate for valhall
...
Add support for <saturate/> as valhall ISA.xml uses it instead of <mod
name="saturate"/>.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34812 >
2025-05-22 14:39:32 +00:00
Romaric Jodin
67ca56d7ad
panfrost: bi_builder.h.py: stop generating unneeded parentheses
...
Generate typecheck condition later to be able to know whether extra
parentheses are needed.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34812 >
2025-05-22 14:39:32 +00:00
Calder Young
8547f8b557
iris: Fix accidental writes to global dirty bit instead of local
...
Fixes: 0e9a26372b ("iris: implement Wa_14018912822")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35102 >
2025-05-22 09:43:01 +00:00
David Rosca
1608bc20b5
radv/video: Limit 10bit H265 decode support to stoney and newer
...
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12132
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35105 >
2025-05-22 09:20:51 +00:00
David Rosca
1f795ec226
radv/video: Remove carrizo workaround from VCN decode
...
Carrizo has UVD so this can never be true.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35105 >
2025-05-22 09:20:50 +00:00
Juan A. Suarez Romero
79045337bc
broadcom/ci: add skqp testing
...
As part of the nightly runs.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35104 >
2025-05-22 09:02:33 +00:00
David Rosca
63e952ff2c
radv/video: Support encoding multiple slices
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12285
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35070 >
2025-05-22 08:40:17 +00:00
Lionel Landwerlin
b036d2ded2
hasvk/elk: stop turning load_push_constants into load_uniform
...
Those intrinsics have different semantics in particular with regards
to divergence. Turning one into the other without invalidating the
divergence information breaks NIR validation. But also the conversion
means we get artificially less convergent values in the shaders.
So just handle load_push_constants in the backend and stop changing
things in Hasvk.
Fixes a bunch of tests in
dEQP-VK.descriptor_indexing.*
dEQP-VK.pipeline.*.push_constant.graphics_pipeline.dynamic_index_*
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34546 >
2025-05-22 07:49:20 +00:00
Lionel Landwerlin
df15968813
anv/brw: stop turning load_push_constants into load_uniform
...
Those intrinsics have different semantics in particular with regards
to divergence. Turning one into the other without invalidating the
divergence information breaks NIR validation. But also the conversion
means we get artificially less convergent values in the shaders.
So just handle load_push_constants in the backend and stop changing
things in Anv.
Fixes a bunch of tests in
dEQP-VK.descriptor_indexing.*
dEQP-VK.pipeline.*.push_constant.graphics_pipeline.dynamic_index_*
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34546 >
2025-05-22 07:49:20 +00:00
Lionel Landwerlin
b204153106
anv: add a comment about Wa_14016820455
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35101 >
2025-05-22 07:31:49 +00:00
Stéphane Cerveau
72a1c4ffb2
radv/debug: use common path for dmesg and tail
...
popen does not find the command when the full path
is not specified.
Chose /bin as the main location for both dmesg and tail to keep
compatibility with old distribution and possible embedded rootfs.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35087 >
2025-05-22 07:05:03 +00:00
Sushma Venkatesh Reddy
524733a990
intel/compiler: Centralize type stomping logic for Gen12.5 restrictions
...
This patch improves code readability by centralizing the type stomping
logic for Gen12.5 region restrictions in `brw_lower_alu_restrictions`.
It removes redundant comments and ensures type consistency assertions
in `brw_broadcast`, `generate_mov_indirect`, and `generate_shuffle`.
Thank you Ken for guiding me on this.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35006 >
2025-05-22 06:46:18 +00:00
Erik Faye-Lund
80f6b5b483
pan/ci: remove no longer failing test
...
No idea why this was failing on CI in the first place, as I can't
reproduce it failing locally at any point. But at some point recently,
this also stopped failing on CI as well. It's not clear what caused
this, but I can't find anything in the history around the time it
changed that seems particularly suspicious either.
Let's just accept the new behavior, and investegate further if it
reappears.
Acked-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35085 >
2025-05-21 20:47:09 +00:00
Mel Henning
61d9911bba
nak: Bias RA to find clear spaces for vector dests
...
Try to find a space where the entire vec will fit when allocating one of
its components.
Totals:
CodeSize: 5750619392 -> 5654953920 (-1.66%); split: -1.75%, +0.09%
Static cycle count: 1497053946 -> 1493196467 (-0.26%); split: -0.43%, +0.18%
Totals from 163626 (83.27% of 196502) affected shaders:
CodeSize: 5498993328 -> 5403327856 (-1.74%); split: -1.83%, +0.09%
Static cycle count: 1423951803 -> 1420094324 (-0.27%); split: -0.46%, +0.19%
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35033 >
2025-05-21 19:40:02 +00:00
Mel Henning
a24a001209
nak: Change parameters to try_find_unset_reg_range
...
The new argument order matches BitSet::find_aligned_unset_region() and
adds an align_offset parameter.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35033 >
2025-05-21 19:40:02 +00:00
Mel Henning
22401cd49e
compiler/rust/bitset: find_aligned_unset_region()
...
Add a new helper and use it from within nak.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35033 >
2025-05-21 19:40:02 +00:00
Lorenzo Rossi
4d07e940c7
nak/opt_copy_prop: convert b2i-i2b into copy
...
Previously i2b(b2i(x)) optimization was only done in src parameters, and
not applied if the bool predicate was used for predicated execution.
Instead of copying the same behavior of the src code into predicates,
this commit converts i2b(b2i(x)) into a copy(x), reusing the same code
paths for copy propagation.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35027 >
2025-05-21 18:58:06 +00:00
Yiwei Zhang
a312bb4285
venus: refactor wsi acquire to use semaphore and fence SYNC_FD import
...
This drops separate vn_fence_signal_wsi and vn_semaphore_signal_wsi
helpers for consistency and robustness. The behavior now aligns with the
Android WSI vkAcquireImageANDROID impl. This is to prepare for
installing an actual payload from the compositor side.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35079 >
2025-05-21 18:41:23 +00:00
Yiwei Zhang
b19e470802
venus: update docs and drop obsolete code for prime blit
...
The spec has been clarified long ago. Meanwhile, prime blit in common
wsi has become more legit over the time, and the handling in venus has
been obsolete for a while. For now, I just dropped all obsolete code for
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35034 , which
has taken care of the pipeline barriers for prime blit dst buffer.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35079 >
2025-05-21 18:41:23 +00:00
Yiwei Zhang
47b207726c
venus: avoid false assert for MESA_VK_WSI_DEBUG=sw,linear
...
Forcing linear cpu image is supported via venus.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35079 >
2025-05-21 18:41:23 +00:00
Yiwei Zhang
e6481d3f42
kopper: Revert "kopper: Explicitly choose zink"
...
This reverts commit 854bc2ee05 .
Forcing zink explicitly would get zink-on-lvp picked up over llvmpipe
for gbm dri support, which is not intended. Currently, zink_screen's
choose_pdev won't be able to reject it when the driver name is explicit.
So we have to revert the change first to mitigate regressions.
Reported-by: @n3rdopolis @0xnihilo
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13009
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13053
Fixes: 854bc2ee05 ("kopper: Explicitly choose zink")
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35039 >
2025-05-21 18:04:45 +00:00
Patrick Lerda
1f4e3d56de
r600: add r600_nir_lower_txl_txf_array_or_cube metadata compatibility
...
../src/compiler/nir/nir_metadata.c:172: nir_metadata_check_validation_flag: Assertion `!(impl->valid_metadata & nir_metadata_not_properly_reset)' failed.
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34155 >
2025-05-21 17:46:02 +00:00
Patrick Lerda
546acfbc31
r600: add r600_nir_lower_int_tg4 metadata compatibility
...
../src/compiler/nir/nir_metadata.c:172: nir_metadata_check_validation_flag: Assertion `!(impl->valid_metadata & nir_metadata_not_properly_reset)' failed.
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34155 >
2025-05-21 17:46:02 +00:00
Patrick Lerda
b3e0d7e8e9
r600: add r600_lower_shared_io metadata compatibility
...
../src/compiler/nir/nir_metadata.c:172: nir_metadata_check_validation_flag: Assertion `!(impl->valid_metadata & nir_metadata_not_properly_reset)' failed.
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34155 >
2025-05-21 17:46:02 +00:00
Patrick Lerda
2ea6e67dcf
r600: add r600_lower_tess_io metadata compatibility
...
../src/compiler/nir/nir_metadata.c:172: nir_metadata_check_validation_flag: Assertion `!(impl->valid_metadata & nir_metadata_not_properly_reset)' failed.
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34155 >
2025-05-21 17:46:01 +00:00
LingMan
3fbee8bae6
meson: Streamline silencing of warnings in bindgen generated code
...
Everyone was doing roughly the same.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34969 >
2025-05-21 17:11:08 +00:00
LingMan
040ef8f5c9
entaviv/isa: Silence warnings about non snake case names
...
These are benign style warnings. The code is generated by bindgen and it's a bug there that these
names get generated at all.
Silences these warnings since we can't do anything about them:
```
warning: method `use__raw` should have a snake case name
--> src/etnaviv/isa/isa_bindings.rs:358:19
|
358 | pub unsafe fn use__raw(this: *const Self) -> ::std::os::raw::c_uint {
| ^^^^^^^^ help: convert the identifier to snake case: `use_raw`
|
= note: `#[warn(non_snake_case)]` on by default
warning: method `use__raw` should have a snake case name
--> src/etnaviv/isa/isa_bindings.rs:1023:19
|
1023 | pub unsafe fn use__raw(this: *const Self) -> ::std::os::raw::c_uint {
| ^^^^^^^^ help: convert the identifier to snake case: `use_raw`
```
Fixes: 15a784689e ("etnaviv: isa: Generate Rust FFI bindings for asm.h")
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34969 >
2025-05-21 17:11:08 +00:00
Mel Henning
3ab29ffca0
nak: Use nir membar optimizations
...
Call nir_opt_barrier_modes and nir_opt_acquire_release_barriers.
Totals:
CodeSize: 5750619392 -> 5750618656 (-0.00%)
Number of GPRs: 16276896 -> 16276898 (+0.00%)
Static cycle count: 1497053946 -> 1497053776 (-0.00%); split: -0.00%, +0.00%
Spills to reg: 9143000 -> 9143006 (+0.00%)
Fills from reg: 6892354 -> 6892360 (+0.00%)
Totals from 14 (0.01% of 196502) affected shaders:
CodeSize: 786432 -> 785696 (-0.09%)
Number of GPRs: 1294 -> 1296 (+0.15%)
Static cycle count: 153230 -> 153060 (-0.11%); split: -0.14%, +0.03%
Spills to reg: 1360 -> 1366 (+0.44%)
Fills from reg: 947 -> 953 (+0.63%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35055 >
2025-05-21 15:59:35 +00:00
Connor Abbott
eb21e2471b
freedreno: Fix CP_RESET_CONTEXT_STATE bitfield names
...
Based on kgsl.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35080 >
2025-05-21 15:36:06 +00:00
Boris Brezillon
7164208efb
pan/texture: Don't mix image and buffer views
...
Specialize the texture emission logic for buffer views, which are much
simpler to deal with than image views.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34767 >
2025-05-21 15:03:37 +02:00
Boris Brezillon
a6157e8dd5
pan/texture: s/pan_texture_emit/pan_sampled_texture_emit/
...
Reflect the expected usage in the function name.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34767 >
2025-05-21 15:02:44 +02:00
Boris Brezillon
949206a593
pan/layout: Split pan_image_layout
...
Split pan_image_layout into two pieces:
- pan_image_props containing all the properties set by the user of
pan_image_layout_init()
- pan_image_layout containing all the information constructed from
the image properties to describe the pixel layout
This allows us to clearly identify what's set by the user and what's
initialized from it. It will also allow us to share the image props
for multi-plane images.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34767 >
2025-05-21 15:02:17 +02:00
Eric R. Smith
bb999ae466
pan/layout: Use _{B,el,px,sb} suffixes to clarify things
...
Improve the layout code, based in part on the Asahi/Intel layout.
Suffixes like `_px` (for pixel), `_B` (for byte), `_el` (for element)
and `_sb` (for superblock) make some of the sizes of items within the
layout more explicit.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34767 >
2025-05-21 15:00:06 +02:00
Boris Brezillon
97e0fdbd4d
pan/image: Get rid of pan_image_mem::offset
...
We can simply adjust pan_image_mem::base to take the memory offset into
account.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34767 >
2025-05-21 14:59:04 +02:00
Boris Brezillon
2952c6d789
pan: Add a pan_image_mip_level_size() helper and use it for 3D attribute initialization
...
Right now, 3D attribute buffers are set to cover the bytes remaining
in the BO starting from the plane surface offset, which works but
doesn't provide an accurate information about where the storage image
section is supposed to stop.
Let's provide a pan_image helper to query the size covered by a MIP
level, and use it in panvk/panfrost.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34767 >
2025-05-21 14:58:52 +02:00
Boris Brezillon
086bcbe186
pan: Use a consistent pan_ prefix across src/panfrost/*
...
We've been inconsistenly using panfrost_ and pan_ as a prefix for
the common helpers/structs. Let's finally make a clear cut by
prefixing everything that lives in src/panfrost/* with pan_.
No functional changes here, this is just renaming and reformatting
changes.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34767 >
2025-05-21 14:58:20 +02:00
Boris Brezillon
a936013311
pan: Draw a clear line between image layout, image and texture helpers
...
This involves moving helpers in separate pan_{layout,image,texture}.{c,h}
files, and renaming some of the helper/structs to clarify their purpose.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34767 >
2025-05-21 14:58:16 +02:00
Boris Brezillon
c847d4fac3
pan/layout: Refactor WSI explicit image layout support
...
There's no point exposing a panfrost_from_legacy_stride() if all
users of pan_image_layout_init() passing an explicit layout
fill pan_image_explicit_layout::row_pitch_B with the result of
panfrost_from_legacy_stride(). We can directly calculate the row stride
inside pan_image_layout_init().
While at it, replace panfrost_get_legacy_stride() by a
pan_image_layout_get_wsi_layout() helper.
Note that we need to adjust the LegacyStride unittests to take the
alignment constraints into account, which is probably a good thing
awyway.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34767 >
2025-05-21 14:58:12 +02:00
Boris Brezillon
a794ea6f9f
pan: Consolidate AFRC helpers in a single source file
...
Create a pan_afrc.h header gathering all AFRC-related helpers spread
across pan_layout.c, pan_texture.{c,h} and pan_afbc.c.
By making them inline functions, we also allow for extra compile-time
optimizations.
While at it, we pick a consistent pan_ prefix instead of the
pan_/panfrost_ mix we currently have.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34767 >
2025-05-21 14:57:55 +02:00
Boris Brezillon
0807d26a29
pan: Consolidate AFBC helpers in a single source file
...
Create a pan_afbc.h header gathering all AFBC-related helpers spread
across pan_layout.c, pan_texture.{c,h} and pan_afbc.c.
By making them inline functions, we also allow for extra compile-time
optimizations.
While at it, we pick a consistent pan_ prefix instead of the
pan_/panfrost_ mix we currently have.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34767 >
2025-05-21 14:57:37 +02:00
Boris Brezillon
cea9b04b59
pan: Rename/move panfrost_format_supports_mtk_tiled()
...
Use pan_ instead of panfrost_ as a prefix, and move the function to
pan_format.h, since this modifier has nothing to do with AFBC. We keep
it in pan_format.h since the amount of code doesn't justify having a
separate file for MTK tiling.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34767 >
2025-05-21 14:57:14 +02:00
Boris Brezillon
ce7667b4a9
pan/format: Change the way we expose supported modifiers
...
Let's turn the pan_best_modifiers[] array into a PAN_SUPPORTED_MODIFIERS()
macro, such that:
- we don't have to update PAN_MODIFIER_COUNT when adding new modifiers
- we can let the compiler see through the values inside this array and
possibly optimize the modifier selection loop
While at it, we move this new PAN_SUPPORTED_MODIFIERS() macro to
pan_format.h, since modifiers and formats are kinda related, and
pan_layout.c/pan_texture.h were not a great fit.
Also move the drm_is_xxx() macros to pan_format.h, to be consistent.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34767 >
2025-05-21 14:56:56 +02:00
Boris Brezillon
67e574f1bd
pan: Drop the format argument passed to drm_is_mtk_tiled()
...
It's not used, and we shouldn't have to check the format to identify
a modifier anyway.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34767 >
2025-05-21 14:55:40 +02:00
Boris Brezillon
022e3cb66a
pan/format: Make pan_format::bind a 5-bit field
...
This way, a pan_format instance fits into a single u32. This forces us
to have an explicit translation in pipe_to_pan_bind_flags(), which is
probably a good thing anyway.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34767 >
2025-05-21 14:55:13 +02:00
Job Noorman
8b2e57aaf6
freedreno/drm-shim: add support for MSM_PARAM_UCHE_TRAP_BASE
...
Just return the default value from tu_drm_get_uche_trap_base.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35084 >
2025-05-21 11:29:31 +00:00
Samuel Pitoiset
25eb836eec
radv: fix CP DMA with NULL PRT pages on GFX8-9
...
On GFX8-9 (starting from Polaris10), CP DMA is broken with NULL PRT
pages. It doesn't read 0 and doesn't discard writes which can cause
GPU hangs.
Fix that by always using the compute path when a BO is sparse.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12828
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35071 >
2025-05-21 09:41:23 +00:00
Samuel Pitoiset
235f70e475
ac/gpu_info: add has_cp_dma_with_null_prt_bug
...
CP DMA is broken on GFX8-9 with NULL PRT pages. The workaround is to
use compute instead.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35071 >
2025-05-21 09:41:23 +00:00
Eric Engestrom
85d2c8f8ae
docs: add sha sum for 25.1.1
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35083 >
2025-05-21 09:34:40 +00:00
Eric Engestrom
58995ad436
docs: add release notes for 25.1.1
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35083 >
2025-05-21 09:34:40 +00:00
Eric Engestrom
1e5a6fa564
docs: update calendar for 25.1.1
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35083 >
2025-05-21 09:34:40 +00:00
Valentine Burley
dc483ea924
ci: Remove firmware from test-base
...
Firmware packages continue to grow in size, so stop installing them in
the test-base image.
The necessary firmware is now collected and uploaded per vendor in an
external repository.
LAVA devices can opt into optional firmware by specifying the name of the
archive via LAVA_FIRMWARE.
For bare-metal, Qualcomm firmware required for DUTs in the Google lab is
included in the baremetal image.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13051
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34861 >
2025-05-21 08:48:15 +00:00
Valentine Burley
a394b7b64c
amd/ci: Update kernel for Raven
...
This updated kernel allows loading .xz compressed firmware files.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34861 >
2025-05-21 08:48:14 +00:00
Guilherme Gallo
afaa236803
ci/lava: make overlay->compression optional
...
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34861 >
2025-05-21 08:48:14 +00:00
Michel Dänzer
ce268d1a4b
amd/ci: Add cl profile on rusticl in radeonsi-raven-piglit job
...
There's been a number of regressions with rusticl on radeonsi lately,
hopefully this will catch at least some of them.
v2:
* Reference .rusticl-rules. (Valentine Burley)
* Move rusticl fails to their own section at the end of the file.
(LaughingMan)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35066 >
2025-05-21 08:19:19 +00:00
Samuel Pitoiset
6528bb76b1
radv: stop using GDS for emulated prims gen/xfb queries on GFX11-GFX11.5
...
Use the same path as GFX12 using SSBO atomics because performance
should be equal or slightly better due to less synchronization.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35017 >
2025-05-21 08:48:04 +02:00
Samuel Pitoiset
2812efd7ad
radv: declare and emit NGG_QUERY_BUF_VA on GFX11-GFX11.5
...
This user SGPR is used to pass the query buffer VA for emulated queries.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35017 >
2025-05-21 08:46:12 +02:00
Samuel Pitoiset
439baafe5e
radv: increase size of the buffer for emulated queries on GFX12
...
This increases this buffer by 20 bytes but it will be re-used for
emulated queries on GFX11-GFX11.5 in order to remove the GDS path.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35017 >
2025-05-21 08:46:12 +02:00
Samuel Pitoiset
98c1753214
radv: stop reserving NGG streamout counters
...
NGG streamout counters use GDS_OA, not GDS.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35017 >
2025-05-21 08:46:12 +02:00
Samuel Pitoiset
3922cc6fbd
radv: rename a variable in gfx10_copy_shader_query_ace()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35017 >
2025-05-21 08:46:12 +02:00
Samuel Pitoiset
266c3bdeaf
radv: adjust comments describing GDS needs
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35017 >
2025-05-21 08:46:12 +02:00
Iván Briano
815bcda06d
anv: enable VK_KHR_fragment_shader_barycentric
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34445 >
2025-05-20 20:57:59 +00:00
Iván Briano
6268792a29
anv: set HW state for fragment shader barycentric
...
When the FS requires it, set the VertexAttributeBypass and
LegacyBaryAssignmentDisable bits accordingly.
Also program the provoking vertex to give us the per-vertex attributes
in the order the Vulkan specification dictates, and track its dynamic
value for the FS to pick up constant interpolated inputs correctly.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34445 >
2025-05-20 20:57:59 +00:00
Iván Briano
27a2f6d1ff
brw: add lowering passes for FS barycentric inputs
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34445 >
2025-05-20 20:57:59 +00:00
Iván Briano
8ee14e5291
brw/anv: add provoking vertex to fs_msaa_flags
...
This will be necessary to select the right value for flat inputs in
fragment shaders when fragment shader barycentrics are in use.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34445 >
2025-05-20 20:57:58 +00:00
Iván Briano
acdd30a9da
brw: check if the FS needs vertex_attributes_bypass to be set
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34445 >
2025-05-20 20:57:58 +00:00
Iván Briano
c327b83706
brw: implement load_input_vertex intrinsic
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34445 >
2025-05-20 20:57:58 +00:00
Iván Briano
4c1f9554f5
intel/genxml: update some instructions for Xe2+
...
3DSTATE_CLIP and 3DSTATE_SF add:
- Triangle Strip Odd Provoking Vertex Select
3DSTATE_RASTER:
- Legacy Bary Assignment Disable
3DSTATE_SBE:
- Vertex Attributes Bypass
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34445 >
2025-05-20 20:57:58 +00:00
Valentine Burley
4696d12f8b
freedreno/ci: Re-enable a618-piglit
...
With the a630's offline, this restorer pre-merge piglit coverage.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35018 >
2025-05-20 20:36:33 +00:00
Valentine Burley
09e713f46b
freedreno/ci: Update piglit expectations on a618
...
Fixes: 65e18a8494 ("freedreno: Fix shader-clock when kernel exposes UCHE_TRAP_BASE")
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35018 >
2025-05-20 20:36:33 +00:00
Valentine Burley
2815e803ae
freedreno/ci: Disable all a630 jobs
...
The cheza DUTs are retired and no longer active.
The pre-merge jobs have already been disabled, do the same for the
nightly ones as well.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35018 >
2025-05-20 20:36:33 +00:00
Konstantin Seurer
f4a233a34e
llvmpipe: Reduce the size of lp_descriptor
...
Now that the descriptor does not have to store the texeture layout, the
size can be reduced (to 64 bytes).
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35043 >
2025-05-20 20:10:16 +00:00
Konstantin Seurer
8d11da0c10
llvmpipe: Make more texture state static with bindless
...
Because almost everything is compiled on demand, this can be done
without blowing up the compiled sample function count. Making this
static improves performance by a bit and will make it possible to reduce
the descriptor size.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35043 >
2025-05-20 20:10:16 +00:00
Konstantin Seurer
ab35233f79
llvmpipe: Compile size query functions on demand
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35043 >
2025-05-20 20:10:16 +00:00
Konstantin Seurer
7e9182e6ee
llvmpipe: Compile fewer unnecessary functions
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35043 >
2025-05-20 20:10:16 +00:00
Konstantin Seurer
d30593ae3d
llvmpipe: Compile texture fetch functions on demand
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35043 >
2025-05-20 20:10:16 +00:00
Mike Blumenkrantz
427678c025
egl: handle DRI_PRIME with surfaceless
...
this is mostly a direct port of the wayland handling
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3987
Tested-by: Pekka Paalanen <pekka.paalanen@collabora.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34610 >
2025-05-20 19:42:57 +00:00
Gurchetan Singh
c7c72d1d68
gfxstream: add VulkanMapper
...
This adds logic for a singleton VulkanMapper to be used with
Kumquat. The main goal is remove the Vulkano dependency on
virtgpu_kumquat, so it's more portable.
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34884 >
2025-05-20 19:16:27 +00:00
Eric Engestrom
b03d5ecad3
ci: uprev vkd3d
...
7eef0a64e3...7e829e8836
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35074 >
2025-05-20 18:40:28 +00:00
Aditya Swarup
ac863b8b15
iris: Disable fast clear when surface width is 16k
...
HSD 16023071695 description mentions we need to extend
WA_16021232440 to cover the case when surface width is 16k.
BSpec: 57340
Signed-off-by: Aditya Swarup <aditya.swarup@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34838 >
2025-05-20 10:44:52 -07:00
Aditya Swarup
6528d267ef
anv: Disable fast clear when surface width is 16k
...
HSD 16023071695 description mentions we need to extend
WA_16021232440 to cover the case when surface width is 16k.
BSpec: 57340
Signed-off-by: Aditya Swarup <aditya.swarup@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34838 >
2025-05-20 10:44:52 -07:00
Konstantin Seurer
8edee1e25b
lavapipe: Fail device enumeration when DRAW_USE_LLVM=0 is set
...
DRAW_USE_LLVM=0 is not supported and crashes.
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35036 >
2025-05-20 16:54:19 +00:00
Rhys Perry
072e6d1ab5
aco/tests: add tests for tied definitions
...
Some of these would have failed before the rewrite.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34700 >
2025-05-20 15:40:47 +00:00
Rhys Perry
b341a12526
aco/ra: rewrite handling of tied definitions
...
The old version worked by precoloring both the operand and definition to
whatever register the operand was at the time. This didn't allow moving
the operand/definition after precoloring them, or two tied operands with
the same temporary.
The new version works by temporarily making the operands late kill and
creating a copy if the temporary is live-through or used as another tied
operand. Then we can simply later make the operands early kill again and
assign the definitions to the operand's register.
This way, we can move the operand to make space and the new location will
not intersect with any other definition and won't cause the operand and
definition registers to mismatch.
fossil-db (gfx1201):
Totals from 2253 (2.84% of 79377) affected shaders:
Instrs: 1634747 -> 1630799 (-0.24%); split: -0.27%, +0.03%
CodeSize: 8688148 -> 8672348 (-0.18%); split: -0.20%, +0.02%
VGPRs: 106500 -> 106512 (+0.01%)
Latency: 11385480 -> 11382965 (-0.02%); split: -0.04%, +0.01%
InvThroughput: 1754430 -> 1754326 (-0.01%); split: -0.01%, +0.00%
SClause: 38954 -> 38964 (+0.03%); split: -0.01%, +0.04%
Copies: 110772 -> 110800 (+0.03%); split: -0.02%, +0.04%
Branches: 29093 -> 29092 (-0.00%)
VALU: 902011 -> 902008 (-0.00%)
SALU: 260175 -> 260203 (+0.01%); split: -0.01%, +0.02%
fossil-db (navi31):
Totals from 2 (0.00% of 79377) affected shaders:
Latency: 1766 -> 1765 (-0.06%)
InvThroughput: 3219 -> 3215 (-0.12%)
fossil-db (navi21):
Totals from 14 (0.02% of 79377) affected shaders:
(no affected stats)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34700 >
2025-05-20 15:40:47 +00:00
Rhys Perry
cdf3767001
aco: set copy-kill for tied operands with the same temporary
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34700 >
2025-05-20 15:40:47 +00:00
Rhys Perry
f783f5df6d
aco/ra: move optimize_encoding earlier
...
We have to handle tied definitions after optimize_encoding, but a rewrite
of that will need the register file from before clearing the killed
operands.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34700 >
2025-05-20 15:40:47 +00:00
Rhys Perry
fd05181a26
aco/ra: replace skip_renaming with copy_kill
...
This will be used in the next commit.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34700 >
2025-05-20 15:40:46 +00:00
Rhys Perry
c04ef28c56
aco: rename ops_fixed_to_def to tied_defs
...
This is less words.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34700 >
2025-05-20 15:40:46 +00:00
Dmitry Baryshkov
275a39b3c6
rusticl/device: relax some params for embdded profile
...
As stated in the OpenCL standard, the lowest allowed values
CL_DEVICE_MAX_PARAMETER_SIZE and CL_DEVICE_LOCAL_MEM_SIZE in case of the
embedded profile are 1K. Limit the check to full profile only, in order
to stop forcing OpenCL 1.0 for embedded-profile device like Qualcomm
Adreno A702.
Backport-to: 25.1
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35073 >
2025-05-20 15:21:06 +00:00
Eric Engestrom
6c1968df19
ci/container: fix whitespace for yamllint
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35068 >
2025-05-20 14:51:18 +00:00
Eric Engestrom
76ca28865b
ci: avoid unsetting S3_JWT too early in container image builds
...
Fixes: 0a52d00393 ("ci: clear S3_JWT_FILE_SCRIPT as it also contains the S3_JWT")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35068 >
2025-05-20 14:51:18 +00:00
Mary Guillemard
eafe2527b5
panvk: Clean up some todo comments about already supported extensions
...
We forgot to edit some comments when enabling some extensions, this
clean this up.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35065 >
2025-05-20 14:20:23 +00:00
Mary Guillemard
8a3b89db95
panvk: Advertise support for VK_EXT_image_2d_view_of_3d
...
This is already supported, we just need to toggle the switch.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35065 >
2025-05-20 14:20:23 +00:00
Mary Guillemard
43d84078e6
panvk: Advertise support for VK_EXT_primitive_topology_list_restart
...
This is already supported, we just need to toggle the switch.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35065 >
2025-05-20 14:20:23 +00:00
Samuel Pitoiset
4d1fcd75f9
radv: fix non-indexed draws with primitive restart enable
...
On GFX11+, DISABLE_FOR_AUTO_INDEX=1 automatically disables primitive
restart enable for non-indexed draws.
On GFX10-GFX10.3 the hw considers primitive restart enable for
non-indexed draws and the driver must disable it explicitly.
GFX9 and older gens aren't affected but applying the change for them
simplifies the implementation.
To fix that, move emitting primitive restart enable at draw time
because it needs to know if the draw is indexed or not.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13037
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34996 >
2025-05-20 13:57:35 +00:00
Samuel Pitoiset
7ce7009ee4
radv/meta: move and rename get_r32g32b32_format()
...
For future work.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34971 >
2025-05-20 13:30:07 +00:00
Samuel Pitoiset
b7ce612743
radv: add vk_format_is_96bit()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34971 >
2025-05-20 13:30:07 +00:00
Samuel Pitoiset
c22d86e844
radv: fix missing texel scale for unaligned linear SDMA copies
...
texel_scale was 0 which caused GPU hangs for unaligned linear copies.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13195
Fixes: 4b73d7e817 ("radv: fix SDMA copies for linear 96-bits formats")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35047 >
2025-05-20 13:06:51 +00:00
Samuel Pitoiset
e345b03c89
ac/gpu_info: rename has_zerovram_support to has_default_zerovram_support
...
To avoid confusion between RADEON_FLAG_ZERO_VRAM and default VRAM
allocation clears since AMDGPU 3.59+.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35021 >
2025-05-20 12:43:59 +00:00
Samuel Pitoiset
d7099675b6
radv: expose VK_EXT_zero_initialize_device_memory unconditionally
...
This extension doesn't require AMDGPU to clear VRAM on allocations by
default. RADEON_FLAG_ZERO_VRAM exists since the beginning.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35021 >
2025-05-20 12:43:59 +00:00
Tapani Pälli
5828612da2
anv: use internal rt-null-ahs when any_hit is null
...
Tested on BMG and PTL using both settings for RT_CTRL.
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35044 >
2025-05-20 10:58:53 +00:00
Tapani Pälli
0f591425c9
intel/compiler: provide a helper for null any-hit shader
...
Xe driver will be disabling the HW functionality for null any-hit
shaders, drivers need to take care of it instead. This commit brings
back parts of older workaround (see b0624e414f ) we used to have to
handle the null any-hit case.
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35044 >
2025-05-20 10:58:53 +00:00
Juan A. Suarez Romero
73409e7cc5
broadcom/v3dv: skip implicit synchronization tests
...
Something is not working correctly when running Vulkan implicit
synchronization tests. They are affecting other tests running in
parallel in the sense that they go from taking a few seconds to time
out.
Let's skip them until we find where is the problem, as this is affecting
the CI with several flakes and timeouts.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35064 >
2025-05-20 12:00:03 +02:00
Georg Lehmann
0257644130
aco: assume sram ecc is enabled on Vega20
...
There are D16 load issues on Vega20 that are expected if sram ecc is enabled.
It's a professional class chip and I found mentions of it supporting ecc,
so assume it's enabled.
Maybe this could be improved by querying ecc info from the kernel, but
I'm not sure which query should be used.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13189
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12393
Cc: mesa-stable
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35045 >
2025-05-20 08:24:21 +00:00
Guilherme Gallo
e9e98d997d
ci/lava: Parametrize message burst length on unit tests
...
We can have jobs with a lower job timeout values, given by
CI_JOB_TIMEOUT environment variable, such as the pytest ones.
The previously hardcoded burst length of 1000 messages at a simulated
rate of 1 msg/sec caused tests to exceed these timeouts and fail
unexpectedly on specific job timeouts.
Reported-by: Eric Engestrom <eric@igalia.com >
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34907 >
2025-05-19 22:44:21 +00:00
Guilherme Gallo
e7f6b4bdae
ci/lava: Improve timeout estimation logic for case/suite runs
...
Some jobs, like those using pytest, have lower `CI_JOB_TIMEOUT` values.
This change ensures that the estimated LAVA overhead (in minutes) is
compatible with the actual job timeout, failing early with an assertion
and also avoiding mismatches and unintended timeouts.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34907 >
2025-05-19 22:44:21 +00:00
Karol Herbst
41a18a27b0
radeonsi: fix variable_shared_size assert in si_switch_compute_shader
...
shader->selector->stage is always set to COMPUTE even for OpenCL. Remove
the assert as it doesn't really protect against anything and patch the
shared size only when variable_shared_size is set.
Fixes: e478410466 ("radeonsi: inline shader_info in si_shader_info, keep only what's used")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35003 >
2025-05-19 17:51:15 -04:00
Mike Blumenkrantz
0e57c236c4
lavapipe: EXT_zero_initialize_device_memory
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34955 >
2025-05-19 17:50:29 +00:00
Felix DeGrood
e75c0160df
intel/tools: add intel_measure.py
...
We are moving away from the INTEL_MEASURE tool, replacing
it with utrace. Utrace is better maintained and provides similar
debug data. The eventual plan is to EOL INTEL_MEASURE from the driver.
This python script reinterprets the dumped utrace data into the
traditional INTEL_MEASURE csv file format.
Usage:
MESA_GPU_TRACES=print_csv MESA_GPU_TRACEFILE=/tmp/ut.csv INTEL_DEBUG=stall <cmd>
intel_measure.py /tmp/ut.csv > im.csv
Reviewed-by: Casey Bowman <casey.g.bowman@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34662 >
2025-05-19 17:27:30 +00:00
Matt Turner
eea3ed6a37
gallivm: Use llvm.roundeven in lp_build_round()
...
`lp_build_round` intends to implement round with ties-to-even behavior,
as can be seen by its test's use of `nearbyint` to generate reference
values and by it use in implementing `nir_op_fround_even`.
Fixes: 0d3b285360 ("gallivm: use llvm intrinsics for 16-bit round/trunc/roundeven")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34937 >
2025-05-19 17:02:03 +00:00
Olivia Lee
6458880594
panfrost: use cpp_args instead of c_args for C++ files
...
c_args is not used for C++, so these were just being ignored. As far as
I know this was inconsequential. I doubt anybody is compiling panfrost
on msvc, and I didn't see any initializer override warnings.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35035 >
2025-05-19 16:34:26 +00:00
Sil Vilerino
9ebb5e65fc
d3d12: Add new video encode HEVC configuration CU size 16-32 range
...
Reviewed-by: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35057 >
2025-05-19 11:32:24 -04:00
Sil Vilerino
33f670d869
d3d12/meson: Add USE_D3D12_PREVIEW_HEADERS compiler flag based on dep_dxheaders.version()
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13126
Reviewed-by: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35057 >
2025-05-19 11:32:17 -04:00
Konstantin Seurer
97f71420df
radv/bvh: Fix comment
...
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34938 >
2025-05-19 14:08:33 +00:00
Konstantin Seurer
100616859e
radv/bvh: Remove some unused variables
...
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34938 >
2025-05-19 14:08:33 +00:00
Konstantin Seurer
f00b25331a
radv/bvh: Make sure the AABB is written before internal_ready_count
...
Otherwise, the next stage can read garbage. Fixes flickering in The
Witcher 3.
Closes : #13145
Closes : #13196
Fixes: 2d48b2c ("radv: Use subgroup OPs for BVH updates on GFX12")
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34938 >
2025-05-19 14:08:33 +00:00
Konstantin Seurer
f42d52f922
radv: Flush L2 on GFX12 when binding an update pipeline
...
This is just for completeness since the flush above is probably
sufficient.
Fixes: 2d48b2c ("radv: Use subgroup OPs for BVH updates on GFX12")
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34938 >
2025-05-19 14:08:33 +00:00
Danylo Piliaiev
8dcf84451a
tu: Use EARLY_Z when there is no depth/stencil tests
...
Mostly a cosmetic change to be in line with what prop driver is doing,
this way it's easier to compare them.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34973 >
2025-05-19 13:30:39 +00:00
Danylo Piliaiev
8f5d433840
tu: Occlusion query counting should happen after FS that kills
...
"EARLY_Z + discard" would yield incorrect occlusion query result,
since Vulkan expects occlusion query to happen after fragment shader.
See Vulkan spec "29. Fragment Operations".
Also see https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/5713
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34973 >
2025-05-19 13:30:39 +00:00
Danylo Piliaiev
b6cf0b68be
tu: Use EARLY_Z_LATE_Z with alpha-to-coverage
...
Alpha-to-coverage behaves like a discard, so we can use EARLY_Z_LATE_Z
for it.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34973 >
2025-05-19 13:30:39 +00:00
Danylo Piliaiev
13e6dfb45f
tu: Use EARLY_Z_LATE_Z even when LRZ is disabled
...
As previously documented, this mode either uses LRZ or early-z
(when LRZ is invalid).
Though it has some limitations, it's not compatible with:
- Lack of D/S attachment
- Stencil writes on stencil or depth test failure
- Per-sample shading
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34973 >
2025-05-19 13:30:39 +00:00
Danylo Piliaiev
de6d111d73
freedreno/regs: A6XX_EARLY_LRZ_LATE_Z is really A6XX_EARLY_Z_LATE_Z
...
By observing prop driver and doing some tests this mode is about
both early_z and early lrz.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34973 >
2025-05-19 13:30:39 +00:00
Georg Lehmann
cd4c0bc58e
aco: don't use constant_bits when not applying constants
...
This is incorrect for 16bit integer operands.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35020 >
2025-05-19 13:05:48 +00:00
Georg Lehmann
f98d20fec6
aco: replace get_operand_size with get_operand_type
...
To not use constant_bits everywhere.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35020 >
2025-05-19 13:05:48 +00:00
Georg Lehmann
e1b35a2721
aco/optimizer: only use get_operand_size for alu
...
It's only used once for pseudo instructions anyway, and that's trivial.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35020 >
2025-05-19 13:05:48 +00:00
Georg Lehmann
7d59bd399a
aco/optimizer: optimize packed fneg with negative constant
...
We shouldn't rely on constant propagation always creating
positive 1.0 constants.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35020 >
2025-05-19 13:05:48 +00:00
Georg Lehmann
fa3f207035
aco: swap operands without instructions
...
For future work.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35020 >
2025-05-19 13:05:48 +00:00
Patrick Lerda
45133e0e91
radeon/evergreen: improve depth24_stencil8 mipmap behavior
...
This change is an update to 42be38a8fb . It fixes the remaining
depth24_stencil8 mipmap issues.
This change was tested with the test below modified to check for
every width and height between (1,1) and (143,143), the levels
are tested between 0 and 5.
This change was tested on r600 cypress, palm, barts and cayman.
Here are the tests fixed:
khr-gl(3[0-3]|4[0-5])/texture_repeat_mode/depth24_stencil8_11x131_1_clamp_to_edge: fail pass
khr-gl(3[0-3]|4[0-5])/texture_repeat_mode/depth24_stencil8_11x131_1_mirrored_repeat: fail pass
khr-gl(3[0-3]|4[0-5])/texture_repeat_mode/depth24_stencil8_11x131_1_repeat: fail pass
khr-gles3/texture_repeat_mode/depth24_stencil8_11x131_1_clamp_to_edge: fail pass
khr-gles3/texture_repeat_mode/depth24_stencil8_11x131_1_mirrored_repeat: fail pass
khr-gles3/texture_repeat_mode/depth24_stencil8_11x131_1_repeat: fail pass
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Acked-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34406 >
2025-05-19 12:50:25 +00:00
Patrick Lerda
1186c73c6b
r600: implement gs indirect load_per_vertex_input
...
This functionality is useful with the software fp64
implementation. It allows running the remaining
tests.
Note: the same tests do not generate this indirect
access on cayman which has the hardware fp64
implementation enabled.
This change was tested on cypress, palm and barts.
Here are the tests fixed:
spec/arb_gpu_shader_fp64/execution/gs-isnan-dvec: fail pass
spec/arb_gpu_shader_fp64/uniform_buffers/gs-array-copy: fail pass
spec/arb_gpu_shader_fp64/uniform_buffers/gs-dmat4: fail pass
spec/arb_gpu_shader_fp64/uniform_buffers/gs-dmat4-row-major: fail pass
spec/arb_gpu_shader_fp64/uniform_buffers/gs-double-array-const-index: fail pass
spec/arb_gpu_shader_fp64/uniform_buffers/gs-double-array-variable-index: fail pass
spec/arb_gpu_shader_fp64/uniform_buffers/gs-double-bool-double: fail pass
spec/arb_gpu_shader_fp64/uniform_buffers/gs-double-uniform-array-direct-indirect: fail pass
spec/arb_gpu_shader_fp64/uniform_buffers/gs-doubles-float-mixed: fail pass
spec/arb_gpu_shader_fp64/uniform_buffers/gs-dvec4-uniform-array-direct-indirect: fail pass
spec/arb_gpu_shader_fp64/uniform_buffers/gs-nested-struct: fail pass
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34926 >
2025-05-19 12:07:37 +00:00
Patrick Lerda
8df9e3b2d0
r600: add a constant representing gs vertex indirect total
...
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34926 >
2025-05-19 12:07:37 +00:00
Eric Engestrom
0a52d00393
ci: clear S3_JWT_FILE_SCRIPT as it also contains the S3_JWT
...
This whole thing of dumping the env var in a file and unsetting it so
that it wouldn't be visible in an env dump anymore? Yeah, we kinda
failed here 😅
Note: setting it to an empty string instead of unsetting it allows for
redundant `eval "$S3_JWT_FILE_SCRIPT"` calls without failing over an
unset variable.
Reported-by: @alatiera
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35050 >
2025-05-19 11:16:59 +00:00
Danylo Piliaiev
701d26be9d
tu: Fix state.lrz.force_late_z condition not being updated
...
It was accidentally made sticky when LRZ is disabled. That resulted
in a big perf regression in some games.
Fixes: 847ad80e03 ("tu/lrz: Consider FS depth layout when gl_FragDepth is written")
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35029 >
2025-05-19 10:55:12 +00:00
Eric Engestrom
add5447483
vmware/ci: move jobs to nightly until farm is stabilized
...
Example of this job hanging/timing out in merge pipelines that
I personally saw in the last 24h (and right now is Monday morning):
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/76580719
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/76580721
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/76581000
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/76581063
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/76585062
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/76585063
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/76585109
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/76585110
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/76587835
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/76587836
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/76607117
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/76607118
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/76607119
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/76607120
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/76607687
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/76607688
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/76620657
That's a rather long list, so I'm merging this without waiting for your
feedback @blu, but please revert this commit once the issue has been
fixed :)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35048 >
2025-05-19 10:36:27 +00:00
Mary Guillemard
9e6e7d9ee3
panfrost: Enable 2 sample count support on v12+
...
v12+ supports this, let's expose it.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34997 >
2025-05-19 10:13:49 +00:00
Mary Guillemard
37856eff06
panfrost: Use pan_sample_pattern in pan_cmdstream
...
We had a duplicate function there, let's use common code instead and
allow v4.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34997 >
2025-05-19 10:13:49 +00:00
Mary Guillemard
4c0ce0c6f9
panvk: Enable VK_SAMPLE_COUNT_2_BIT support on v12+
...
v12+ supports this, let's expose it.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34997 >
2025-05-19 10:13:49 +00:00
Mary Guillemard
8e05222e1d
pan/lib: Add support for rotated 2x grid sample pattern
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34997 >
2025-05-19 10:13:49 +00:00
Timothy Arceri
c7c4905981
mesa: fix _FP32Buffers bitfield use
...
Previously we were assuming that all color attachments were active.
Fixes: 070a5e5d92 ("mesa: add explicit enable for EXT_float_blend, and error condition")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35014 >
2025-05-19 09:41:50 +00:00
Timothy Arceri
b7d8c195a2
mesa/st: fix _IsRGBDraw bitfield use
...
Previously we were assuming that all color attachments were active.
Fixes: 5b51d754d0 ("st/mesa: Optionally override RGB/RGBX dst alpha blend factors")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35014 >
2025-05-19 09:41:50 +00:00
Timothy Arceri
c1d00c9a1a
mesa/st: fix _BlendForceAlphaToOneDraw bitfield use
...
Previously we were assuming that all color attachments were active.
Fixes: 4f28e2827c ("mesa: fix blending when using luminance/intensity emulation")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35014 >
2025-05-19 09:41:50 +00:00
Timothy Arceri
d04d9da98c
st/mesa: fix _IntegerBuffers bitfield use
...
Previously we were assuming that all color attachments were active.
Fixes: 8fb966688b ("st/mesa: Disable blending for integer formats.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13168
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35014 >
2025-05-19 09:41:50 +00:00
Eric Engestrom
fd8d8264e0
ci/ci-tron: replace crude dump of env vars with reproducible job script
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34962 >
2025-05-19 11:04:32 +02:00
Samuel Pitoiset
fef1174b00
vulkan/runtime: fix a wrong assert that validates timeline semaphores
...
It's still legal to include VkTimelineSemaphoreSubmitInfo in pNext
without any timeline semaphores. While we are at it, also fix the VUs.
This was observed with Doom The Dark Ages.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35022 >
2025-05-19 07:22:23 +00:00
Lionel Landwerlin
c570740272
anv: enable preemption setting on command/batch correctly
...
The 2 helpers we're using for doing internal operations (copies,
command generation, etc...) can work on command buffers or lower level
batches.
When working with command buffers, the helpers should set the
preemption using genX(cmd_buffer_set_preemption) so that whatever
operation comes after toggles the state back to what it needs and we
minimize the toggles.
When working with batchs, the helpers should disable preemption using
genX(batch_set_preemption) and turn it back on when done.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35030 >
2025-05-19 06:56:04 +00:00
Echo J
586ad02b9c
subprojects: Don't use native option for rustc-hash dependency
...
This should fix the 32-bit NVK build
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35037 >
2025-05-18 13:56:34 +00:00
Echo J
4605592db2
subprojects: Don't ignore Meson wrappers in gitignore
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35037 >
2025-05-18 13:56:34 +00:00
Alessandro Astone
84cae30f0a
android: Link with libc++fs up to SDK 35
...
Before SDK35 the c++ filesystem API was part of a standalone library
Reviewed-by: Mauro Rossi <issor.oruam@gmail.com >
Backport-to: 25.1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34797 >
2025-05-18 07:18:35 +00:00
llyyr
033ce1bae1
vulkan/wsi/wayland: make needs_color_surface_old check if surface exists
...
Otherwise we end up removing refcount even when we don't have a color
surface already for applications going from SRGB_NONLINEAR to
PASS_THROUGH dring runtime.
To reproduce the bug, start mpv with "--target-colorspace-hint=yes" then
set it to "no" during runtime with a keybind
Fixes: 789507c99c ("vulkan/wsi: implement the Wayland color management protocol")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34708 >
2025-05-17 08:01:57 +00:00
Jianxun Zhang
2212865ce0
anv: Use different PAT entries for compressed resources
...
Displayable compressed resournces have a different PAT
entry from the non-displayable compressed.
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29928 >
2025-05-16 16:03:54 -07:00
Jianxun Zhang
6eeb079653
iris: New compressed heaps for scanout buffers (xe2)
...
Two new heaps are introduced to use a different PAT entry
for compressed buffers to display.
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29928 >
2025-05-16 16:03:54 -07:00
Jianxun Zhang
ca092db7ce
intel/dev: Differentiate displayable PAT entry of compression (xe2)
...
We need two PAT entries with compression for displayable and
non-displayable compressed images. The current 'compressed' entry
is renamed to 'scanout_compressed' for the displayable.
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29928 >
2025-05-16 16:03:54 -07:00
Ian Romanick
37ee91679a
nir/algebraic: Generalize an existing bfi(a, 0, ...) pattern
...
No shader-db changes on any Intel platform.
fossil-db:
All Intel platforms had similar results. (Lunar Lake shown)
Totals:
Instrs: 210561118 -> 210560921 (-0.00%)
Send messages: 10979615 -> 10979613 (-0.00%)
Cycle count: 31576352808 -> 31576347218 (-0.00%); split: -0.00%, +0.00%
Max live registers: 66068161 -> 66068157 (-0.00%)
Non SSA regs after NIR: 60230775 -> 60230949 (+0.00%)
Totals from 180 (0.03% of 707082) affected shaders:
Instrs: 68035 -> 67838 (-0.29%)
Send messages: 3190 -> 3188 (-0.06%)
Cycle count: 3979496 -> 3973906 (-0.14%); split: -0.14%, +0.00%
Max live registers: 11812 -> 11808 (-0.03%)
Non SSA regs after NIR: 18878 -> 19052 (+0.92%)
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34905 >
2025-05-16 14:49:25 -07:00
Ian Romanick
464955bbdd
nir/algebraic: Optimize some open-coded extract_i8
...
These were initially observed in Hogwarts Legacy while working on
something else entirely. Two compute shaders in that app are helped
for spills and fills. On Skylake, one of the shaders benefits from
this change, and the other is hurt pretty significantly.
About 40 vertex shaders in Shadow of the Tomb Raider were helped for
instructions.
v2: Use ~0xff instead of 0xffffff00 to ensure the patterns will work
properly with all bit sizes. Noticed by Georg.
v3: No, really, fix the various errors to ensure the patterns will work
properly with all bit sizes. Noticed by Georg.
No shader-db changes on any Intel platform.
fossil-db:
Lunar Lake, Meteor Lake, and DG2 had similar results. (Lunar Lake)
Totals:
Instrs: 210566294 -> 210561118 (-0.00%)
Cycle count: 31582309052 -> 31576352808 (-0.02%); split: -0.02%, +0.00%
Spill count: 519300 -> 519280 (-0.00%)
Fill count: 625181 -> 625161 (-0.00%)
Scratch Memory Size: 36289536 -> 36281344 (-0.02%)
Max live registers: 66068413 -> 66068161 (-0.00%)
Non SSA regs after NIR: 60230773 -> 60230775 (+0.00%)
Totals from 1662 (0.24% of 707082) affected shaders:
Instrs: 635064 -> 629888 (-0.82%)
Cycle count: 36549632 -> 30593388 (-16.30%); split: -16.43%, +0.14%
Spill count: 246 -> 226 (-8.13%)
Fill count: 280 -> 260 (-7.14%)
Scratch Memory Size: 16384 -> 8192 (-50.00%)
Max live registers: 178491 -> 178239 (-0.14%)
Non SSA regs after NIR: 169552 -> 169554 (+0.00%)
Tiger Lake
Totals:
Instrs: 238544730 -> 238539407 (-0.00%)
Cycle count: 23679446097 -> 23673238578 (-0.03%); split: -0.03%, +0.00%
Max live registers: 42494925 -> 42494799 (-0.00%)
Non SSA regs after NIR: 63639071 -> 63639074 (+0.00%)
Totals from 1662 (0.21% of 802704) affected shaders:
Instrs: 626604 -> 621281 (-0.85%)
Cycle count: 26444363 -> 20236844 (-23.47%); split: -23.50%, +0.02%
Max live registers: 95405 -> 95279 (-0.13%)
Non SSA regs after NIR: 181150 -> 181153 (+0.00%)
Ice Lake
Totals:
Instrs: 238855310 -> 238826534 (-0.01%)
Cycle count: 24952257277 -> 24944589398 (-0.03%); split: -0.03%, +0.00%
Spill count: 575510 -> 575117 (-0.07%)
Fill count: 713007 -> 708632 (-0.61%)
Max live registers: 42499556 -> 42499432 (-0.00%)
Non SSA regs after NIR: 64388747 -> 64388750 (+0.00%)
Totals from 1662 (0.21% of 805149) affected shaders:
Instrs: 926887 -> 898111 (-3.10%)
Cycle count: 67025583 -> 59357704 (-11.44%); split: -11.45%, +0.01%
Spill count: 5168 -> 4775 (-7.60%)
Fill count: 32883 -> 28508 (-13.30%)
Max live registers: 95614 -> 95490 (-0.13%)
Non SSA regs after NIR: 181150 -> 181153 (+0.00%)
Skylake
Totals:
Instrs: 161904416 -> 161895239 (-0.01%); split: -0.01%, +0.00%
Cycle count: 20098067714 -> 20090767583 (-0.04%); split: -0.04%, +0.00%
Spill count: 525546 -> 525789 (+0.05%); split: -0.04%, +0.09%
Fill count: 603369 -> 602276 (-0.18%); split: -0.28%, +0.10%
Max live registers: 33895714 -> 33895590 (-0.00%)
Non SSA regs after NIR: 57348729 -> 57348730 (+0.00%)
Totals from 1655 (0.25% of 653734) affected shaders:
Instrs: 769979 -> 760802 (-1.19%); split: -1.83%, +0.64%
Cycle count: 51365416 -> 44065285 (-14.21%); split: -14.22%, +0.01%
Spill count: 4186 -> 4429 (+5.81%); split: -4.90%, +10.70%
Fill count: 16356 -> 15263 (-6.68%); split: -10.50%, +3.82%
Max live registers: 95115 -> 94991 (-0.13%)
Non SSA regs after NIR: 180797 -> 180798 (+0.00%)
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34905 >
2025-05-16 14:49:05 -07:00
Sergi Blanch Torne
fca369f57a
bin/ci: crnm: adaptative field pads
...
Some text paddings are not enough during the execution of the script. Having
an adaptative way for this variable can help the structure and visibility of
the output.
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34856 >
2025-05-16 20:34:16 +00:00
Sergi Blanch Torne
f65975975e
bin/ci: crnm: columns list when waiting jobs update
...
It's another example of a long list of job names, when the jobs waiting for a
status update is printed. The print formatted list can help to present it.
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34856 >
2025-05-16 20:34:16 +00:00
Sergi Blanch Torne
e4396c40fa
bin/ci: crnm: columns list for cancelled jobs
...
Rewrite how the jobs are cancelled within a pool of threads to simplify how
it can then use the print formatted list to for a better presentation of the
results.
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34856 >
2025-05-16 20:34:16 +00:00
Sergi Blanch Torne
e504d226ce
bin/ci: crnm: format in columns when listing
...
When we are printing a long list, and it needs more than one line, it gets
hard to review the content. This is an idea to group the elements to be
printed in columns to make it easier to identify individual elements in
the output.
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34856 >
2025-05-16 20:34:16 +00:00
Seán de Búrca
611772af45
rusticl: replace unnecessary Vec references with slice refs
...
v2: restore static borrow on `core::device::devs()`
Reviewed-by: @LingMan
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34389 >
2025-05-16 19:58:31 +00:00
Seán de Búrca
543b07bee8
rusticl: write CLInfoValues from iterators instead of collecting
...
All of the current instances of writing info values from `Vec`s involve
building an iterator and then collecting it specifically for writing.
By using an `ExactSizeIterator`, we can avoid the need for allocating in
these cases.
v2: use existing `CLInfoValue::write_iter()` instead of custom type
Reviewed-by: @LingMan
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34389 >
2025-05-16 19:58:31 +00:00
Seán de Búrca
3a16c9ab43
rusticl: iterate subgroup sizes only as needed
...
Making subgroup sizes an iterator avoids collecting (and thus
allocation) in cases where the values are unneeded or only the first is
needed.
v2: fix calculation of `SetBitIndices<u32>` iterator length
Reviewed-by: @LingMan
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34389 >
2025-05-16 19:58:31 +00:00
Seán de Búrca
0980ba8595
rusticl: use simple equality check for contexts instead of HashSet
...
v2: use `[T]::split_first()` to consolidate equality check
v3: undo misleading comment split
Reviewed-by: @LingMan
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34389 >
2025-05-16 19:58:31 +00:00
Seán de Búrca
ac44513b9e
rusticl: hand-map 3-element arrays for fallible conversion
...
Iterating arrays and collecting to a `Vec` requires allocating memory
for the `Vec` and, when the needed result is an array of the same size
as the original, an unnecessary fallible conversion back to an array.
While arrays have a `map()` method for infallible conversions,
`try_map()` is unstable. Fortunately, we only have to worry about one
array size and it's small, so hand-mapping is a viable alternative.
Reviewed-by: @LingMan
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34389 >
2025-05-16 19:58:31 +00:00
Collabora's Gfx CI Team
38efae8964
Uprev Piglit to 1767af745ed96f77b16c0c205015366d1fbbdb22
...
1498c397ea...1767af745e
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34936 >
2025-05-16 17:25:05 +00:00
Collabora's Gfx CI Team
749ccf3a9c
Uprev ANGLE to db71e8fa7c26d18f76d7b9e9474447b20f1c73b3
...
db33baf4eb...db71e8fa7c
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34936 >
2025-05-16 17:25:05 +00:00
Ella Stanforth
be3ce07f58
v3d/compiler: Fix ub when using memcmp for texture comparisons.
...
We need to zero out all memory in the struct otherwise memcmp ends up comparing
padding bytes.
Cc: mesa-stable
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34945 >
2025-05-16 16:05:21 +00:00
Olivia Lee
22fb7eaa8c
util/u_printf: fix memory leak in u_printf_singleton_add_serialized
...
info->arg_sizes and info->strings were leaked because they were
allocated in the global context.
Fixes: 007f60c8b8 ("util/u_printf: add singleton implementation")
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34987 >
2025-05-16 14:28:50 +00:00
Yiwei Zhang
1895de16a6
venus: filter out venus incapable physical devices
...
VK_KHR_external_memory_fd is required by Venus at the bare minimum for
all different ways to support the current venus guest memory mapping.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34830 >
2025-05-16 14:12:36 +00:00
Yiwei Zhang
5abce52a67
venus: misc cleanups post wsi requirement relax
...
This avoids an invalid assert hit on debug build since we no longer
require drm format modifiers.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34830 >
2025-05-16 14:12:36 +00:00
Yiwei Zhang
92f79d35c4
venus: relax external memory ext requirement
...
On Android, both the ANB and AHB extensions support still requires
renderer external memory support along with format modifier and foreign
queue support.
On Linux, however, renderer external memory support alone is sufficient
to expose external memory extensions. This also helps not to force sw
wsi device when renderer has external memory support.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34830 >
2025-05-16 14:12:36 +00:00
Yiwei Zhang
0c345c2c5e
venus: clang-format
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34830 >
2025-05-16 14:12:36 +00:00
Loïc Molinari
a35415530d
panfrost: Use util_streaming_load_memcpy() to copy AFBC superblocks
...
Use the now AArch64 optimized util_streaming_load_memcpy() routine to
copy the AFBC superblocks from non-cacheable to cacheable memory.
Signed-off-by: Loïc Molinari <loic.molinari@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34606 >
2025-05-16 13:35:33 +00:00
Loïc Molinari
293cdbce75
util: Add AArch64 support to util_streaming_load_memcpy()
...
AArch64 supports non-temporal (streaming) loads and writes.
util_streaming_load_memcpy() is extended to support AArch64
non-temporal loads using inline assembly.
The mesa_util_sse41 name is updated to mesa_util_simd to reflect
support for non-x86 architectures.
This makes copies from non-cacheable to cacheable memory about 20%
faster on a Rock 5B.
Signed-off-by: Loïc Molinari <loic.molinari@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34606 >
2025-05-16 13:35:33 +00:00
Loïc Molinari
d3544aebd7
panfrost: Optimize AFBC-P offsets computation
...
Copy block info from non-cacheable memory to cacheable memory in order
to avoid flushing the write combining buffer at each iteration for
only 4 bytes written.
This makes AFBC-P offsets computation ~13.5 times faster on Rock 5B
for a 2048x2048 RGBA8 texture, taking ~0.2 ms instead of ~2.7 ms.
Signed-off-by: Loïc Molinari <loic.molinari@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34606 >
2025-05-16 13:35:33 +00:00
Daniel Schürmann
64eed6807a
aco/isel: move visit_intrinsic() into separate file
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34977 >
2025-05-16 11:01:19 +00:00
Daniel Schürmann
8aae636e38
aco/isel: move visit_alu_instr() into separate file
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34977 >
2025-05-16 11:01:19 +00:00
Daniel Schürmann
5342576789
aco/isel: rename aco_instruction_selection.cpp -> aco_isel_nir.cpp
...
Also remove some unused includes and unnecessary static specifiers.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34977 >
2025-05-16 11:01:19 +00:00
Daniel Schürmann
b6442669c1
aco/isel: move select_ps_epilog() into separate file
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34977 >
2025-05-16 11:01:19 +00:00
Daniel Schürmann
776384d99d
aco/isel: move select_ps_prolog() into separate file
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34977 >
2025-05-16 11:01:19 +00:00
Daniel Schürmann
c3ef927e31
aco/isel: move select_vs_prolog() into separate file
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34977 >
2025-05-16 11:01:19 +00:00
Daniel Schürmann
c4ec430c26
aco/isel: move select_rt_prolog() into separate file
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34977 >
2025-05-16 11:01:19 +00:00
Daniel Schürmann
4d910ca301
aco/isel: move select_trap_handler_shader() into separate file
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34977 >
2025-05-16 11:01:19 +00:00
Daniel Schürmann
146ce57f2d
aco/isel: move control-flow helper functions into separate file
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34977 >
2025-05-16 11:01:19 +00:00
Daniel Schürmann
59f314a9a6
aco/isel: move some helper functions into a separate file
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34977 >
2025-05-16 11:01:19 +00:00
Daniel Schürmann
62a92417ef
aco: move instruction selection files to /compiler/instruction selection/ subfolder
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34977 >
2025-05-16 11:01:19 +00:00
Daniel Schürmann
85a4ec32e8
aco: rename aco_instruction_selection_setup.cpp -> aco_isel_setup.cpp
...
Also remove unused includes.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34977 >
2025-05-16 11:01:19 +00:00
David Rosca
bade93c447
radeonsi/vce: Fix output quality and performance in speed preset
...
Fixes: 544a180320 ("radeonsi/vce: Support quality presets")
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34894 >
2025-05-16 10:36:44 +00:00
David Rosca
ad96031ec6
radeonsi/vce: Only send one task per IB
...
There is no need to use second task for config when creating the
session, also it doesn't work now as we don't set the next task
offset in task info anymore.
Fixes: 9ca1cda2be ("radeonsi/vce: Cleanup")
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34894 >
2025-05-16 10:36:44 +00:00
David Rosca
fd1480c3df
radeonsi/vce: Fix bitstream buffer size
...
On old VCE this was being rejected by kernel because the size here
was the buffer size, but the bitstream buffer address includes the
offset.
Fixes: 901aafb030 ("radeonsi/vce: Support raw packed headers")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13128
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34894 >
2025-05-16 10:36:44 +00:00
Juan A. Suarez Romero
f27d062abc
gallium/util: fix num primitives for line loops
...
When computing the number of primitives from the number of vertices, for
the case of line loops we need to include an extra line that closes the
shape.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35007 >
2025-05-16 09:06:17 +00:00
Gert Wollny
58d8dc9543
r600/sfn: dump the lowered shader when translation fails
...
So far we printed the variant before the final lowering was done,
this is usually not that helpful. For this the code to dump the
shader has to go into r600_shader_from_nir.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34999 >
2025-05-16 08:45:58 +00:00
Valentine Burley
2ce2c1f835
zink/ci: Skip flaky trace on TGL
...
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35016 >
2025-05-16 08:00:11 +00:00
Valentine Burley
4ad8c8752d
ci: Run rustfmt and python jobs on aarch64
...
The x86_64 shared runners often have long queues.
Move the rustfmt, python-artifacts, and yaml-toml-shell-py-test jobs to
use the aarch64 runners instead.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35000 >
2025-05-16 06:07:20 +00:00
Valentine Burley
3029898a15
ci/container: Include DEBIAN_BUILD_TAG in debian/arm64_build
...
Unlike other containers (e.g. debian/x86_64_build-base and
debian/x86_64_build), debian/arm64_build is a single-stage image without
a separate -base variant.
Including DEBIAN_BUILD_TAG in its FDO_DISTRIBUTION_TAG ensures it gets
rebuilt when the build tag changes.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12737
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35000 >
2025-05-16 06:07:20 +00:00
Yiwei Zhang
cc4fd7cc9d
vulkan: fix random tabs to spaces
...
Only the vk_time_max_deviation tab usage requires a manual fix to make
sense. Others are boring replacements.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35011 >
2025-05-16 03:57:31 +00:00
Kovac, Krunoslav
360d252888
amd/vpelib: Fix CodeQL issues Pt1
...
[WHY]
Redundant / inconsisten nullptr checks
Reviewed-by: Jude Shih <Jude.Shih@amd.com >
Reviewed-by: Evan Damphousse <Evan.Damphousse@amd.com >
Acked-by: ChuanYu Tseng <ChuanYu.Tseng@amd.com >
Signed-off-by: Krunoslav Kovac <Krunoslav.Kovac@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35012 >
2025-05-16 11:33:08 +08:00
Chang, Tomson
134b5bede7
amd/vpelib: Update headers
...
Update new headers
Reviewed-by: Jude Shih <Jude.Shih@amd.com >
Reviewed-by: Ricky Lin <Ricky.Lin@amd.com >
Acked-by: ChuanYu Tseng <ChuanYu.Tseng@amd.com >
Signed-off-by: Tomson Chang <tomson.chang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35012 >
2025-05-16 11:33:08 +08:00
Chan, Roy
ffa5aadd2f
amd/vpelib: fix doxgen warnings
...
What does the change do after sanization if any.
Delete this section if not applicable.
Acked-by: ChuanYu Tseng <ChuanYu.Tseng@amd.com >
Signed-off-by: Roy Chan <roy.chan@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35012 >
2025-05-16 11:33:08 +08:00
Nagulendran, Iswara
80af9d4756
amd/vpelib: Fix VPELIB Build Warnings
...
Fix build warnings.
Signed-off-by: Iswara Nagulendran <Iswara.Nagulendran@amd.com >
Reviewed-by: Roy Chan <Roy.Chan@amd.com >
Acked-by: ChuanYu Tseng <ChuanYu.Tseng@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35012 >
2025-05-16 11:33:08 +08:00
Okenczyc, Andrzej
71b285d091
amd/vpelib: Resolve query, predication and timestamp operations
...
[HOW]
Some clients of vpelib requires additional operations to be implemented.
Implemented support for new firmware operations.
Reviewed-by: Roy Chan <Roy.Chan@amd.com >
Reviewed-by: Jesse Agate <Jesse.Agate@amd.com >
Acked-by: ChuanYu Tseng <ChuanYu.Tseng@amd.com >
Signed-off-by: Okenczyc, Andrzej <andrzej.okenczyc@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35012 >
2025-05-16 11:33:08 +08:00
Nagulendran, Iswara
f10244d8d9
amd/vpelib: Setup cost profiling support
...
Add logs to profile registers writes.
Reviewed-by: Roy Chan <Roy.Chan@amd.com >
Reviewed-by: Jesse Agate <Jesse.Agate@amd.com >
Acked-by: ChuanYu Tseng <ChuanYu.Tseng@amd.com >
Signed-off-by: Nagulendran, Iswara <Iswara.Nagulendran@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35012 >
2025-05-16 11:33:08 +08:00
Han, Szu Chih
8bdbd12508
amd/vpelib: add TF_BT709
...
[HOW]
Add VPE_SURFACE_PIXEL_FORMAT_VIDEO_420_10bpc_YCrCb -> VPE_TF_BT709 in
vpe_visual_confirm.c
Reviewed-by: Tomson Chang <Tomson.Chang@amd.com >
Reviewed-by: Min-Hsuan You <Min-Hsuan.You@amd.com >
Acked-by: ChuanYu Tseng <ChuanYu.Tseng@amd.com >
Signed-off-by: Han, Szu Chih <SzuChih.Han@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35012 >
2025-05-16 11:33:08 +08:00
Han, Szu Chih
3bd03b3cb0
amd/vpelib: add VPE_TF_SRGB
...
[HOW]
Add VPE_SURFACE_PIXEL_FORMAT_VIDEO_420_10bpc_YCrCb -> VPE_TF_SRGB in
vpe_visual_confirm.c
Co-authored-by: Mike Han <szuchhan@amd.com >
Reviewed-by: Tomson Chang <Tomson.Chang@amd.com >
Reviewed-by: Min-Hsuan You <Min-Hsuan.You@amd.com >
Acked-by: ChuanYu Tseng <ChuanYu.Tseng@amd.com >
Signed-off-by: Han, Szu Chih <SzuChih.Han@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35012 >
2025-05-16 11:33:08 +08:00
Shih, Jude
7b68174bf0
amd/vpelib: Alpha Fill add mode
...
Add destination and source stream mode
[WHY]
In the new version, we add the two alpha fill mode
[HOW]
Add the two enum first
Reviewed-by: Brendan Steve Leder <BrendanSteve.Leder@amd.com >
Reviewed-by: Tomson Chang <Tomson.Chang@amd.com >
Acked-by: ChuanYu Tseng <ChuanYu.Tseng@amd.com >
Signed-off-by: Jude Shih <shenshih@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35012 >
2025-05-16 11:33:08 +08:00
Shih, Jude
cb0b8d58a0
amd/vpelib: remove sensitive keywords
...
[WHY]
The KWS hit the words in the vpelib as forbidden
[HOW]
replace it with proper ones
Reviewed-by: Tomson Chang <Tomson.Chang@amd.com >
Reviewed-by: Tiberiu Visan <Tiberiu.Visan@amd.com >
Acked-by: ChuanYu Tseng <ChuanYu.Tseng@amd.com >
Signed-off-by: Jude Shih <shenshih@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35012 >
2025-05-16 11:33:08 +08:00
Shih, Jude
c40ac921aa
amd/vpelib: VPE descriptor added
...
[WHY]
- Need to implement code for new version
- There are some format changes in new version
[HOW]
- Add plane descriptor
- Add plane descriptor patch
- Add command builder
- Restructure the code base to apply for multiple version
Reviewed-by: Krunoslav Kovac <Krunoslav.Kovac@amd.com >
Reviewed-by: Tomson Chang <Tomson.Chang@amd.com >
Acked-by: ChuanYu Tseng <ChuanYu.Tseng@amd.com >
Signed-off-by: Jude Shih <shenshih@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35012 >
2025-05-16 11:33:08 +08:00
Agate, Jesse
f80a69d756
amd/vpelib: Add macro to perform ceil division
...
Add macro to perform ceil division
Reviewed-by: Brendan Steve Leder <BrendanSteve.Leder@amd.com >
Reviewed-by: Navid Assadian <Navid.Assadian@amd.com >
Acked-by: ChuanYu Tseng <ChuanYu.Tseng@amd.com >
Signed-off-by: Agate, Jesse <Jesse.Agate@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35012 >
2025-05-16 11:33:08 +08:00
Zhao, Jiali
7b8c912c22
amd/vpelib: G2084 STUDIO output gamma fix
...
Made output gamma a hook function
Reviewed-by: Jesse Agate <Jesse.Agate@amd.com >
Reviewed-by: Krunoslav Kovac <Krunoslav.Kovac@amd.com >
Acked-by: ChuanYu Tseng <ChuanYu.Tseng@amd.com >
Signed-off-by: Zhao, Jiali <Jiali.Zhao@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35012 >
2025-05-16 11:33:08 +08:00
Kovac, Krunoslav
fc5973429f
amd/vpelib: Update comment and fix some code alignment issues.
...
Update comment and fix some code alignment issues.
Reviewed-by: Tomson Chang <Tomson.Chang@amd.com >
Reviewed-by: Evan Damphousse <Evan.Damphousse@amd.com >
Acked-by: ChuanYu Tseng <ChuanYu.Tseng@amd.com >
Signed-off-by: Krunoslav Kovac <Krunoslav.Kovac@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35012 >
2025-05-16 11:33:08 +08:00
Visan, Tiberiu
96b7e52b57
amd/vpelib: feature augment
...
[WHY]
support future feature augment
Co-authored-by: Chan, Roy <Roy.Chan@amd.com >
Reviewed-by: Navid Assadian <Navid.Assadian@amd.com >
Reviewed-by: Jesse Agate <Jesse.Agate@amd.com >
Acked-by: ChuanYu Tseng <ChuanYu.Tseng@amd.com >
Signed-off-by: Visan, Tiberiu <Tiberiu.Visan@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35012 >
2025-05-16 11:33:08 +08:00
Krunoslav Kovac
f6144116c9
amd/vpelib: Remove RGBE_ALPHA
...
No such DXGI_FORMAT, nor is there space to squeeze in alpha.
Reviewed-by: Navid Assadian <Navid.Assadian@amd.com >
Reviewed-by: Jesse Agate <Jesse.Agate@amd.com >
Acked-by: ChuanYu Tseng <ChuanYu.Tseng@amd.com >
Signed-off-by: Krunoslav Kovac <Krunoslav.Kovac@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35012 >
2025-05-16 11:33:08 +08:00
Chen, Phoebe
f2e65c02e6
amd/vpelib: Fix memory leak from segment ctx
...
[WHY]
There is potential memory leak from vpe_alloc_segment_ctx.
This memory leak occurs only in multi-frame VPE tests where
between vpe_create and vpe_destroy, multiple calls are made
to vpe_check_support that allocates new segment context without
releasing the old one.
[HOW]
Allocate segment_ctx only when it is not already allocated. If it is
already allocated, check whether re-allocation is needed. If not, skip
the allocation.
Signed-off-by: Phoebe Chen <phoebe.chen@amd.com >
Reviewed-by: Roy Chan <Roy.Chan@amd.com >
Reviewed-by: Jesse Agate <Jesse.Agate@amd.com >
Acked-by: ChuanYu Tseng <ChuanYu.Tseng@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35012 >
2025-05-16 11:33:08 +08:00
Leder, Brendan Steve
c1a3d021f3
amd/vpelib: Make BG gen stream idx adjustable
...
Update BKGR API
Change bg generation code so bg gen isn't hard-coded to stream 0, as
certain cases result in bg being generated at different stream.
Reviewed-by: Roy Chan <Roy.Chan@amd.com >
Reviewed-by: Evan Damphousse <Evan.Damphousse@amd.com >
Acked-by: ChuanYu Tseng <ChuanYu.Tseng@amd.com >
Signed-off-by: Leder, Brendan Steve <BrendanSteve.Leder@amd.co >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35012 >
2025-05-16 11:33:08 +08:00
Faith Ekstrand
5b34895e81
nak/dce: Use BitSet for live phis and SSA values
...
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34994 >
2025-05-15 22:28:31 -04:00
Faith Ekstrand
52dcb1c9c1
nak: Add a Phi struct type
...
Instead of passing raw u32's arround, this adds a new Phi wrapper struct
which is treated as opaque by most of the rest of the compiler. This is
similar to what we're already doing with Label and SSAValue. This also
gives us the opportunity to properly document NAK's phi model.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34994 >
2025-05-15 22:28:31 -04:00
Faith Ekstrand
531070cf91
nak: Use op instead of phi when referring to OpPhiSrcs or OpPhiDsts
...
This will reduce name conflicts in the next patch
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34994 >
2025-05-15 22:28:31 -04:00
Faith Ekstrand
5f5ce00410
nak/repair_ssa: Rename Phi to PhiTracker
...
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34994 >
2025-05-15 22:28:31 -04:00
Faith Ekstrand
fc54e6e1d2
nak/liveness: Use typed bitsets
...
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34994 >
2025-05-15 22:28:31 -04:00
Faith Ekstrand
afb11a5a9e
nak/liveness: Use an SSA value as the last_use HashMap key
...
We're not saving ourselves anything by using just the index.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34994 >
2025-05-15 22:28:31 -04:00
Faith Ekstrand
56f06a072c
compiler/rust/bitset: Make BitSet a generic container type
...
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34994 >
2025-05-15 22:28:31 -04:00
Faith Ekstrand
323769d3bb
compiler/rust,nak: Rename BitSet::get() to contains()
...
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34994 >
2025-05-15 22:14:12 -04:00
Faith Ekstrand
20d247d754
nak: Use Default::default() for BitSet constructors
...
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34994 >
2025-05-15 22:14:12 -04:00
Mel Henning
ed658a2d3a
compiler/rust/cfg: Add a hash func type parameter
...
and switch nak over to rustc-hash for CFGBuilder
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34865 >
2025-05-16 01:40:05 +00:00
Mel Henning
f5231e0677
nak: Also use rustc-hash for UnionFind
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34865 >
2025-05-16 01:40:04 +00:00
Mel Henning
43c3f5a8db
nak: Switch most Hash{Set,Map} uses to rustc-hash
...
We shouldn't need to worry about HashDoS attacks because:
1. All of these keys are compiler-assigned IDs which makes it very
difficult to force collitions, and
2. Anyone who can hit the NAK compiler backend can already use CPU
power by spamming shader compiles or using O(n^2) behavior in
shader opt loops
As a result, we can afford to use a weaker hash function without
randomization.
This decreases total compile times by around 12% on shaderdb
(from 8113.74 user to 7115.47 user) on my machine.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34865 >
2025-05-16 01:40:04 +00:00
Mel Henning
c1f979d84a
nak: Add a dependency on rustc-hash
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34865 >
2025-05-16 01:40:04 +00:00
Mel Henning
b4b557c9ef
nak: s/HashSet::new()/Default::default()/
...
wherever this doesn't result in type inference failing.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34865 >
2025-05-16 01:40:04 +00:00
Mel Henning
7a47f29d6d
nak: s/HashMap::new()/Default::default()/
...
wherever this doesn't result in type inference failing.
Using default() makes it easier to swap out the underlying type.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34865 >
2025-05-16 01:40:04 +00:00
Mel Henning
bb62044836
nak: rustfmt ir_proc.rs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34865 >
2025-05-16 01:40:04 +00:00
Mel Henning
bfe8340296
nouveau/headers: Ignore PermissionError in rustfmt
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13172
Fixes: 591b5da4 ("nouveau/headers: Run rustfmt on generated files")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35008 >
2025-05-16 01:08:07 +00:00
Mel Henning
da22094593
nouveau/headers: Run rustfmt after file is closed
...
If we run a subprocess while the file is still open, we may not have
flushed the file contents to disk.
Fixes: 591b5da4 ("nouveau/headers: Run rustfmt on generated files")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35008 >
2025-05-16 01:08:07 +00:00
Kenneth Graunke
20222cd956
anv: Use the new nir_opt_acquire_release_barriers pass
...
Improves performance of Phasmophobia with the "Eye Adaptation" video
setting enabled on Arc B570 by about 9.5%.
fossil-db results on Battlemage:
Totals:
Instrs: 148797922 -> 148797865 (-0.00%)
Send messages: 7066341 -> 7066317 (-0.00%)
Cycle count: 21459978352 -> 21459975048 (-0.00%)
Totals from 8 (0.00% of 574410) affected shaders:
Instrs: 4633 -> 4576 (-1.23%)
Send messages: 479 -> 455 (-5.01%)
Cycle count: 611886 -> 608582 (-0.54%)
Observed to cut 15% of sends in a Phasmophobia shader, 8.3% in a Far Cry
New Dawn shader, 7% in a Borderlands 3 DX11 shader, and 3.4-3.7% of
sends in a few Witcher 3 and Dark Souls 3 shaders.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33504 >
2025-05-16 00:29:13 +00:00
Kenneth Graunke
deb1d47155
nir: Add a new optimization for acquire/release atomics & barriers
...
Some shaders contain back-to-back atomic accesses in SPIR-V with
AcquireRelease semantics. In NIR, we translate these to a release
memory barrier, the atomic, then an acquire memory barrier.
This results in a lot of unnecessary memory barriers in the middle
of the sequence of atomics:
0. Release barrier
1. Atomic
2. Acquire barrier
3. Release barrier
4. Atomic
5. Acquire barrier
6. Release barrier
7. Atomic
8. Acquire barrier
In the absence of loads/stores, and when the atomic destinations are
unused, these barriers in-between atomics shouldn't be required.
This optimization pass would drop them (lines 2-3 and 5-6 above) while
leaving the first and last barriers (0 and 8), so the sequence remains
synchronized against other access elsewhere in the program.
One common example where this occurs is a sequence of min and max
atomics to clamp a certain memory location's value within a range.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33504 >
2025-05-16 00:29:13 +00:00
Rob Clark
65e18a8494
freedreno: Fix shader-clock when kernel exposes UCHE_TRAP_BASE
...
Fixes: 4b1b4ee10c ("freedreno,tu: Read and pass to compiler uche_trap_base)
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35010 >
2025-05-15 22:27:17 +00:00
Yinjie Yao
089e2cb6f9
radeonsi: Disable av1 cdef_channel_strength for VCN4
...
VCN4 hardware doesn't support this feature, it can only be supported in VCN5.
Signed-off-by: Yinjie Yao <yinjie.yao@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35004 >
2025-05-15 18:52:08 +00:00
Seán de Búrca
10fad5081d
nouveau: implement Default for Push
...
By convention, a struct with a `new()` method which has no parameters
should have a `Default` impl which calls `new()`.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34372 >
2025-05-15 17:52:32 +00:00
Seán de Búrca
f4f4b25d25
nak,nil: style cleanup
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34372 >
2025-05-15 17:52:32 +00:00
Seán de Búrca
adecea4af9
nak,nouveau: adjust function/method signatures to better match convention
...
v2: restore `to_cssa()` naming
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34372 >
2025-05-15 17:52:32 +00:00
Seán de Búrca
e559c63fd8
nak,nil: elide lifetimes where possible
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34372 >
2025-05-15 17:52:32 +00:00
Seán de Búrca
e4f045df58
nak,nil: avoid explicit returns at the end of functions
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34372 >
2025-05-15 17:52:32 +00:00
Seán de Búrca
e32c82d0f5
nak: use standard methods and macros to improve readability
...
v2: Leave `Op::is_branch()` and `Op::no_scoreboard()` matches alone
v3: Revert additional changes with unclear readability
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34372 >
2025-05-15 17:52:32 +00:00
Seán de Búrca
ba2b9345e8
nak: use Option propagation instead of explicit let-else clauses
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34372 >
2025-05-15 17:52:32 +00:00
Seán de Búrca
f2cc77dca8
nak: collapse extraneous conditional branches
...
v2: Revert collapsing of branches per review
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34372 >
2025-05-15 17:52:32 +00:00
Seán de Búrca
451b37820d
nak: remove unnecessary casts and conversions
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34372 >
2025-05-15 17:52:32 +00:00
Seán de Búrca
e4d895f0e1
rusticl: fix build with clippy driver
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35002 >
2025-05-15 09:35:17 -07:00
Seán de Búrca
35af55a2a7
rusticl: replace map_or(false, f) with is_some_and(f)
...
A new clippy lint fails on this pattern, causing build errors on
versions >= 1.84.0. `is_some_and()` is stable from 1.70.0.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35002 >
2025-05-15 09:35:08 -07:00
José Roberto de Souza
cb6f96a1e8
anv: Remove a '#if GFX_VER >= 30' block inside of a else of '#if GFX_VERx10 >= 125'
...
Removing deadcode.
Reviewed-by: Lucas Fryzek <lfryzek@igalia.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34988 >
2025-05-15 15:25:12 +00:00
José Roberto de Souza
37b42ef648
anv: Drop '#if GFX_VERx10 >= 125' inside of '#if GFX_VERx10 >= 125'
...
This is just redundant.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34988 >
2025-05-15 15:25:12 +00:00
José Roberto de Souza
bca12800aa
iris: Restrict platforms that needs Wa_1604061319
...
It was being applied even to platforms that don't require it.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34988 >
2025-05-15 15:25:12 +00:00
José Roberto de Souza
3cd972a2d3
anv: Enable preemption due 3DPRIMITIVE in GFX 12
...
The issues preventing it to be enabled were fixed so now we can enable
it but we need also to enable workaround 16013994831 back again.
Cc: mesa-stable
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34988 >
2025-05-15 15:25:12 +00:00
José Roberto de Souza
2432d6677e
anv: Implement missing part of Wa_1604061319
...
Description of this workaround are not clear but looking at Iris
implementation we need to emit all 3DSTATE_PUSH_CONSTANT_ALLOC_XS if
any 3DSTATE_PUSH_CONSTANT_ALLOC_XS is emitted.
Cc: mesa-stable
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34988 >
2025-05-15 15:25:12 +00:00
Ashley Smith
a1376449c8
panvk: Expose support for multiview on v7
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34832 >
2025-05-15 14:04:29 +00:00
Ashley Smith
4171917210
panvk: Add support for VK_KHR_multiview on v7
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34832 >
2025-05-15 14:04:29 +00:00
Rob Clark
d8ed4f14e6
freedreno/ir3: Fix tess/geom asan error
...
Fixes: ee0ee2a317 ("ir3: don't sync every TCS/GEOM block")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34989 >
2025-05-15 12:46:16 +00:00
Georg Lehmann
3f70433ff0
aco: add type information for operands/definitions
...
More information available for use in the optimizer.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29695 >
2025-05-15 12:17:17 +00:00
Corentin Noël
6c1c116a0f
virgl: Avoid possible double free when destroying the hw resource
...
When a resource is un-referenced, the reference count is decremented,
and intentionally no lock is acquired. This can result in the following
race condition when a resource is created from a handle:
```
[Thread] Operation
[0] Create resource from handle for the first time, refcount set to 1
[0] resource is unreferenced, refcount is decremented to 0 (intentionally
no mutex is locked)
[0] before entering virgl_hw_res_destroy to lock
virgl_drm_winsys::bo_handles_mutex the thread yields
[1] Create resource from handle pulls the resource from
virgl_drm_winsys::bo_handles, refcount is incremented to 1
[1] resource is unreferenced, refcount is decremented to 0
[1] Enter virgl_hw_res_destroy,
[1] acquire the lock on virgl_drm_winsys::bo_handles_mutex
[1] check reference count to be 0, yes -> the resource is destroyed
[1] release the lock on virgl_drm_winsys::bo_handles_mutex
[0] Enter virgl_hw_res_destroy,
[0] acquire the lock on virgl_drm_winsys::bo_handles_mutex
[0] Here the res pointer already points to freed memory
[0] check reference count to be 0, yes -> the resource is destroyed (again!)
double free or corruption (!prev)
```
To work around this race condition, keep track of the number of times
the resource was pulled from virgl_drm_winsys::bo_handles to see whether
it has to be kept alive despite the reference count being zero.
This can be reproduced with the `spec@ext_image_dma_buf_import@ext_image_dma_buf_import-refcount-multithread`
piglit test.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34809 >
2025-05-15 10:38:13 +00:00
Mary Guillemard
1c57581856
pan/lib: Make pan_shader.c not GENX
...
We move pan_raw_format_mask_midgard to pan_format.c instead making
pan_shader.c not depending on any GENX.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34895 >
2025-05-15 10:41:07 +02:00
Mary Guillemard
0bb9df9d33
pan/lib: Make pan_shader_get_compiler_options not GENX
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34895 >
2025-05-15 10:40:57 +02:00
Mary Guillemard
7158f2eb8b
pan/lib: Make pan_shader_compile not GENX
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34895 >
2025-05-15 10:40:47 +02:00
Mary Guillemard
1fa13ceb74
pan/lib: Move pan_fixup_blend_type to pan_blend.c
...
Also move bifrost_blend_type_from_nir to pan_blend.c, rename it and
makes it not GENX.
This part is related to blend so it makes more sense to have it there
and this will allow us to make pan_shader.c not GENX.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34895 >
2025-05-15 10:40:36 +02:00
Mary Guillemard
b3f8c955a7
pan/genxml: Add Register File Format to common.xml
...
This was added in v6+ and never changed.
This will allow us to remove GENX code logic that is identical.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34895 >
2025-05-15 10:40:23 +02:00
Mary Guillemard
60b131a712
pan/bi: Lower ffract in bifrost_nir_algebraic on v11+
...
On v11+, because FROUND.v2f16 is gone we end up with precision issues.
We now lower ffract in bifrost_nir_algebraic instead of during common
algebraic to ensure lower_bit_size has been performed.
This fixes
"dEQP-GLES3.functional.shaders.builtin_functions.common.fract.vec2_lowp_vertex"
and
"dEQP-GLES31.functional.shaders.builtin_functions.common.fract.vec2_lowp_compute".
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Backport-to: 25.1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34970 >
2025-05-15 07:12:44 +00:00
Mary Guillemard
5588ff49a7
pan/bi: Flush subnormals to zero for FROUND on v11+
...
FROUND on v11+ does not flush subnormals to zero even when configured in
the shader program header.
We now use FLUSH.ftz on the input of FROUND to ensure proper
behavior when rounding up and down with FTZ enabled.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Backport-to: 25.1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34970 >
2025-05-15 07:12:44 +00:00
Hans-Kristian Arntzen
e674823d55
radv: Consider that DGC might need shader reads of predicated data.
...
Similar to indirect draw barrier, need similar fixups for conditional
rendering access.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Cc: mesa-stable
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34956 >
2025-05-15 06:14:46 +00:00
Samuel Pitoiset
b79f1a3af3
ac/gpu_info: allow 32-bit predicate on GFX11+
...
This is natively supported.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34953 >
2025-05-15 05:51:04 +00:00
Samuel Pitoiset
3ca2f71f3d
radv: fix conditional rendering with DGC and non native 32-bit predicate
...
When the hardware doesn't natively support 32-bit predication, the
driver has a fallback which allocates a 64-bit predicate to the upload
BO in order to copy the original value.
But when conditional rendering is enabled in the stateCommandBuffer
which is used by preprocess() and the execute() is recorded also in the
stateCommandBuffer. If the preprocess() is recorded in a different
cmdbuf which is submitted before the cmdbuf that contains execute(),
the fallback (ie. alloc + COPY_DATA) will be performed after. This would
cause the predicate value to be always 0.
To fix that, keep track of the user predication VA which is the only
VA that needs to be used by DGC because it reads 32-bit from the shader.
This fixes a very weird corner case with vkd3d-proton.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13143
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34953 >
2025-05-15 05:51:04 +00:00
Samuel Pitoiset
e2625fa9ca
radv: fix fetching conditional rendering state for DGC preprocess
...
This state must be fetched from the stateCommandBuffer, not from the
current cmdbuf which executes the preprocess().
Partial fix for https://gitlab.freedesktop.org/mesa/mesa/-/issues/13143
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34953 >
2025-05-15 05:51:04 +00:00
Faith Ekstrand
d808870d49
nvk: Implement VK_EXT_zero_initialize_device_memory
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13159
Reviewed-By: Thomas H.P. Andersen <phomes@gmail.com >
Reviewed-By: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34968 >
2025-05-15 03:20:12 +00:00
Faith Ekstrand
f542a60686
nak: Add a helper to reduce OpPrmt sel immediates
...
Only the bottom 16 bits matter of the select source matter so we can
throw away the top 16 bits and avoid any i20 encoding issues. All of
the back-ends were already doing this except SM70 which has 32-bit
immediates anyway. However, doing it in a common place where it's
documented is better than skattering it everywhere. Also, doing it as
part of legalization ensures that we see the same thing in the
post-legalize IR as gets encoded.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34678 >
2025-05-15 02:32:27 +00:00
Faith Ekstrand
212f99d39d
nak: Add a helper for reducing OpShfl lane and c immediates
...
Every back-end has code to mask these because the hardware only has
limited encoding space. However, this can be done as a common
legalization operation and doing so means that our post-legalize IR
matches what actually gets encoded.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34678 >
2025-05-15 02:32:25 +00:00
Faith Ekstrand
9890110856
nak: Reduce shift immediates instead of adding copies
...
SM20 was smart enough to reduce shift immediates instead of just
detecting i20 overflow and adding copies. This adds helpers to make
this easier and propagates the improvement out to all the back-ends.
Even though it isn't necessary on Volta+, we might as well do it there
for consistency and because smaller shift values are easier to read in
the final assembly.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34678 >
2025-05-15 02:32:24 +00:00
Faith Ekstrand
87a90a0e6a
nak: Add HW tests for OpShr and OpShl
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34678 >
2025-05-15 02:32:23 +00:00
Faith Ekstrand
d3e917ea03
nak: Fix OpShf folding for shift >= 64
...
The checked_shr wasn't returning the correct value if .wrap was not set.
We also weren't checking this case in the unit tests so we missed it.
While we're here, get rid of a bunch of pointhess `as u64` as well.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34678 >
2025-05-15 02:32:22 +00:00
Faith Ekstrand
fa58199166
nak/sm20: Remove some unnecessary Option<>
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34678 >
2025-05-15 02:32:22 +00:00
Hyunjun Ko
7ddf51dc99
anv: Fix to set CDEF filter flag correctly.
...
This fixes to play av1_intel_broken2.ivf.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34866 >
2025-05-15 01:02:05 +00:00
Hyunjun Ko
2e256a3cee
anv: Allocate MV buffers enough for AV1 decoding.
...
As other video memories for AV1 are already allocated for the maximum
sizes, now it does the same for MV buffers too.
This fixes a bunch of artifacts of AV1 playing.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34866 >
2025-05-15 01:02:05 +00:00
Hyunjun Ko
f4d480f808
anv: Always allocate cdf tables when independent profiles provided
...
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34866 >
2025-05-15 01:02:05 +00:00
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)
...
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
...
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
...
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
Erik Faye-Lund
080c0acf05
pan/ci: add fragment_out flakes from t860 to t760
...
We're seeing this in the nightly runs as well:
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/76298410#L1467
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34966 >
2025-05-14 08:36:51 +00:00
Collabora's Gfx CI Team
d03d7015fd
Uprev ANGLE to db33baf4eb0d7954f0110cddc30acb9cdc12e2d4
...
3540a326ec...db33baf4eb
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34870 >
2025-05-14 08:04:17 +00:00
Georg Lehmann
33b5d8b2ec
radeonsi: always lower alu bit sizes
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13072
load_vs_input_from_vertex_buffer can create unsupported 16bit shifts on GFX6/7.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34946 >
2025-05-14 07:42:23 +00:00
Mary Guillemard
804567ddd8
panfrost: Remove PROGRESS_* helpers in cs_builder.h
...
Progression logic is deprecated since v11 (removed on v14) and
we don't plan to use it.
This removes all PROGRESS_* helper in cs_builder.h.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34947 >
2025-05-14 07:16:36 +00:00
Mary Guillemard
53f780ec91
panfrost: Remove progress_increment from all CS builders
...
Progression logic is deprecated since v11 and we don't plan to use it.
Let's get ride of all increment logic on all instructions.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34947 >
2025-05-14 07:16:36 +00:00
Lorenzo Rossi
5ba982f166
nvk: Clean up boilerplate around complex NIR flags
...
This commit moves boilerplate code surrounding NIR flags in a common
NAK_AS_U32 macro. The code only checks that the flag structure
has only 32 bits and then copies it into a 32-bit int.
Signed-off-by: Lorenzo Rossi <snowycoder@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34940 >
2025-05-14 03:22:32 +00:00
Patrick Lerda
769510f1cc
r600: implement EXT_shader_image_load_store
...
Evergreen and cayman have the hardware support for this extension.
This is described by the manual as EXPORT_RAT_INST_INC_UINT_RTN
and EXPORT_RAT_INST_DEC_UINT_RTN.
This change was tested and passes the piglit tests (17/17)
on cypress, palm and cayman.
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34501 >
2025-05-14 01:23:54 +00:00
Timothy Arceri
1d4ebe79b5
mesa: relax EXT_texture_integer validation
...
This updates mesa to avoid throwing an error if an attached fbo
wont actually be drawn into.
Fixes: 705978e283 ("mesa: do integer FB / shader validation check in _mesa_valid_to_render()")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13144
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34949 >
2025-05-13 23:32:19 +00:00
Juan A. Suarez Romero
da7c716869
broadcom/ci: update test expected results
...
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34963 >
2025-05-13 19:30:41 +00:00
Thomas H.P. Andersen
a87c9bc49e
driconf: update X4 Foundations executable name
...
'X4.exe' is the executable. But there is also a script 'X4' that is used to
launch the game. This script is what steam uses.
This updates driconf to match that.
This also brings the executable in line with other configs for the game.
Fixes: 5532f13566 ("driconf: override vendor id for X4 Foundations on NVK")
Fixes: 8654a7727f ("driconf: set vk_zero_vram driconf for X4 Foundations")
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34168 >
2025-05-13 17:11:41 +00:00
Samuel Pitoiset
69ff204422
radv: remove the optimization for equal immutable samplers
...
This optimization used to optimize the allocated space for descriptors
when immutable samplers are equal. Though, this was basically broken :
- descriptor copies were broken for combiner image sampler (or sampler)
with equal immutable samplers because 96 bytes were copied instead of
64 bytes (cf. the linked ticket). This could be fixed but it's not
worth it.
- the value returned by vkGetDescriptorLayoutSupport() was broken, it
should have been 96 with no immutable samplers (or when they aren't
equal)
This optimization was also not applied for descriptor buffers which is
the default for vkd3d-proton and Zink. DXVK doesn't use db but it
doesn't use immutable samplers, so basically only native vulkan games
would be concerned.
Note that immutable samplers would still be inlined in shaders if no
indirect access which should be 99.9% of the usecase.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11165
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34928 >
2025-05-13 16:27:22 +00:00
Samuel Pitoiset
9a07ccbc89
radv: fix emitting dynamic viewports/scissors when the count is static
...
In a scenario where the viewports/scissors are a dynamic state but the
count is static (ie. updated when a graphics pipeline is bound), the
driver wasn't considering that and it was re-emitting the previous
number of viewports/scissors.
This fixes rendering issue with Blender.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13127
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34921 >
2025-05-13 16:08:14 +00:00
Marek Olšák
069fdc6f71
nir: handle mov and bcsel in nir_def_bits_used
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34489 >
2025-05-13 15:38:37 +00:00
Marek Olšák
e080833478
nir: handle iand/ior opcodes recursively in nir_def_bits_used
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34489 >
2025-05-13 15:38:37 +00:00
Marek Olšák
a78ed8b8e8
nir: handle extract opcodes recursively in nir_def_bits_used
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34489 >
2025-05-13 15:38:37 +00:00
Marek Olšák
e38a0b9a05
nir: handle u2u/i2i recursively in nir_def_bits_used
...
to get the number of bits actually used by the uses.
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34489 >
2025-05-13 15:38:37 +00:00
Marek Olšák
15369a792a
nir: handle mul24 in nir_def_bits_used
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34489 >
2025-05-13 15:38:37 +00:00
Marek Olšák
7e7ef7b8b7
nir: handle bit shifts by constants in nir_def_bits_used
...
useful for open-coded bitfield extracts that are not using ubfe/ibfe
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34489 >
2025-05-13 15:38:37 +00:00
Marek Olšák
7d24a9b649
nir: handle ibfe/ubfe in nir_def_bits_used
...
it will be used by radeonsi
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34489 >
2025-05-13 15:38:37 +00:00
Marek Olšák
81bdf1ace6
nir: remove unnecessary (nir_shader *) typecasts
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34489 >
2025-05-13 15:38:37 +00:00
Nanley Chery
4502254cd2
anv: Drop the slow clear heuristic
...
This no longer provides a performance improvement.
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33776 >
2025-05-13 15:13:05 +00:00
Nanley Chery
67d60f4325
intel/blorp: Simplify get_fast_clear_rect() for gfx12.5
...
Refactor the scale factors to highlight the 16-tile width requirement on
Tile4. The fast-clear simulator code associated with HSD 1407682962
also contains a 16-tile requirement for Tile4 surfaces (for the pitch).
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33776 >
2025-05-13 15:13:05 +00:00
Nanley Chery
312952048b
intel/blorp: Redescribe gfx12.5 surfaces for CCS fast clears
...
According to HSD 1407682962 and the associated simulator code,
fast-clear performance can be affected by: image alignment, tiling,
dimensionality, and row pitch. Redescribe surfaces in order avoid
fast-clearing at a slower rate.
Also, benchmarking the main patch in the performance CI (hw=A750)
shows that some traces are helped significantly:
* TotalWarWarhammer3 +5.58% (n=2)
* Factorio +3.75% (n=1)
* TerminatorResistance +3.3% (n=2)
* Borderlands3 +3.23% (n=2)
We could additionally increase the alignment requirements of surfaces in
order to deterministically increase fast-clear performance. That's left
out of this patch in order to avoid any functional pitfalls that can
arise with increased memory consumption. As a result, performance will
continue to be affected by how ISL/drivers/apps configure main surface
memory alignments (directly or indirectly).
Thanks to Lionel Landwerlin for pointing me to the relevant simulator
code.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11168
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11418
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33776 >
2025-05-13 15:13:05 +00:00
Nanley Chery
169e22f962
intel/blorp: Drop clear color assignment prior to Xe2
...
This hasn't been used since the responsibility of clear color updates
moved to the drivers.
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33776 >
2025-05-13 15:13:05 +00:00
Nanley Chery
e353244553
intel/blorp: Disable repclear for gfx12 fast-clear
...
Docs indicate that this shouldn't be used.
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33776 >
2025-05-13 15:13:05 +00:00
Nanley Chery
8dad01903a
intel: Add and use isl_surf_image_has_unique_tiles()
...
Returns whether or not a subresource range maps to a tile-aligned memory
range which doesn't overlap other subresources.
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33776 >
2025-05-13 15:13:04 +00:00
Nanley Chery
fcdae4d4c0
intel: Add and use isl_surf_from_mem()
...
Unify code which creates surfaces from buffers. The behavior is slightly
changed to use array layers to enable arrayed buffer clears (as needed).
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33776 >
2025-05-13 15:13:04 +00:00
Wei Zhao
9a21ac2730
winsys/amdgpu: Remove assert about user fence in amdgpu_fence_wait
...
The assertion `assert(afence->seq_no <= *user_fence_cpu)` in
`amdgpu_fence_wait` can trigger a Mesa exit during GPU mode2 resets in
virtualized guest environments.
A GPU reset can cause the hardware to discard commands, including the
one that updates the user fence BO (`*user_fence_cpu`). This leaves
`*user_fence_cpu` with an older value, while `afence->seq_no` (from
command submission) is newer, leading to
`afence->seq_no > *user_fence_cpu` and triggering the assert.
Removing this assert prevents Mesa from exiting in this reset scenario.
No adverse side effects observed during testing. The assert appears
overly strict for hardware reset events where command completion is not
guaranteed.
Signed-off-by: Wei Zhao <wei.zhao@amd.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34924 >
2025-05-13 14:51:01 +00:00
Eric Engestrom
c2b6600ae8
docs/release-calendar: add 25.2 branchpoint & rc dates
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34950 >
2025-05-13 15:12:57 +02:00
Danylo Piliaiev
bcf901f5fb
tu,freedreno: Use HW option to auto add base instance to instance id
...
We don't need the lowering of instance id to "base instance + offset"
since hw has VFD_ADD_OFFSET_INSTANCE flag.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34902 >
2025-05-13 11:35:39 +00:00
Danylo Piliaiev
4bc060ea11
nir: Add option to not lower gl_InstanceIndex
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Emma Anholt <anholt@igalia.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34902 >
2025-05-13 11:35:39 +00:00
Georg Lehmann
0a30611c10
nir/opt_algebraic: some bitfield_select optimizations
...
Foz-DB Navi21:
Totals from 47 (0.06% of 79789) affected shaders:
Instrs: 69536 -> 69363 (-0.25%)
CodeSize: 370624 -> 369388 (-0.33%)
Latency: 383505 -> 383298 (-0.05%)
InvThroughput: 72924 -> 72727 (-0.27%)
PreSGPRs: 2618 -> 2610 (-0.31%)
VALU: 43261 -> 43091 (-0.39%)
SALU: 13065 -> 13063 (-0.02%)
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34739 >
2025-05-13 10:59:09 +00:00
Georg Lehmann
201f6c1a00
gallium: remove left over clover files
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34930 >
2025-05-13 10:29:46 +00:00
David Rosca
f5677a9050
radeonsi/video: Use ac_uvd_alloc_stream_handle
...
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34807 >
2025-05-13 09:36:48 +00:00
David Rosca
5fee04bcae
radv/video: Use ac_uvd_alloc_stream_handle
...
ac_uvd_alloc_stream_handle tries to avoid collisions in the case
when PID is not unique (eg. in sandboxes like Flatpak).
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12607
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34807 >
2025-05-13 09:36:48 +00:00
David Rosca
69455e8208
ac/uvd: Add ac_uvd_alloc_stream_handle
...
Cc: mesa-stable
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34807 >
2025-05-13 09:36:47 +00:00
David Rosca
46d5926d83
radeonsi/vcn: Stop using stream handle for decode
...
It's only needed for old UVD without session context. Also remove
the NULL check for session context buffer as we always have the buffer.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34807 >
2025-05-13 09:36:47 +00:00
David Rosca
09d8235938
radeonsi/vcn: Remove unused stream_handle for encode
...
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34807 >
2025-05-13 09:36:47 +00:00
David Rosca
fb53eec720
radeonsi/uvd_enc: Remove unused stream_handle
...
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34807 >
2025-05-13 09:36:47 +00:00
Natalie Vock
4339cf0aff
driconf: Add workarounds for DOOM: The Dark Ages
...
Like other idTech games, it needs radv_zero_vram and
radv_disable_dedicated_sparse_queue. It also needs
radv_force_64k_sparse_alignment.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34944 >
2025-05-13 07:58:03 +00:00
Natalie Vock
e32a90b57c
radv,driconf: Add radv_force_64k_sparse_alignment config
...
Needed by DOOM: The Dark Ages.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34944 >
2025-05-13 07:58:03 +00:00
Tapani Pälli
720dae85f2
mesa: add missing stencil formats to _mesa_is_stencil_format
...
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13070
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34931 >
2025-05-13 07:29:04 +00:00
Samuel Pitoiset
4b73d7e817
radv: fix SDMA copies for linear 96-bits formats
...
The hardware requires a power of two bpe. To do that, the driver
needs to adjust the pitch/offset/extent based on a texel scale factor
which only applies to 96-bits formats.
This fixes new VKCTS coverage.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34927 >
2025-05-13 06:15:55 +00:00
Marek Olšák
a1ee6d6730
nir: fix gathering color interp modes in nir_lower_color_inputs
...
Fixes: 709ebd82 ("amd: expose nir_io_mix_convergent_flat_with_interpolated")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12800
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34942 >
2025-05-13 00:05:37 -04:00
Mike Blumenkrantz
ef63e3e4d2
zink: fix broken comparison for dummy pipe surface sizing
...
this should create a new surface if the existing one is too small,
not if it is too big
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34933 >
2025-05-12 19:34:08 +00:00
Danylo Piliaiev
824194aa0b
tu: Don't disable EARLY_Z if SampleMask is written without d/s write
...
With EARLY_Z depth is written before FS is executed, so if FS writes
gl_SampleMask - the d/s written before FS would be incorrect since
sample mask can kill samples. However, if there is no d/s write
it's ok to kill fragment before FS.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34900 >
2025-05-12 19:04:54 +00:00
Konstantin Seurer
5926b63f66
nir: Print struct type declarations
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26267 >
2025-05-12 18:28:50 +00:00
Konstantin Seurer
5981b5bb7e
nir/print: Use get_name for types
...
This avoids an awkward " " if the struct name is missing.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26267 >
2025-05-12 18:28:50 +00:00
Konstantin Seurer
d21311504b
nir/print: Add a get_name helper
...
get_name works for any identifier, not just variables.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26267 >
2025-05-12 18:28:50 +00:00
Job Noorman
96e2cf64ae
freedreno/ci: update expectations
...
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34108 >
2025-05-12 17:58:05 +00:00
Job Noorman
53de95cb0d
ir3/postsched: use legalize state for delay/sync calc
...
Switch to using the newly available ir3_legalize_state API in
ir3_postsched. This has a few advantages:
- Prevents duplication of delay/sync logic. ir3_postsched is currently
missing a lot of the complexities implemented in ir3_legalize. Reusing
the logic makes sure ir3_postsched is kept up to date with these
complexities.
- Allows ir3_postsched to have a global view (i.e., across blocks) on
delay and sync state. Currently, all information is cleared at the
start of blocks which makes us underestimate required delays.
- Allows ir3_postsched to have a more accurate view on required sync
flags. We currently calculate requirement once based on whether an
instruction's sources come from a ss/sy-producer. This does not take
into account whether sources have already been synced. Now we can do
this.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34108 >
2025-05-12 17:58:05 +00:00
Job Noorman
ca014c7c24
ir3/legalize: make ir3_legalize_state and helpers public
...
Signed-off-by: Job Noorman <job@noorman.info >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34108 >
2025-05-12 17:58:05 +00:00
Job Noorman
631a105148
ir3/legalize: apply ss/sy to state in sync_update
...
This will keep the state consistent without having to worry about
calling apply_ss/sy.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34108 >
2025-05-12 17:58:05 +00:00
Job Noorman
a0c2fdd152
ir3/legalize: add syncs based on previous instr to sync_update
...
sync_update currently only deals with the current instruction but there
are a few cases where syncs depend on the previous instruction (e.g.,
barriers). Add those to sync_update/ir3_required_sync_flags to have all
the sync logic centralized.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34108 >
2025-05-12 17:58:05 +00:00
Job Noorman
7a44d832d3
ir3/legalize: add ir3_update_legalize_state helper
...
This is a convenience helper that updates 1) the sync state, 2) the
delay state, and 3) the block's current cycle value.
Signed-off-by: Job Noorman <job@noorman.info >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34108 >
2025-05-12 17:58:05 +00:00
Job Noorman
0e9b7c6ff3
ir3/legalize: remove unused parameter from delay_update
...
Signed-off-by: Job Noorman <job@noorman.info >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34108 >
2025-05-12 17:58:05 +00:00
Job Noorman
0c05839fcd
ir3/legalize: extract ir3_merge_pred_legalize_states helper
...
We will want to use this functionality in ir3_postsched.
Signed-off-by: Job Noorman <job@noorman.info >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34108 >
2025-05-12 17:58:05 +00:00
Job Noorman
d4503b01b7
ir3/legalize: add ir3_init_legalize_state helper
...
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34108 >
2025-05-12 17:58:05 +00:00
Job Noorman
ee430745fe
ir3/legalize: extract sync_update helper
...
We will want to use this functionality in ir3_postsched.
Signed-off-by: Job Noorman <job@noorman.info >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34108 >
2025-05-12 17:58:05 +00:00
Job Noorman
b91828d553
ir3/legalize: extract ir3_required_sync_flags helper
...
We will want to use this functionality in ir3_postsched.
Signed-off-by: Job Noorman <job@noorman.info >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34108 >
2025-05-12 17:58:05 +00:00
Job Noorman
540cee6c3b
ir3/legalize: remove ctx argument from delay_calc/update
...
In preparation for making these functions usable outside of
ir3_legalize.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34108 >
2025-05-12 17:58:05 +00:00
Job Noorman
f7002802c3
ir3/legalize: normalize nop state at block start
...
Now that we have the block's final cycle value available in its state,
we don't have to subtract it at the end of a block anymore, but we can
do it at the beginning when merging it into its successor state. This
will save us one iteration over all its ready slots.
Signed-off-by: Job Noorman <job@noorman.info >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34108 >
2025-05-12 17:58:04 +00:00
Job Noorman
03ee7c7c0f
ir3/legalize: add cycle to ir3_legalize_state
...
Having the cycle as part of the state will become convenient for two
reasons:
- It will allow us to merge the state of predecessors without having to
normalize states at the end of blocks (i.e., we now have to subtract
the block's final cycle value from its ready slots at the end of the
block; having its final cycle value available in its state will allow
us to do this when merging predecessor states at the start of the
block).
- We can update the cycle value as part of delay/sync state update
routines. This way, the user doesn't have to worry about which
instructions should actually update the cycle as this logic is nicely
encapsulated.
This is part of the preparation for making the delay/sync legalization
logic available outside of ir3_legalize.
Signed-off-by: Job Noorman <job@noorman.info >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34108 >
2025-05-12 17:58:04 +00:00
Job Noorman
12fadd27d3
ir3: add mergedregs to ir3_compiler
...
Storing it only in ir3_shader is sometimes inconvenient because it's not
available everywhere.
Signed-off-by: Job Noorman <job@noorman.info >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34108 >
2025-05-12 17:58:04 +00:00
Job Noorman
0977863a8e
ir3: calculate sstall/systall across blocks
...
Resetting the ss/sy delays at the start of blocks would underestimate
the actual delays at runtime. Make the estimate more accurate by keeping
track of outstanding delays at the end of blocks and setting the initial
delays of blocks to the maximum of their predecessor blocks.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34108 >
2025-05-12 17:58:04 +00:00
Faith Ekstrand
13f9135e85
compiler/rust: Better document CFG
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34919 >
2025-05-12 17:31:33 +00:00
Faith Ekstrand
98deabfa90
nak: Fix some rusdoc warnings
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34919 >
2025-05-12 17:31:33 +00:00
Faith Ekstrand
3459004104
nak: Improve documentation for RegRef
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34919 >
2025-05-12 17:31:33 +00:00
Faith Ekstrand
22056d5b08
nak: Improve documentation for PerRegFile
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34919 >
2025-05-12 17:31:33 +00:00
Faith Ekstrand
d9cd61dc23
nak: Improve documentation on RegFile
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34919 >
2025-05-12 17:31:33 +00:00
Faith Ekstrand
c022e22368
nak: Improve documentaiton for SSAValue and SSARef
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34919 >
2025-05-12 17:31:33 +00:00
Faith Ekstrand
b26b0211b6
nak: sm32: Add Texture ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34329 >
2025-05-12 16:41:48 +00:00
Lorenzo Rossi
2929dae1e8
nak: Initial SM32 support
...
This commit adds most operations to enable compute and basic draw tasks
for KeplerB (also known as Kepler 2.0, chips GK110 to GK180 or codename
NVF0-NVF1). There are still major aspects such as as textures,
surfaces, shared atomics and scheduling that still need work and will be
added in other commits.
Signed-off-by: Lorenzo Rossi <snowycoder@gmail.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34329 >
2025-05-12 16:41:48 +00:00
Lorenzo Rossi
ee4cff7603
nvk: nak: Add OpViLd support
...
Kepler and earlier GPUs do not support the ISBERD instruction but have a
different VILD (Vertex Indirect Load) instruction that provides less
functionality. This commit adds support for the op in nak and nir,
needed for the upcoming encoder commit.
Signed-off-by: Lorenzo Rossi <snowycoder@gmail.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34329 >
2025-05-12 16:41:48 +00:00
Konstantin Seurer
2d48b2cb47
radv: Use subgroup OPs for BVH updates on GFX12
...
This patch changes the update code to launch 8 invocations for every
internal node. The internal nodes update their child leaf nodes using
the geometry index and primitive index stored inside the primitive node.
Processing 8 child nodes in parallel is faster than looping over them.
Moving to one dispatch that updates all nodes in one go lets us get rid
of atomics and will also enable updatable BVHs to use pair compression.
Improves Elden Ring (high settings, max RT settings, 1080p) by around
10%.
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34601 >
2025-05-12 17:45:31 +02:00
Konstantin Seurer
c6fdf11303
radv: Make radv_update_memory non-static
...
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34601 >
2025-05-12 17:45:25 +02:00
Konstantin Seurer
4a8e232e39
vulkan: Add more information to BVH update callbacks
...
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34601 >
2025-05-12 17:45:16 +02:00
Konstantin Seurer
5da0810e5d
vulkan/bvh: Add type information for vk_bvh_geometry_data
...
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34601 >
2025-05-12 17:45:11 +02:00
Konstantin Seurer
8157f84246
radv: Refactor the update scratch layout code
...
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34601 >
2025-05-12 17:45:06 +02:00
Konstantin Seurer
b2aa0647d5
radv: Use a specialized shader for in place updates
...
If src == dst, we only need to update aabbs for the internal nodes.
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34601 >
2025-05-12 17:45:00 +02:00
Konstantin Seurer
e1110d20f8
vulkan: Add acceleration structure update keys
...
The driver can use an optimized shader when src == dst.
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34601 >
2025-05-12 17:44:56 +02:00
Sergi Blanch Torne
0796d8c502
fluster: xfile update
...
During the maintenance, and proably the previous MR to the first attempt
to merge, fixed a failing test without testing on fluster because the
farm was disabled.
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34922 >
2025-05-12 14:25:54 +00:00
Sergi Blanch Torne
89d4f16c41
Revert "ci: disable Collabora's farm due to maintenance"
...
This reverts commit c06033955e .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34922 >
2025-05-12 14:25:54 +00:00
Corentin Noël
77c0ff9fc7
virgl: Bail out on file descriptor duplication failure
...
Do not try to use a negative file descriptor.
CID: 1465120 Argument cannot be negative
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34816 >
2025-05-12 14:08:04 +00:00
Corentin Noël
965f41b550
virgl: Ensure to not overflow when encoding string marker
...
The maximal length is 65535 as an offset of 16 bits is being used to encode it.
Afterwards in VIRGL_CMD0, the buf_len equals 65536, so buf_len << 16 overflows its type which is uint32_t.
CID: 1604743 Overflowed constant
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34816 >
2025-05-12 14:08:04 +00:00
Corentin Noël
11a7b112cb
vtest: Be more resilient when a resource creation has failed
...
Do not override the handle number with 0 if we fail to create a new resource.
Also make sure to store the handle consistently in an uint32_t.
CID: 1644460 Overflowed constant
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34816 >
2025-05-12 14:08:04 +00:00
Corentin Noël
5bec582e30
vtest: Silence some coverity issues
...
Add assertion about the returned read/written size being smaller than the size
left
CID: 1605126, 1604911
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34816 >
2025-05-12 14:08:04 +00:00
David Rosca
4fca9d9699
pipe/video: Remove st_rps_bits and UseStRpsBits
...
Reviewed-By: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34836 >
2025-05-12 13:12:05 +00:00
David Rosca
7d55b510e8
frontends/va: Set HEVC NumShortTermPictureSliceHeaderBits
...
This is the same value as st_rps_bits, which VDPAU already uses.
Reviewed-By: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34836 >
2025-05-12 13:12:05 +00:00
Matthieu Oechslin
4e68e422e0
r600: Take dual source blending in account when creating target mask with RATs
...
This is properly checked when filling CB_... registers in
evergreen_emit_image_state(), but not when generating CB_TARGET_MASK.
It would lead to an invalid command steam if a fragment shader
uses SSBO/Image load/store alongside dual source blending.
Acked-by: Patrick Lerda <patrick9876@free.fr >
Fixes: a6b3792843
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/622
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34333 >
2025-05-12 11:42:37 +00:00
Martin Krastev
034cb260ac
svga/ci: Increase vmware-vmx-piglit job parallelism to 4
...
Bump up vmware farm's vmware-vmx-piglit job parallelism to 4.
Signed-off-by: Martin Krastev <martin.krastev@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34925 >
2025-05-12 11:23:20 +00:00
Martin Krastev
d1ae27be0a
svga/ci: enable vmware farm
...
Signed-off-by: Martin Krastev <martin.krastev@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34925 >
2025-05-12 11:23:20 +00:00
Rhys Perry
d0a09b6ff7
ac/llvm: correctly set alignment of vector global load/store
...
For coherent/volatile access, this would be too high for vector access.
Even when we didn't set the alignment, LLVM seemed to assume too high of
an alignment for 8/16-bit vector access.
Fixes generated_tests/cl/vload/vload-char-constant.cl
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Tested-by: Michel Dänzer <mdaenzer@redhat.com >
Backport-to: 25.0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34903 >
2025-05-12 10:51:57 +00:00
Rhys Perry
c1ecad2b11
ac/llvm: correctly split vector 8/16-bit stores
...
This assumes that the start of the load is 32-bit aligned.
For example, a vec3 16-bit store with align_offset=2 should split off the
first component, not the last.
This probably also fixed splitting with 8-bit stores.
Fixes arb_copy_buffer-overlap
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Tested-by: Michel Dänzer <mdaenzer@redhat.com >
Backport-to: 25.0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34903 >
2025-05-12 10:51:57 +00:00
Rhys Perry
ab09822b86
util: fix float to bfloat16 conversion with NaN
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Fixes: ecd2d2cf46 ("util: Add functions to convert float to/from bfloat16")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34882 >
2025-05-12 10:26:01 +00:00
Eric Engestrom
f88dc25d23
docs/ci: allow running linkcheck in pre-merge pipelines
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34923 >
2025-05-12 10:19:28 +00:00
Eric Engestrom
01a7b08992
docs/linkcheck: ignore loging wall for broadcom
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34923 >
2025-05-12 10:19:27 +00:00
Eric Engestrom
9c251da89a
docs/linkcheck: ignore a couple more domains blocking the linkcheck user-agent
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34923 >
2025-05-12 10:19:27 +00:00
Eric Engestrom
8d4b63270a
docs/conf.py: fix python formatting (whitespace changes only)
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34923 >
2025-05-12 10:19:27 +00:00
Eric Engestrom
fe82dcfc3d
docs/linkcheck: print summary of problems found
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34923 >
2025-05-12 10:19:27 +00:00
Karol Herbst
f0fa2209a8
nir: add nir_opt_algebraic_integer_promotion
...
This handles basic operations where clang promotes integers to 32 bits
according to the C99 spec in OpenCL C source code.
This is its own opt_algerbraic pass, because we don't wanna fight with
nir_lower_bit_size.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34641 >
2025-05-12 09:29:20 +00:00
Danylo Piliaiev
2582cf9971
tu/lrz: Don't disable LRZ test for blend+depth write
...
Only LRZ write should be disabled for this draw call, while
test is ok since failing the test doesn't affect blending.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34901 >
2025-05-12 08:53:57 +00:00
Lars-Ivar Hesselberg Simonsen
7451bc3bef
panvk/v9+: Set up limited texture descs for storage use
...
Storage access to images using LEA_TEX[_IMM] has limitations on some
fields in the texture descriptors, making them incompatible with the
descriptors required for texture access, specifically in the case
non-zero levels.
This change sets up two sets of texture descriptors for image views of
storage images, then picks the correct one when writing the image view
descriptors.
Backport-to: 25.0
Backport-to: 25.1
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/34839 >
2025-05-12 08:37:08 +00:00
Lars-Ivar Hesselberg Simonsen
e2aa0b7566
pan/texture/v10+: Set width/height in the plane descs
...
We're currently not setting the v10+ width/height in the plane
descriptors. This change ensures we do.
Backport-to: 25.0
Backport-to: 25.1
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34839 >
2025-05-12 08:37:08 +00:00
Lars-Ivar Hesselberg Simonsen
009e4c2eba
pan/genxml/v13: Add minus1 mod for plane width/height
...
The width/height fields in the plane descriptors for v13 are missing
their minus(1) modifiers.
This change adds the missing modifiers, which implies also setting
default values to 1 due to how the Two-Plane YUV Overlay interacts with
the plane descriptors.
Fixes: ece01443e1 ("pan/genxml: Add v13 definition")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34839 >
2025-05-12 08:37:08 +00:00
Lars-Ivar Hesselberg Simonsen
e38eb00e4e
pan/genxml/v12: Add minus1 mod for plane width/height
...
The width/height fields in the plane descriptors for v12 are missing
their minus(1) modifiers.
This change adds the missing modifiers, which implies also setting
default values to 1 due to how the Two-Plane YUV Overlay interacts with
the plane descriptors.
Fixes: b6d5e01120 ("pan/genxml: Add v12 definition")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34839 >
2025-05-12 08:37:08 +00:00
Lars-Ivar Hesselberg Simonsen
2542857259
pan/genxml/v10: Add minus1 mod for plane width/height
...
The width/height fields in the plane descriptors for v10 are missing
their minus(1) modifiers.
This change adds the missing modifiers, which implies also setting
default values to 1 due to how the Two-Plane YUV Overlay interacts with
the plane descriptors.
Fixes: 486c341769 ("panfrost: Add architecture description XML for v10")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34839 >
2025-05-12 08:37:08 +00:00
Lars-Ivar Hesselberg Simonsen
6a9a4b3eef
pan/texture: Set plane size to slice size
...
Rather than setting the plane size to the full allocation minus the
current offset, set it to the actual size of the plane.
Fixes: db20152c8a ("panfrost: Handle Valhall texturing")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34839 >
2025-05-12 08:37:08 +00:00
Lars-Ivar Hesselberg Simonsen
cc58e30847
pan/texture: Correctly handle slice stride for MSAA
...
Currently, we will always be setting the slice stride in the plane
descriptor to the surface stride, as the check for multisampling is true
even for single sampled surfaces.
This change fixes this check.
Fixes: db20152c8a ("panfrost: Handle Valhall texturing")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34839 >
2025-05-12 08:37:08 +00:00
Lars-Ivar Hesselberg Simonsen
8b2ff9a8cf
panfrost: Add pan_unpack to ForEachMacros
...
While various pan_pack macros were already there, pan_unpack was
missing.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34839 >
2025-05-12 08:37:08 +00:00
David Rosca
4ea52147c1
pipe/video: Remove unused UseRefPicList
...
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34698 >
2025-05-12 08:14:59 +00:00
David Rosca
5edac5cd92
frontends/va: Only keep current slice RefPicList for HEVC
...
This is only used for slice header parsing now.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34698 >
2025-05-12 08:14:58 +00:00
David Rosca
639a95cd77
radeonsi/uvd: Stop using HEVC direct reflist
...
Not needed now that va frontend provides correct ref pic sets.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34698 >
2025-05-12 08:14:58 +00:00
David Rosca
203e9c29b4
radeonsi/vcn: Stop using HEVC direct reflist
...
Not needed now that va frontend provides correct ref pic sets.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34698 >
2025-05-12 08:14:58 +00:00
David Rosca
779edc0759
frontends/va: Correctly derive HEVC StCurrBefore, StCurrAfter and LtCurr
...
StCurrBefore and StCurrAfter are sorted by POC.
For LtCurr there is no defined order, so if there are multiple long term
references in a picture, we need to parse the slice header.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34698 >
2025-05-12 08:14:58 +00:00
Corentin Noël
c5d3a73f5e
mesa: enable GL name reuse for virgl
...
This is now fixed upstream, the workaround is not required anymore.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34296 >
2025-05-12 07:15:44 +00:00
Samuel Pitoiset
219a2b1e32
radv: ignore radv_zero_vram=true if zeroInitialDeviceMemory is enabled
...
To let applications like vkd3d-proton to take full control.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34896 >
2025-05-12 06:53:55 +00:00
Samuel Pitoiset
21badbf336
radv: advertise VK_EXT_zero_initialize_device_memory
...
Only expose this extension when AMDGPU supports zerovram allocations.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34896 >
2025-05-12 06:53:55 +00:00
Samuel Pitoiset
eaf646d020
radv: implement VK_EXT_zero_initialize_device_memory
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34896 >
2025-05-12 06:53:55 +00:00
Samuel Pitoiset
4b16de5e0d
ac/gpu_info: add has_zerovram_support
...
AMDGPU 3.59.0+ clears VRAM on allocations.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34896 >
2025-05-12 06:53:55 +00:00
Samuel Pitoiset
2f2a5d31bd
vulkan: add support for VK_IMAGE_LAYOUT_ZERO_INITIALIZED_EXT
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34896 >
2025-05-12 06:53:55 +00:00
Samuel Pitoiset
62ec7e1056
vulkan: Update XML and headers to 1.4.315
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34896 >
2025-05-12 06:53:55 +00:00
Sergi Blanch Torne
c06033955e
ci: disable Collabora's farm due to maintenance
...
Planned downtime in the farm:
* Start: 2025-05-12 07:00 UTC
* End: 2025-05-12 13:00 UTC
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34690 >
2025-05-11 22:35:10 +02:00
Eric Engestrom
96d5c5df6f
lavapipe/ci: document flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34916 >
2025-05-11 18:46:12 +00:00
Eric Engestrom
df3f279233
lavapipe/ci: replace large (and growing) list of flakes with a regex
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34916 >
2025-05-11 18:46:12 +00:00
Eric Engestrom
055594f886
broadcom/ci: document fixed tests
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34916 >
2025-05-11 18:46:12 +00:00
Eric Engestrom
86a29ce0ea
radv/ci: document flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34916 >
2025-05-11 18:46:12 +00:00
Eric Engestrom
50c60dd07e
radeonsi/ci: document flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34916 >
2025-05-11 18:46:12 +00:00
Eric Engestrom
6935f28cb3
radeonsi/ci: document regression
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34916 >
2025-05-11 18:46:12 +00:00
Faith Ekstrand
a752f242e5
docs/systems: Point people at the NVK page first
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34911 >
2025-05-10 23:26:41 +00:00
Faith Ekstrand
86100ff8e3
docs/nvk: Add section about NVK+Zink
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34911 >
2025-05-10 23:26:41 +00:00
Faith Ekstrand
bd207d6c54
docs/nvk: Improve the NVK docs page
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34911 >
2025-05-10 23:26:41 +00:00
Mauro Rossi
04a643d877
intel/compiler: use ffsll instead of ffsl in brw_vue_map.c
...
18bbcf9a triggered the following building error in Android,
simple fix is to use ffsll() as it was done before 18bbcf9a
to process uint64_t generics argument.
Fixes the following building error:
FAILED: src/intel/compiler/libintel_compiler.a.p/brw_vue_map.c.o
...
../src/intel/compiler/brw_vue_map.c:120:37: error: implicit declaration of function 'ffsl' is invalid in C99 [-Werror,-Wimplicit-function-declaratio
n]
const int first_generic_output = ffsl(generics) - 1;
^
../src/intel/compiler/brw_vue_map.c:120:37: note: did you mean 'ffs'?
/home/utente/r-x86_kernel/bionic/libc/include/strings.h:72:5: note: 'ffs' declared here
int ffs(int __i) __INTRODUCED_IN_X86(18);
^
1 error generated.
Fixes: 18bbcf9a ("intel: introduce new VUE layout for separate compiled shader with mesh")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34915 >
2025-05-11 00:50:21 +02:00
Eric Engestrom
7c4f501e99
radv/ci: drop unnecessary CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES
...
It doesn't serve any purpose when `CI_TRON_TIMEOUT__BOOT_CYCLE__RETRIES`
is not set to 1 or more.
The two exception are `zink-radv-vangogh-valve` and
`radv-polaris10-vkcts` which do set `retries` > 0.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34899 >
2025-05-09 22:19:39 +00:00
Eric Engestrom
61ba1fceff
radv/ci: move the timeout from polaris10 job template to polaris10 job
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34899 >
2025-05-09 22:19:39 +00:00
Eric Engestrom
9a9a08994b
turnip/ci: drop CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES
...
It doesn't serve any purpose when `CI_TRON_TIMEOUT__BOOT_CYCLE__RETRIES`
is not set to 1 or more.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34899 >
2025-05-09 22:19:39 +00:00
Eric Engestrom
24ed4a244c
nvk/ci: drop CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES
...
It doesn't serve any purpose when `CI_TRON_TIMEOUT__BOOT_CYCLE__RETRIES`
is not set to 1 or more.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34899 >
2025-05-09 22:19:39 +00:00
Eric Engestrom
0c4f53e8ae
ci-tron: drop default timeouts
...
Every job must define the right timeouts anyway, so it doesn't make
sense to set these here.
Additionally, the 90/100 minutes overall timeout was unreachable since
the per-boot-cycle timeout was 45 minutes and there was no
BOOT_CYCLE__RETRIES set, so no retry was possible.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34899 >
2025-05-09 22:19:39 +00:00
Roland Scheidegger
5006d7f1f1
llvmpipe: Fix crash when using nir_tex_src_min_lod
...
Calculating lod does not always happen with the same vector size as
the vector size of the coords, which led to a crash when using the
new minLod feature. Use same repacking as with explicit lod.
Fixes: a8b104d9bd
Reviewed-by: Brian Paul <brian.paul@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34906 >
2025-05-09 21:55:12 +00:00
Ian Romanick
338273dedd
brw/reg_allocate: Optimize spill offset calculation using integer MAD
...
Gfx12.5 and later allow the use of two 16-bit immediate values in
integer MAD. Gfx11 and Gfx12 allow a single immediate for integer MAD,
but that is not helpful where.
v2: brw_reg_alloc::build_lane_offsets is only used on Gfx12.5+, so the
check around using integer MAD is unnecessary.
No shader-db or fossil-db changes on any pre-Gfx12.5 platforms.
shader-db:
Lunar Lake, Meteor Lake, and DG2 had similar results. (Lunar Lake shown)
total instructions in shared programs: 17119962 -> 17118441 (<.01%)
instructions in affected programs: 65398 -> 63877 (-2.33%)
helped: 32 / HURT: 0
total cycles in shared programs: 895433316 -> 895425578 (<.01%)
cycles in affected programs: 13437376 -> 13429638 (-0.06%)
helped: 30 / HURT: 2
fossil-db:
Lunar Lake, Meteor Lake, and DG2 had similar results. (Lunar Lake shown)
Totals:
Instrs: 210052706 -> 209550074 (-0.24%)
Cycle count: 31486266412 -> 31436238696 (-0.16%); split: -0.16%, +0.00%
Totals from 7081 (1.00% of 707082) affected shaders:
Instrs: 16864614 -> 16361982 (-2.98%)
Cycle count: 6323185782 -> 6273158066 (-0.79%); split: -0.79%, +0.00%
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34886 >
2025-05-09 21:31:09 +00:00
Ian Romanick
3db8dbfdc3
brw/reg_allocate: Optimize spill offset calculation using more SIMD8
...
Re-associate the calculation. The current calcuation is
((lane + zero_or_8) << 2) + offset
The first addition is SIMD8, and the shift and second addition are
SIMD16. By switching to
((lane << 2) + offset) + zero_or_32
All operations are SIMD8.
The SHL operates directly on the UW 0x76543210UV value, and that
eliminates the MOV to expand the UW to UD.
v2: Switch to alternate method. Update for SIMD32 on Xe2.
No shader-db or fossil-db changes on any pre-Gfx12.5 platforms.
shader-db:
Lunar Lake, Meteor Lake, and DG2 had similar results. (Lunar Lake shown)
total instructions in shared programs: 17121519 -> 17119962 (<.01%)
instructions in affected programs: 73208 -> 71651 (-2.13%)
helped: 36
HURT: 0
helped stats (abs) min: 1 max: 129 x̄: 43.25 x̃: 56
helped stats (rel) min: 0.05% max: 4.92% x̄: 2.50% x̃: 2.79%
95% mean confidence interval for instructions value: -56.02 -30.48
95% mean confidence interval for instructions %-change: -3.24% -1.75%
Instructions are helped.
total cycles in shared programs: 895450146 -> 895433316 (<.01%)
cycles in affected programs: 13709400 -> 13692570 (-0.12%)
helped: 31
HURT: 2
helped stats (abs) min: 26 max: 1654 x̄: 543.10 x̃: 672
helped stats (rel) min: <.01% max: 3.43% x̄: 0.43% x̃: 0.51%
HURT stats (abs) min: 2 max: 4 x̄: 3.00 x̃: 3
HURT stats (rel) min: <.01% max: <.01% x̄: <.01% x̃: <.01%
95% mean confidence interval for cycles value: -652.42 -367.58
95% mean confidence interval for cycles %-change: -0.61% -0.19%
Cycles are helped.
fossil-db:
Lunar Lake, Meteor Lake, and DG2 had similar results. (Lunar Lake shown)
Totals:
Instrs: 210566294 -> 210052706 (-0.24%)
Cycle count: 31582309052 -> 31486266412 (-0.30%); split: -0.30%, +0.00%
Totals from 7091 (1.00% of 707082) affected shaders:
Instrs: 17408115 -> 16894527 (-2.95%)
Cycle count: 6443785290 -> 6347742650 (-1.49%); split: -1.49%, +0.00%
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34886 >
2025-05-09 21:31:09 +00:00
Marek Olšák
dbef8f1791
nir/opt_vectorize_io: fix a failure when vectorizing different bit sizes
...
Fixes: 2514999c9c - nir: add nir_opt_vectorize_io, vectorizing lowered IO
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13085
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34897 >
2025-05-09 20:50:57 +00:00
Adam Jackson
0ffbfa1d54
util/cpu: Teach the Linux code about getauxval()
...
In addition to being nicer to read this is also slightly more efficient
since it doesn't need to open a file.
Reviewed-by: Marek Olšák <maraeo@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34820 >
2025-05-09 20:10:10 +00:00
Adam Jackson
1ef9cd3504
util/cpu: Remove util_cpu_caps_t::family
...
This had two uses, neither of them very good. On s390x we used it to
store the fact of our s390-ness, which we can replace with
DETECT_ARCH_S390. On x64 we used it to communicate AMD-Zen-ness to the
L3 topology detection code, which we can replace with a local parameter.
Reviewed-by: Marek Olšák <maraeo@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34820 >
2025-05-09 20:10:10 +00:00
Adam Jackson
6abae1d42b
util: Remove unused USED macro
...
The glapi assembly code used to use this to force some symbols to stay
in the link even if they would normally get garbage-collected. We're not
doing that anymore. If we ever need it again we can add it back, and not
conflate its definition with the PUBLIC macro state while we're at it.
Reviewed-by: Marek Olšák <maraeo@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34820 >
2025-05-09 20:10:10 +00:00
Brian Paul
c2267358c6
svga: increase SVGA_MAX_FRAMEBUFFER_DEFAULT_SAMPLES to 16
...
This fixes the piglit arb_framebuffer_no_attachments-query test
(asserted in debug builds, crashed in release builds). Passes
with this change.
The SVGA_MAX_FRAMEBUFFER_DEFAULT_SAMPLES value is only used to
dimension the svga_rasterizer_state::altRastIds[] array.
Signed-off-by: Brian Paul <brian.paul@broadcom.com >
Reviewed-by: Roland Scheidegger <roland.scheidegger@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34888 >
2025-05-09 19:51:43 +00:00
Eric Engestrom
c4ead6d703
nvk/ci: tighten job timeouts a little bit
...
Since nvk got faster, and job duration is incredibly stable.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34880 >
2025-05-09 19:19:31 +00:00
Eric Engestrom
3619986283
zink+nvk/ci: document more flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34880 >
2025-05-09 19:19:31 +00:00
Martin Roukala (né Peres)
4ccc37577c
nvk/ci: switch nouveau.ko jobs to common kernel (6.13.7)
...
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 needed for the exact generation of GPU
needed by the DUT.
Co-authored-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34880 >
2025-05-09 19:19:31 +00:00
Boyuan Zhang
5247269135
frontends/va: enable cenc for protected playback
...
Enable cenc mode by checking protected slice data buffer
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34854 >
2025-05-09 17:54:14 +00:00
Boyuan Zhang
e1f9dde5c0
radeonsi/vcn: add drm keyblob for cenc
...
Add new message buffer for drm keyblob which contains local policy
for cenc
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34854 >
2025-05-09 17:54:14 +00:00
Boyuan Zhang
2b6ecc8269
radeonsi/vcn: add drm key for cenc
...
Add new function to handle drm message buffer for cenc, which is
different than legacy mode.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34854 >
2025-05-09 17:54:14 +00:00
Boyuan Zhang
d6e2438113
radeonsi/vcn: add subsample for cenc
...
Create new buffer for subsample parameters and submit it for cenc decryption
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34854 >
2025-05-09 17:54:14 +00:00
Boyuan Zhang
5565043534
radeonsi: add header file for cenc parameters
...
New header file that defines parameters and structres for cenc decryption.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34854 >
2025-05-09 17:54:14 +00:00
Boyuan Zhang
4e9b59075a
pipe: add boolean for CENC standard
...
Set it to be true for cenc encryption standard, or false otherwise.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34854 >
2025-05-09 17:54:14 +00:00
Daniel Schürmann
83fcd0e908
aco/insert_exec_mask: don't create unnecessary loop-header and -exit phis after demote
...
No fossil changes.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33479 >
2025-05-09 17:20:29 +00:00
Daniel Schürmann
3dab7b0a45
nir/tests: add tests for nir_move_terminate_out_of_loops
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33479 >
2025-05-09 17:20:29 +00:00
Daniel Schürmann
7adad4fc0e
aco/isel: assert that terminate intrinsics don't appear in loops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33479 >
2025-05-09 17:20:29 +00:00
Daniel Schürmann
46f6c73d36
aco/isel: remove check for empty exec mask on uniform continues
...
This could only happen after terminate_if inside loops.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33479 >
2025-05-09 17:20:29 +00:00
Daniel Schürmann
2b0536e921
aco: remove block_kind_continue_or_break workaround and tests
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33479 >
2025-05-09 17:20:29 +00:00
Daniel Schürmann
fa4eb37bf6
radv: move terminate{_if} out of loops.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33479 >
2025-05-09 17:20:29 +00:00
Daniel Schürmann
c59356e6a5
nir: add option to move terminate{_if} out of loops
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33479 >
2025-05-09 17:20:29 +00:00
Tanner Van De Walle
07ae79d4f9
util: Make atomic_read use volatile reads with _Generic/decltype
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34845 >
2025-05-09 16:34:00 +00:00
Sil Vilerino
150fa795fe
nir: Only build nir headers for mediafoundation/d3d12-no-graphics paired build
...
Reviewed-by: <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34845 >
2025-05-09 16:34:00 +00:00
Pohsiang (John) Hsu
493b3fa661
gallium/auxiliary: fix msvc build warning 4146 (unary minus operator applied to unsigned type, result still unsigned)
...
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34845 >
2025-05-09 16:34:00 +00:00
Pohsiang (John) Hsu
fdc36dd54a
util: fix msvc build warning 4146 (unary minus operator applied to unsigned type, result still unsigned)
...
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34845 >
2025-05-09 16:34:00 +00:00
Eric Engestrom
0f4b022708
ci/ci-tron: drop special case for default x86_64 kernel (= uprev to 6.13.7)
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34898 >
2025-05-09 15:56:18 +00:00
Eric Engestrom
9798f48de5
ci/ci-tron: document which kernel version is provided in a given b2c release
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34898 >
2025-05-09 15:56:18 +00:00
Eric Engestrom
5fc98ce169
amd/ci: set kernel for amdgpu jobs in .ci-tron-test-amdgpu
...
This fixes the kernel used by `radeonsi-vangogh-glcts`.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34898 >
2025-05-09 15:56:18 +00:00
Eric Engestrom
1d902e3372
amd/ci: split .ci-tron-test-amdgpu from .ci-tron-test-radv
...
To be reused by the other ci-tron amdgpu jobs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34898 >
2025-05-09 15:56:18 +00:00
David Rosca
f8042fa926
frontends/vdpau: Fix creating surfaces with 422 chroma
...
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13103
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34831 >
2025-05-09 14:46:53 +00:00
Georg Lehmann
f1c066b353
aco/optimizer: remove instr_usedef_labels completely
...
Some changes because omod/clamp/insert no longer remove label_extract.
Foz-DB GFX1201:
Totals from 15 (0.02% of 79789) affected shaders:
Instrs: 15328 -> 15299 (-0.19%)
CodeSize: 76416 -> 76292 (-0.16%)
Latency: 62306 -> 62288 (-0.03%)
InvThroughput: 6165 -> 6148 (-0.28%)
Copies: 710 -> 709 (-0.14%)
VALU: 7908 -> 7892 (-0.20%)
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34858 >
2025-05-09 14:23:25 +00:00
Georg Lehmann
eb6f5202ac
aco/optimizer: remove label_usedef
...
No Foz-DB changes on NAvi21 and GFX1201.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34858 >
2025-05-09 14:23:25 +00:00
Georg Lehmann
ffe11c0235
aco/optimizer: create fma without label_usedef
...
Foz-DB GFX1201:
Totals from 1 (0.00% of 79789) affected shaders:
Instrs: 1492 -> 1485 (-0.47%)
CodeSize: 7436 -> 7384 (-0.70%)
Latency: 2738 -> 2743 (+0.18%)
InvThroughput: 364 -> 365 (+0.27%)
SClause: 50 -> 56 (+12.00%)
Copies: 101 -> 100 (-0.99%)
PreSGPRs: 32 -> 31 (-3.12%)
VALU: 700 -> 701 (+0.14%)
SALU: 351 -> 350 (-0.28%)
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34858 >
2025-05-09 14:23:25 +00:00
Georg Lehmann
177c98f95a
aco/optimizer: apply dpp without label_usedef
...
Less interference with output modifier labels.
Foz-DB GFX1201:
Totals from 109 (0.14% of 79789) affected shaders:
Instrs: 161005 -> 160890 (-0.07%); split: -0.08%, +0.01%
CodeSize: 859472 -> 859720 (+0.03%); split: -0.03%, +0.06%
VGPRs: 6420 -> 6432 (+0.19%)
Latency: 1453659 -> 1452201 (-0.10%); split: -0.14%, +0.04%
InvThroughput: 171403 -> 171135 (-0.16%); split: -0.21%, +0.06%
VClause: 2746 -> 2743 (-0.11%)
SClause: 5256 -> 5257 (+0.02%)
Copies: 11085 -> 11008 (-0.69%); split: -0.89%, +0.20%
Branches: 3758 -> 3756 (-0.05%)
VALU: 90903 -> 90793 (-0.12%); split: -0.14%, +0.02%
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34858 >
2025-05-09 14:23:25 +00:00
Georg Lehmann
94ea9fd999
aco/optimizer: label p_extract as usedef
...
Helpful for combine_add_or_then_and_lshl on gfx11+.
Foz-DB GFX1201:
Totals from 478 (0.60% of 79789) affected shaders:
Instrs: 3844774 -> 3843719 (-0.03%); split: -0.03%, +0.00%
CodeSize: 20268684 -> 20268120 (-0.00%); split: -0.01%, +0.00%
Latency: 27005820 -> 27002460 (-0.01%); split: -0.01%, +0.00%
InvThroughput: 5438686 -> 5436935 (-0.03%); split: -0.03%, +0.00%
Copies: 312458 -> 312469 (+0.00%); split: -0.00%, +0.01%
VALU: 2141236 -> 2140406 (-0.04%)
SALU: 527973 -> 527922 (-0.01%); split: -0.01%, +0.00%
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34858 >
2025-05-09 14:23:25 +00:00
Georg Lehmann
edfba93f4c
aco/optimizer: apply f2f32 without label_usedef
...
This means we apply it to instructions where an omod label removed label_usedef.
Foz-DB Navi21:
Totals from 52 (0.07% of 79789) affected shaders:
Instrs: 144945 -> 144304 (-0.44%); split: -0.45%, +0.01%
CodeSize: 835956 -> 833992 (-0.23%); split: -0.30%, +0.06%
Latency: 2850900 -> 2850018 (-0.03%); split: -0.05%, +0.02%
InvThroughput: 1299486 -> 1299116 (-0.03%); split: -0.05%, +0.02%
Copies: 29638 -> 29803 (+0.56%); split: -0.16%, +0.71%
VALU: 94971 -> 94329 (-0.68%); split: -0.69%, +0.01%
SALU: 29272 -> 29274 (+0.01%)
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34858 >
2025-05-09 14:23:25 +00:00
Georg Lehmann
c0e88c376a
aco/optimizer: validate context data
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34858 >
2025-05-09 14:23:25 +00:00
Georg Lehmann
906b7dbcec
aco: replace novalidateir with novalidate debug option
...
The next commits will add more validation that's enabled by default.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34858 >
2025-05-09 14:23:25 +00:00
Georg Lehmann
1540db244b
aco/optimizer: store parent_instr for all temps
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34858 >
2025-05-09 14:23:25 +00:00
Georg Lehmann
918359b41e
aco/optimizer: add semantic aliases for info.instr
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34858 >
2025-05-09 14:23:25 +00:00
Georg Lehmann
c62d7e680c
aco/optimizer: remove label_mul
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34858 >
2025-05-09 14:23:24 +00:00
Georg Lehmann
f773860a23
aco/optimizer: remove label_bitwise
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34858 >
2025-05-09 14:23:24 +00:00
Georg Lehmann
cf3ec4a28f
aco/optimizer: remove label_split
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34858 >
2025-05-09 14:23:24 +00:00
Georg Lehmann
907e86e8fb
aco/optimizer: remove label_vec
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34858 >
2025-05-09 14:23:24 +00:00
Georg Lehmann
2c0a924521
aco/optimizer: remove label_minmax
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34858 >
2025-05-09 14:23:24 +00:00
Georg Lehmann
dca8a7981d
aco/optimizer: remove label_f2f32
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34858 >
2025-05-09 14:23:24 +00:00
Georg Lehmann
17a973c6fa
aco/optimizer: remove label_dpp8 and label_dpp16
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34858 >
2025-05-09 14:23:24 +00:00
Georg Lehmann
dfa7e56f23
aco/optimizer: remove label_add_sub
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34858 >
2025-05-09 14:23:23 +00:00
Georg Lehmann
345bf8a2f2
aco/optimizer: remove label_vop3p
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34858 >
2025-05-09 14:23:23 +00:00
Georg Lehmann
6667ee66d5
aco/optimizer: remove label_vopc
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34858 >
2025-05-09 14:23:23 +00:00
Georg Lehmann
6f4e26e54d
radv/gfx12+: enable VK_KHR_shader_bfloat16
...
GFX11 seems to have precision issues, so don't enable the extension there for now.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34768 >
2025-05-09 11:20:26 +00:00
Georg Lehmann
a2209547db
ac/nir: enable nir_op_bfdot2_bfadd
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34768 >
2025-05-09 11:20:26 +00:00
Georg Lehmann
44be05cc45
ac/llvm: support nir_op_bfdot2_bfadd
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34768 >
2025-05-09 11:20:26 +00:00
Georg Lehmann
f5a5905e37
aco: support nir_op_bfdot2_bfadd
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34768 >
2025-05-09 11:20:26 +00:00
Georg Lehmann
ba63263f32
nir: add bfdot2_bfadd and use it for lowering bfdot if supported
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34768 >
2025-05-09 11:20:26 +00:00
Georg Lehmann
f364303084
ac/nir: set lower_bfloat16_conversions
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34768 >
2025-05-09 11:20:26 +00:00
Georg Lehmann
02e743c99e
nir: add an option to lower bf2f and f2bf
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34768 >
2025-05-09 11:20:25 +00:00
Georg Lehmann
7716e63cd6
radv/nir/lower_cmat: handle bf16 conversions
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34768 >
2025-05-09 11:20:25 +00:00
Georg Lehmann
78524837c1
radv/nir/opt_cmat: support bfloat16
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34768 >
2025-05-09 11:20:25 +00:00
Georg Lehmann
5ca98bf99e
aco: support bf16 wmma
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34768 >
2025-05-09 11:20:25 +00:00
Georg Lehmann
e8f5c335ff
radv,aco,nir: keep the A and B base type for cmat_muladd_amd
...
With bfloat16, and the two fp8 formats in the future, using just the bit size
to identify the types is no longer possible.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34768 >
2025-05-09 11:20:25 +00:00
Konstantin Seurer
c21e1776b3
radv: Use build flags instead of defines
...
Using the meta framework makes managing shader variants much easier.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34594 >
2025-05-09 09:55:32 +00:00
Konstantin Seurer
2eaf997574
vulkan: Add helpers for creating bvh build pipelines/layouts
...
This should make it easier for drivers to use the meta framework for
managing encode/update pipelines.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34594 >
2025-05-09 09:55:32 +00:00
Konstantin Seurer
33ac143779
vulkan: Introduce VK_BUILD_FLAG for specializing BVH build shaders
...
The advantage of using spec constants is that we do not have to include
multiple spirv binaries for multiple variants of a build stage.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34594 >
2025-05-09 09:55:32 +00:00
Mary Guillemard
330c3c68e2
pan/util,midgard: Remove pan_block
...
This is only used by midgard, move everything left related to it to
midgard.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32650 >
2025-05-09 09:33:38 +00:00
Mary Guillemard
dce110a604
panfrost/util: Move print_alu_type and PAN_IS_REG to midgard
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32650 >
2025-05-09 09:33:38 +00:00
Mary Guillemard
fdef86a4a2
pan/util: Move liveness logic to midgard
...
Only used in midgard.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32650 >
2025-05-09 09:33:38 +00:00
Mary Guillemard
49261faac8
pan/util: Move lcra to midgard
...
This is only used by midgard, bifrost have its own custom version of
this.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32650 >
2025-05-09 09:33:38 +00:00
Mary Guillemard
22f70f20c7
panfrost: Move genxml out of pan/lib
...
This will simplify things a bit later
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32650 >
2025-05-09 09:33:38 +00:00
Samuel Pitoiset
dae45adc9d
aco: adjust an assertion in select_trap_handler_shader()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34840 >
2025-05-09 09:04:57 +00:00
Samuel Pitoiset
ae6d3df139
radv,aco: dump more SQ_WAVE registers from the trap handler on GFX12
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34840 >
2025-05-09 09:04:57 +00:00
Samuel Pitoiset
0e73c85424
radv: fix configuring TRAP_PRESENT for compute shaders on GFX12
...
It no longer exists and it's been replaced by DYNAMIC_VGPR.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34840 >
2025-05-09 09:04:57 +00:00
Samuel Pitoiset
50a01a6559
radv: fix save/restore SCC in the trap handler on GFX12
...
SQ_WAVE_STATE_PRIV now contains SCC instead of SQ_WAVE_STATUS.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34840 >
2025-05-09 09:04:57 +00:00
Samuel Pitoiset
effa563bb0
radv: adjust computing the PC from the trap handler on GFX12
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34840 >
2025-05-09 09:04:57 +00:00
Valentine Burley
34012d5af3
ci: Remove EXTERNAL_KERNEL_TAG variable
...
The EXTERNAL_KERNEL_TAG variable is no longer needed.
For LAVA and bare-metal, we can override the KERNEL_TAG variable to fetch
both the kernel image and modules from a different tag than the default
mainline gfx-ci/linux kernel.
For LAVA, this also avoids the issue where jobs using EXTERNAL_KERNEL_TAG
would still have mainline kernel modules downloaded by the LAVA overlay.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34873 >
2025-05-09 07:18:53 +00:00
Valentine Burley
c093a09660
ci/baremetal: Fix rootfs URL detection
...
The previous check used a directory path without the filename, causing
`curl` to return 404 and always fall back to the fork's URL. Add the
rootfs filename to ensure the check works as intended.
Fixes: 13db56320b ("ci/baremetal: Use container rootfs")
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34873 >
2025-05-09 07:18:53 +00:00
Iván Briano
99405647a4
anv: vkCmdTraceRays* are not covered by conditional rendering
...
The spec says:
Certain rendering commands can be executed conditionally based on a
value in buffer memory. These rendering commands are limited to
drawing commands, dispatching commands, and clearing attachments with
vkCmdClearAttachments within a conditional rendering block which is
defined by commands vkCmdBeginConditionalRenderingEXT and
vkCmdEndConditionalRenderingEXT. Other rendering commands remain
unaffected by conditional rendering.
It would seem that vkCmdTraceRays* are not covered by that.
Fixes new tests dEQP-VK.conditional_rendering.conditional_ignore.trace_rays*
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34864 >
2025-05-08 21:08:06 +00:00
Konstantin Seurer
bdadd1aa68
lavapipe/ci: Update expected vkd3d-proton fails
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33628 >
2025-05-08 19:30:19 +00:00
Konstantin Seurer
e3420edac9
gallivm: Use divergent sources for more subgroup ops
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33628 >
2025-05-08 19:30:19 +00:00
Konstantin Seurer
2cdec6238c
gallivm/nir/aos: Remove left over debug print
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33628 >
2025-05-08 19:30:19 +00:00
Konstantin Seurer
3d1072ec26
lavapipe: Implement VK_EXT_fragment_shader_interlock
...
This is a noop implementation because it is not possible for multiple
threads to access the same pixel during rasterization since it is
tiled.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33628 >
2025-05-08 19:30:19 +00:00
Konstantin Seurer
94c8a0e820
lavapipe: Implement KHR_shader_quad_control
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33628 >
2025-05-08 19:30:19 +00:00
Konstantin Seurer
f49ef38701
lavapipe: Advertise shaderResourceMinLod
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33628 >
2025-05-08 19:30:19 +00:00
Konstantin Seurer
a8b104d9bd
llvmpipe: Handle nir_tex_src_min_lod
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33628 >
2025-05-08 19:30:19 +00:00
Konstantin Seurer
db34e2d540
lavapipe: Advertise VK_EXT_shader_image_atomic_int64
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33628 >
2025-05-08 19:30:19 +00:00
Konstantin Seurer
2be75cfe63
lavapipe: Implement 64-bit image clears
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33628 >
2025-05-08 19:30:19 +00:00
Konstantin Seurer
3ecb89c35b
gallium: Handle 64bit textures in the SW clear fallback path
...
64bit clears only work with <=2 component formats because the two
integer clear values are interpreted as one 64bit integer.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33628 >
2025-05-08 19:30:19 +00:00
Konstantin Seurer
37f4ede8bf
llvmpipe: Disable 64-bit integer formats for vertex fetch
...
draw does not handle them.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33628 >
2025-05-08 19:30:19 +00:00
Konstantin Seurer
c05e42eaea
llvmpipe: Implement 64-bit image operations
...
LLVM has support and everything should be in place to support them.
There are just a few 32-bit assumptions that have to be removed.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33628 >
2025-05-08 19:30:19 +00:00
Konstantin Seurer
d49de8f10a
util: Add util_format_is_int64
...
util_format_is_int64 returns true for pure 64-bit integer (sint64 and uint64) formats.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33628 >
2025-05-08 19:30:19 +00:00
Samuel Pitoiset
4b76d04f7f
radv: ignore conditional rendering with vkCmdTraceRays*
...
CmdTraceRays is neither a dispatch or a draw command which means it
shouldn't be affected by conditional rendering.
Fixes recent VKCTS coverage.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34868 >
2025-05-08 19:08:10 +00:00
Robert Mader
7b68e1da91
llvmpipe: Enable support for multiplanar formats
...
Stop supporting formats that would cause us to use
lp_build_fetch_subsampled_rgba_aos() for YCbCr->RGB conversion
and always go through the slower emulated paths using
mulitple sampler views.
This not only allows dmabuf imports with EXT_image_dma_buf_import
to succeed for common YCbCr formats, but also ensures hints like
EGL_YUV_COLOR_SPACE_HINT_EXT and EGL_SAMPLE_RANGE_HINT_EXT are
honored.
Signed-off-by: Robert Mader <robert.mader@collabora.com >
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34775 >
2025-05-08 18:47:17 +00:00
Robert Mader
bf126d08ae
llvmpipe: Preparations for multiplanar formats
...
Use the appropriate util functions like many other drivers.
Signed-off-by: Robert Mader <robert.mader@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34775 >
2025-05-08 18:47:17 +00:00
Robert Mader
4051d4ef59
llvmpipe: Fix dmabuf import paths for DRM_FORMAT_YUYV variants
...
Right now llvmpipe only successfully supports single-plane formats,
limiting the number of supported YCbCr formats to a relatively small
number.
The implicit support for R8G8_R8B8 style subsampled RGB formats
causes the most common ones, YUYV and its variants, to chain up
to to lp_build_fetch_subsampled_rgba_aos() when importing (u)dmabufs
with EXT_image_dma_buf_import.
This code path currently has at least the following issues:
1. It doesn't support the YVYU/PIPE_FORMAT_R8B8_R8G8_UNORM and
VYUY/PIPE_FORMAT_B8R8_G8R8_UNORM, resulting in asserts/crashes.
2. The supported cases, YUYV and UYVY, end up with sub-optimal results
as they always return BT.601/narrow results, ignoring
EGL_YUV_COLOR_SPACE_HINT_EXT and EGL_SAMPLE_RANGE_HINT_EXT.
Stopping advertising support for those formats, as well as native support
for PIPE_FORMAT_YUYV and PIPE_FORMAT_UYVY, results in all four variants
taking fallback paths which happen to be much better supported.
An additional effect is that YUYV and UYVY are correctly advertised as
external only.
Cc: mesa-stable
Signed-off-by: Robert Mader <robert.mader@collabora.com >
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34775 >
2025-05-08 18:47:17 +00:00
Gurchetan Singh
03a35024a6
gfxstream: make sure by default descriptor is negative
...
Otherwise, another valid fd may be closed.
Cc: mesa-stable
Reviewed-by: Aaron Ruby <aruby@qnx.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34885 >
2025-05-08 18:29:03 +00:00
Samuel Pitoiset
b7d2cdd2b4
radv: ignore radv_disable_dcc_stores on GFX12
...
It's not necessary because DCC is completely transparent to the
userspace driver. Also it's causing issues with scanout.
This fixes rendering issues with scanout in Indiana Jones.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12924
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34859 >
2025-05-08 17:17:28 +02:00
Sil Vilerino
154c3934d6
d3d12: Add missing offset to encode slice metadata in the get_feedback function
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 10:42:17 -04:00
Sil Vilerino
245be20fa1
d3d12: Add fallback to ID3D12VideoEncodeCommandList2 if ID3D12VideoEncodeCommandList4 not available in underlying OS
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
e30a534f29
d3d12: Add missing D3D12_VIDEO_USE_NEW_ENCODECMDLIST4_INTERFACE guards
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
be33edbdf1
d3d12: Set HEVC slice mode state before calling d3d12_video_encoder_negotiate_requested_features_and_d3d12_driver_caps
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Pohsiang (John) Hsu
2939604248
d3d12: fix configuration flag for D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_DISABLE_LOOP_FILTER_ACROSS_SLICES
...
Signed-off-by: Pohsiang Hsu <pohhsu@microsoft.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
2ff18b2757
d3d12: Remove more nir dependencies when with_gallium_d3d12_graphics disabled
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
27829d7ffe
d3d12: Do not build microsoft/compiler when graphics, gl or vk disabled
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
5051140c32
d3d12: Report pipe_enc_cap_dirty_info.supports_require_sao/loop_filter_disabled
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
64f1a365e5
pipe: Add pipe_enc_cap_dirty_info.supports_require_sao/loop_filter_disabled
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
922f8a7d07
d3d12: Implement H264/HEVC PIPE_VIDEO_SLICE_MODE_AUTO for gallium driver auto-partition
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
0ee4b77ec9
pipe: Add PIPE_VIDEO_SLICE_MODE_AUTO for gallium driver auto-partition
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
7dfc7e1b1d
d3d12: Reports pipe_enc_cap_dirty_info.supports_require_auto_slice_mode
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
ffe9cec740
pipe: Add pipe_enc_cap_dirty_info.supports_require_auto_slice_mode
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
1c31fc3091
d3d12: Implement GPU Input Motion vectors
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
143087dadd
d3d12: Make d3d12_video_encode_support_caps in/out param capEncoderSupportData1 pointer members an external allocation to outlive the stack of the method call
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
7312db4827
pipe: Add support for (GPU Input) motion maps
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
2c193547ca
d3d12: Implement PIPE_VIDEO_CAP_ENC_QP_MAPS and CPU/GPU input QPMaps
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
5810c39978
pipe: Add (GPU input) PIPE_VIDEO_CAP_ENC_QP_MAPS and input_gpu_qpmap GPU input support
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
5cb4979875
d3d12: Add GPU input dirty rect support
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
86d521db4f
pipe: Add (GPU input) PIPE_VIDEO_CAP_ENC_DIRTY_MAPS and pipe_enc_move_rects GPU input support
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
064e07b26a
d3d12: deduplicate code with helpers: get_dirty_rects_support, get_move_rects_support, get_gpu_output_stats_support, get_sliced_encode_support
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
19cbb13255
d3d12: Support slice NAL prefixes on slice notifications mode
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
df995c9631
d3d12: Implement multi-slice notifications
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
bedd423893
d3d12: Prepare d3d12_video_encoder_encode_bitstream for sliced encoding. Checked working with single slice buffer at this point
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
555a13661a
pipe: Add sliced encoding API and caps
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
c5f5ee41c8
d3d12: Add support for QP, SATD and RC bits output stats
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
25726509ff
pipe: Add PIPE_VIDEO_CAP_ENC_GPU_STATS_* and pipe_resource textures in H264/H265 encode pic params
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
56bbfb9598
d3d12: Add support for pipe_enc_move_rects for H264/H265 encode
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
7c490bb860
pipe: Add PIPE_VIDEO_CAP_ENC_MOVE_RECTS and pipe_enc_move_rects for H264/H265 encode
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
6d81bc0cdd
d3d12: Add support for pipe_enc_dirty_rects for H264/H265 encode
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
700c6fff58
pipe: Add PIPE_VIDEO_CAP_ENC_DIRTY_RECTS and pipe_enc_dirty_rects for H264/H265 encode
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
4e632ed891
d3d12: Use D3D12_FEATURE_VIDEO_ENCODER_SUPPORT2 when D3D12_VIDEO_USE_NEW_ENCODECMDLIST4_INTERFACE is set
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
731bc92e87
d3d12: Add #if guards for using new ID3D12VideoEncodeCommandList4
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
2465dcf4cc
d3d12: Fix reporting for PIPE_VIDEO_CAP_ENC_MAX_DPB_CAPACITY
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
0577c77a4c
d3d12: Report pipe_enc_cap_roi.log2_roi_min_block_pixel_size
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
17cdbc5729
pipe: Add pipe_enc_cap_roi.log2_roi_min_block_pixel_size
...
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Pohsiang (John) Hsu
295ecc8d96
d3d12: enable D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_ENABLE_LONG_TERM_REFERENCES when max_num_ltr_frames > 0
...
Signed-off-by: Pohsiang Hsu <pohhsu@microsoft.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Pohsiang (John) Hsu
ebd82f39f8
d3d12: Add support for retreiving PIPE_VIDEO_CAP_ENC_MAX_DPB_CAPACITY for H264/H265 encode
...
Signed-off-by: Pohsiang Hsu <pohhsu@microsoft.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Pohsiang (John) Hsu
7557ce41be
pipe: add PIPE_VIDEO_CAP_ENC_MAX_DPB_CAPACITY for H264/H265 encode
...
Signed-off-by: Pohsiang Hsu <pohhsu@microsoft.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:21 +00:00
Pohsiang (John) Hsu
ea7ef6d575
d3d12: Add support for retrieving PIPE_VIDEO_CAP_ENC_MAX_LONG_TERM_REFERENCES_PER_FRAME for H264/H265 encode
...
Signed-off-by: Pohsiang Hsu <pohhsu@microsoft.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:21 +00:00
Pohsiang (John) Hsu
743f0a8df1
pipe: add PIPE_VIDEO_CAP_ENC_MAX_LONG_TERM_REFERENCES_PER_FRAME for H264/H265 encode
...
Signed-off-by: Pohsiang Hsu <pohhsu@microsoft.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:21 +00:00
Rhys Perry
2704a30df0
radv: perform nir_opt_access before the first radv_optimize_nir
...
Two lowered loads might not be CSE'd after nir_lower_explicit_io if one of
them is shrinked. This doesn't happen for deref loads, but it needs the
CAN_REORDER flag first.
fossil-db (gfx1201):
Totals from 556 (0.70% of 79377) affected shaders:
MaxWaves: 14936 -> 14940 (+0.03%); split: +0.05%, -0.03%
Instrs: 2140334 -> 2140942 (+0.03%); split: -0.07%, +0.10%
CodeSize: 11137948 -> 11145416 (+0.07%); split: -0.07%, +0.13%
SpillSGPRs: 2385 -> 2527 (+5.95%); split: -0.34%, +6.29%
Latency: 12310570 -> 12305011 (-0.05%); split: -0.08%, +0.04%
InvThroughput: 2136142 -> 2135516 (-0.03%); split: -0.06%, +0.03%
VClause: 47419 -> 47420 (+0.00%); split: -0.01%, +0.01%
SClause: 58423 -> 58290 (-0.23%); split: -0.36%, +0.14%
Copies: 160626 -> 161321 (+0.43%); split: -0.25%, +0.68%
Branches: 69693 -> 69710 (+0.02%); split: -0.04%, +0.06%
PreSGPRs: 34824 -> 34945 (+0.35%); split: -0.24%, +0.58%
PreVGPRs: 28682 -> 28649 (-0.12%); split: -0.36%, +0.24%
VALU: 1080800 -> 1081171 (+0.03%); split: -0.04%, +0.08%
SALU: 353112 -> 353770 (+0.19%); split: -0.15%, +0.34%
SMEM: 81587 -> 81364 (-0.27%)
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/34162 >
2025-05-08 13:30:50 +00:00
Rhys Perry
18a53230eb
aco: don't check dst_bitsize in apply_load_extract
...
I don't think this is necessary.
fossil-db (gfx1201):
Totals from 12 (0.02% of 79377) affected shaders:
Instrs: 73041 -> 72669 (-0.51%); split: -0.51%, +0.00%
CodeSize: 417376 -> 413852 (-0.84%); split: -0.85%, +0.00%
Latency: 1301862 -> 1301533 (-0.03%); split: -0.03%, +0.00%
InvThroughput: 599874 -> 599723 (-0.03%)
VClause: 1344 -> 1346 (+0.15%)
Copies: 15855 -> 15832 (-0.15%); split: -0.37%, +0.23%
VALU: 42138 -> 41883 (-0.61%); split: -0.61%, +0.00%
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/34162 >
2025-05-08 13:30:50 +00:00
Rhys Perry
eb95f7cc0e
aco: support sign extension in apply_load_extract
...
fossil-db (gfx1201):
Totals from 10 (0.01% of 79377) affected shaders:
Instrs: 28954 -> 28938 (-0.06%)
CodeSize: 164552 -> 164472 (-0.05%)
Latency: 1249341 -> 1247037 (-0.18%)
InvThroughput: 297077 -> 296618 (-0.15%)
VALU: 15951 -> 15941 (-0.06%)
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/34162 >
2025-05-08 13:30:50 +00:00
Rhys Perry
0de0fd38b4
aco: support more opcodes in apply_ds_extract
...
fossil-db (gfx1201):
Totals from 320 (0.40% of 79377) affected shaders:
Instrs: 3439754 -> 3432384 (-0.21%)
CodeSize: 18008696 -> 17973180 (-0.20%); split: -0.20%, +0.00%
VGPRs: 16016 -> 15404 (-3.82%)
Latency: 20246168 -> 20295740 (+0.24%); split: -0.08%, +0.33%
InvThroughput: 4462916 -> 4478546 (+0.35%); split: -0.08%, +0.43%
VClause: 87123 -> 87099 (-0.03%)
Copies: 261779 -> 261948 (+0.06%); split: -0.05%, +0.12%
Branches: 94611 -> 94601 (-0.01%); split: -0.01%, +0.00%
VALU: 1870695 -> 1865738 (-0.26%)
SALU: 488351 -> 487557 (-0.16%)
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/34162 >
2025-05-08 13:30:50 +00:00
Rhys Perry
3b42626973
ac/nir: allow 8/16-bit smem loads
...
fossil-db (gfx1201):
Totals from 295 (0.37% of 79377) affected shaders:
Instrs: 314018 -> 313355 (-0.21%); split: -0.22%, +0.00%
CodeSize: 1697996 -> 1696528 (-0.09%); split: -0.11%, +0.02%
Latency: 4197719 -> 4197106 (-0.01%)
InvThroughput: 1258891 -> 1258744 (-0.01%)
PreSGPRs: 12232 -> 12230 (-0.02%)
SALU: 66762 -> 66269 (-0.74%)
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/34162 >
2025-05-08 13:30:50 +00:00
Rhys Perry
5b116c4de9
ac/nir: allow vectorization of unsupported 8/16-bit loads
...
These can later be lowered to a vectorized 32-bit load.
fossil-db (gfx1201):
Totals from 1259 (1.59% of 79377) affected shaders:
MaxWaves: 36821 -> 36817 (-0.01%)
Instrs: 4363702 -> 4355749 (-0.18%); split: -0.23%, +0.05%
CodeSize: 22779980 -> 22706504 (-0.32%); split: -0.37%, +0.05%
VGPRs: 69672 -> 69792 (+0.17%); split: -0.02%, +0.19%
SpillSGPRs: 675 -> 673 (-0.30%)
Latency: 26684053 -> 26663819 (-0.08%); split: -0.11%, +0.03%
InvThroughput: 5617687 -> 5614798 (-0.05%); split: -0.10%, +0.04%
VClause: 106830 -> 106654 (-0.16%); split: -0.17%, +0.00%
SClause: 75523 -> 75495 (-0.04%); split: -0.04%, +0.01%
Copies: 323199 -> 323525 (+0.10%); split: -0.10%, +0.20%
Branches: 109475 -> 109480 (+0.00%); split: -0.00%, +0.01%
PreSGPRs: 55036 -> 55040 (+0.01%)
PreVGPRs: 47538 -> 47582 (+0.09%); split: -0.12%, +0.21%
VALU: 2377777 -> 2389977 (+0.51%); split: -0.02%, +0.53%
SALU: 578272 -> 578385 (+0.02%); split: -0.02%, +0.04%
VMEM: 190065 -> 181204 (-4.66%)
SMEM: 99709 -> 99565 (-0.14%)
VOPD: 244 -> 243 (-0.41%); split: +0.41%, -0.82%
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/34162 >
2025-05-08 13:30:50 +00:00
Rhys Perry
6dbf44ad9c
ac/nir: allow less than one register of overfetch
...
This is to allow vectorization of 8/16-bit loads, which can later be
cheaply lowered to a 32-bit load.
fossil-db (gfx1201):
Totals from 178 (0.22% of 79377) affected shaders:
MaxWaves: 4138 -> 4102 (-0.87%)
Instrs: 619714 -> 617917 (-0.29%); split: -0.32%, +0.03%
CodeSize: 3364396 -> 3352724 (-0.35%); split: -0.38%, +0.03%
VGPRs: 12896 -> 12980 (+0.65%); split: -0.19%, +0.84%
SpillSGPRs: 546 -> 545 (-0.18%)
Latency: 7589585 -> 7406076 (-2.42%); split: -2.45%, +0.04%
InvThroughput: 1926356 -> 1879866 (-2.41%); split: -2.42%, +0.00%
VClause: 12301 -> 11750 (-4.48%)
SClause: 13614 -> 13583 (-0.23%); split: -0.45%, +0.22%
Copies: 82207 -> 82265 (+0.07%); split: -0.10%, +0.17%
Branches: 19284 -> 19266 (-0.09%)
PreSGPRs: 9525 -> 9457 (-0.71%)
PreVGPRs: 12366 -> 12421 (+0.44%)
VALU: 347928 -> 348020 (+0.03%); split: -0.01%, +0.04%
SALU: 82620 -> 82519 (-0.12%); split: -0.19%, +0.07%
VMEM: 22248 -> 21430 (-3.68%)
SMEM: 17951 -> 17843 (-0.60%)
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/34162 >
2025-05-08 13:30:50 +00:00
Rhys Perry
ddef4bddf8
ac/nir: round components when lowering 8/16-bit loads to 32-bit
...
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/34162 >
2025-05-08 13:30:50 +00:00
Rhys Perry
f538cae743
nir/algebraic: optimize ior(unpack_4x8, unpack_4x8<<8) to unpack_32_2x16
...
No fossil-db changes.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34162 >
2025-05-08 13:30:50 +00:00
Rhys Perry
10f4264936
nir/search: extend swizzle_y
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34162 >
2025-05-08 13:30:50 +00:00
Rhys Perry
4fa1c92862
aco/gfx12: allow 8/16-bit smem loads
...
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/34162 >
2025-05-08 13:30:50 +00:00
Rhys Perry
75efc218f5
aco: support 8/16-bit loads in smem_combine()
...
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/34162 >
2025-05-08 13:30:50 +00:00
Rhys Perry
8abb787c6b
radv/gfx12: use dword3 smem loads for push constants
...
fossil-db (gfx1201):
Totals from 5 (0.01% of 79377) affected shaders:
(no affected stats)
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/34162 >
2025-05-08 13:30:50 +00:00
Rhys Perry
13b0131edc
aco/gfx12: select dwordx3 smem loads
...
fossil-db (gfx1201):
Totals from 47814 (60.24% of 79377) affected shaders:
MaxWaves: 1436871 -> 1436855 (-0.00%); split: +0.00%, -0.00%
Instrs: 36653621 -> 36649461 (-0.01%); split: -0.07%, +0.06%
CodeSize: 194102884 -> 194076060 (-0.01%); split: -0.06%, +0.04%
VGPRs: 2267944 -> 2269648 (+0.08%); split: -0.01%, +0.08%
SpillSGPRs: 8301 -> 8295 (-0.07%); split: -0.08%, +0.01%
Latency: 249627561 -> 249631829 (+0.00%); split: -0.04%, +0.04%
InvThroughput: 40004042 -> 40003575 (-0.00%); split: -0.02%, +0.02%
VClause: 680488 -> 680429 (-0.01%); split: -0.08%, +0.07%
SClause: 1062835 -> 1066206 (+0.32%); split: -0.20%, +0.52%
Copies: 2393981 -> 2393607 (-0.02%); split: -0.23%, +0.22%
Branches: 728117 -> 728113 (-0.00%); split: -0.00%, +0.00%
VALU: 20358269 -> 20358585 (+0.00%); split: -0.01%, +0.01%
SALU: 4737317 -> 4736411 (-0.02%); split: -0.07%, +0.06%
SMEM: 1712349 -> 1710075 (-0.13%); split: -0.13%, +0.00%
VOPD: 5808 -> 5813 (+0.09%); split: +0.12%, -0.03%
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/34162 >
2025-05-08 13:30:50 +00:00
Rhys Perry
90a5c93ea5
aco: prepare for dwordx3 smem loads
...
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/34162 >
2025-05-08 13:30:50 +00:00
Rhys Perry
208d62430f
aco/gfx12: use s_load_dwordx3 to load ray launch sizes
...
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/34162 >
2025-05-08 13:30:49 +00:00
Rhys Perry
cbd718506b
aco: add smem opcode helper
...
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/34162 >
2025-05-08 13:30:49 +00:00
Daniel Stone
fa27cacdd7
ci/panfrost: Really document T860 array flakes
...
It looks like this entire class of test is going to sometimes fail
causing GPU timeouts. As the random class presumably includes array
tests, flake the lot of those as well, rather than trying to figure out
which seed includes which subtests.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34878 >
2025-05-08 15:51:57 +03:00
Lionel Landwerlin
fa2627aefb
vulkan/runtime: add a multialloc variant for pipeline create
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34874 >
2025-05-08 11:22:55 +00:00
Lionel Landwerlin
565ac1ee6a
vulkan/runtime: fixup assert with link_geom_stages
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 9308e8d90d ("vulkan: Add generic graphics and compute VkPipeline implementations")
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34874 >
2025-05-08 11:22:55 +00:00
Lionel Landwerlin
a29d0cfaf0
vulkan/runtime: track dynamics descriptor in a set layout
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34874 >
2025-05-08 11:22:55 +00:00
Lionel Landwerlin
fead813644
vulkan/runtime: store index of the push descriptor in pipeline layout
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34874 >
2025-05-08 11:22:55 +00:00
Zan Dobersek
b8cc891e6e
ir3: allow asm roundtrip testing of compiled shader variants
...
The `asmroundtrip` IR3_SHADER_DEBUG option enables roundtrip testing of
ir3 asm facilities by generating disassembly for each compiled shader
variant, parsing that disassembly back into ir3 and assembling back into
binary, with the expectation that the initial binary and the post-roundtrip
binary are identical.
This should give some guarantee that any shader that ir3 can produce can
also be constructed through assembly and fed back into ir3.
When enabled, each shader variant has a parallel roundtrip variant created.
At the moment this variant is discarded after validation, but it could
replace the initial variant in the future to also test behavior of such
roundtrip-generated binary and accompanying metadata.
Signed-off-by: Zan Dobersek <zdobersek@igalia.com >
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34076 >
2025-05-08 09:44:31 +00:00
Zan Dobersek
0acf46b973
ir3: fix parsing of texture prefetch headers
...
Adjust ir3 parsing rules for texture prefetches to the current state. Those
rules expect the write mask to always be present, so the disassembly
production code is adjusted accordingly.
Signed-off-by: Zan Dobersek <zdobersek@igalia.com >
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34076 >
2025-05-08 09:44:31 +00:00
Zan Dobersek
c2f4d3d139
ir3: fix display of dot-product instructions
...
For dp2acc and dp4acc, don't display the derived NOP value by default, but
do display repeat flags for source registers. When the nop encoding
condition is met, the derived NOP value should be shown, mirroring what the
base cat3 instruction specification does.
Signed-off-by: Zan Dobersek <zdobersek@igalia.com >
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34076 >
2025-05-08 09:44:31 +00:00
Juan A. Suarez Romero
19fe1e5b5b
v3d/v3dv/ci: update expected results
...
Add new timeouts and flakes.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34869 >
2025-05-08 08:47:40 +00:00
Job Noorman
b038cb3df1
tu: scalarize IO before linking
...
This allows nir_link_opt_varyings, nir_remove_unused_varyings and
nir_compact_varyings to find a lot more optimization opportunities.
The implementation has been shamelessly copied, with some minor tweaks,
from radv_link_shaders.
Note that the regression in "Early Preamble" is caused by more texture
operations becoming uniform and being hoisted to the preamble (where
they need GPRs).
Totals from 72221 (43.88% of 164575) affected shaders:
MaxWaves: 924390 -> 929534 (+0.56%); split: +0.62%, -0.06%
Instrs: 29657203 -> 29265425 (-1.32%); split: -1.63%, +0.31%
CodeSize: 61509010 -> 61032290 (-0.78%); split: -1.46%, +0.68%
NOPs: 4810811 -> 4799957 (-0.23%); split: -2.49%, +2.27%
MOVs: 923221 -> 830062 (-10.09%); split: -14.80%, +4.71%
Full: 949533 -> 933312 (-1.71%); split: -1.82%, +0.11%
(ss): 685957 -> 678810 (-1.04%); split: -3.68%, +2.63%
(sy): 326800 -> 324295 (-0.77%); split: -2.56%, +1.79%
(ss)-stall: 2710956 -> 2682550 (-1.05%); split: -4.19%, +3.15%
(sy)-stall: 9480654 -> 9332777 (-1.56%); split: -4.39%, +2.83%
STPs: 5907 -> 5885 (-0.37%)
LDPs: 2622 -> 2596 (-0.99%)
Preamble Instrs: 6728019 -> 6671785 (-0.84%); split: -1.75%, +0.92%
Early Preamble: 52865 -> 52319 (-1.03%); split: +0.26%, -1.30%
Cat0: 5280863 -> 5268118 (-0.24%); split: -2.33%, +2.08%
Cat1: 1385055 -> 1271076 (-8.23%); split: -11.33%, +3.10%
Cat2: 11333273 -> 11194153 (-1.23%); split: -1.25%, +0.02%
Cat3: 8735603 -> 8618710 (-1.34%); split: -1.34%, +0.00%
Cat4: 958143 -> 952511 (-0.59%)
Cat5: 840520 -> 836190 (-0.52%); split: -0.53%, +0.02%
Cat6: 242192 -> 232244 (-4.11%)
Cat7: 881554 -> 892423 (+1.23%); split: -1.25%, +2.48%
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34784 >
2025-05-08 08:18:24 +00:00
Job Noorman
6a57bfb004
nir/lower_io_to_vector: remove can_read_output assert
...
Since we're not creating new output reads, just vectorizing existing
ones, this isn't the place to assert whether we can actually read
outputs.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Reviewed-by: Emma Anholt <anholt@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34784 >
2025-05-08 08:18:24 +00:00
Lionel Landwerlin
386decce41
panvk/ci: add more flaky tests
...
Signed-off-by: Lionel Landwerlin <llandwerlin@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34109 >
2025-05-08 06:48:35 +00:00
Lionel Landwerlin
5c7c1eceb5
anv/brw: handle pipeline libraries with mesh
...
I always thought there was a massive issue with pipeline libraries &
mesh shaders. Indeed recent CTS tests have exposed a number of issues.
Some values delivered to the fragment shader are coming from different
places depending on whether the preceding shader is Mesh or not. For
example PrimitiveID is delivered in the per-primitive block in Mesh
pipelines whereas for other pipelines it's coming as a VUE slot (which
is per-vertex). Those are 2 different locations in the payload.
We have to find a layout for fragment shaders that is compatible with
everything. Leaving gaps here and there in the thread payload.
Fixes the following test pattern :
dEQP-VK.mesh_shader.ext.smoke.fast_lib.shared_*
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34109 >
2025-05-08 06:48:35 +00:00
Lionel Landwerlin
18bbcf9a63
intel: introduce new VUE layout for separate compiled shader with mesh
...
Mesh shaders have per vertex block in URB pretty much identical to the
VUE format. Let's just reuse that concept to do all of our layout in
the payload attribute registers. This will ensure that we have
consistent VUE layout between Mesh & non-Mesh pipelines.
We need a new way of laying out the VUE though as we have to
accomodate a HW constraint of maximum (per-primitive + per-vertex) of
32 varying. This means we cannot have 2 locations in the payload for
things like PrimitiveID which can come from either the per-primitive
or the per-vertex block. The new layout places the PrimitiveID at the
end of the per-vertex attributes and shrinks the delivery dynamically
if the mesh stage is active. The shader is compiled with a
MOV_INDIRECT to read the PrimitiveID from the right location in the
attributes.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34109 >
2025-05-08 06:48:35 +00:00
Lionel Landwerlin
2d396f6085
intel: prepare VUE layout for more than 2 layouts
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34109 >
2025-05-08 06:48:35 +00:00
Lionel Landwerlin
95efdca00b
brw: add documentation pointers to FS attribute layout
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34109 >
2025-05-08 06:48:35 +00:00
Lionel Landwerlin
9d342081e7
brw/nir: add intrinsics to read attribute payload register indirectly
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34109 >
2025-05-08 06:48:35 +00:00
Lionel Landwerlin
ef17fbf8e5
anv/brw: use separate_shader to deduced MUE compaction
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34109 >
2025-05-08 06:48:35 +00:00
Lionel Landwerlin
6230f3029f
brw: fix brw_nir_move_interpolation_to_top
...
In a case like this :
block_0:
%5 = ...
%6 = ...
block_1:
%7 = load_interpolated_input %5, %6
The current logic would move load_interpolated_input to block_0 before
%5 but not move %5 & %6 which are sources of that instruction.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34109 >
2025-05-08 06:48:34 +00:00
Lionel Landwerlin
5ff1b31c3f
brw: document some brw_wm_prog_data fields
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34109 >
2025-05-08 06:48:34 +00:00
Lionel Landwerlin
2f654ddd03
brw: use VARYING_BIT_* macros more
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34109 >
2025-05-08 06:48:34 +00:00
Lionel Landwerlin
75b2d000fc
anv: tidy up (CLIP|SBE)_MESH emission
...
Moving it to is related functions.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34109 >
2025-05-08 06:48:34 +00:00
Lionel Landwerlin
62d2e323ba
anv/brw: shrink FS varying payload
...
We're currently allocating payload spots for 3 fields already
delivered somewhere else in the payload.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34109 >
2025-05-08 06:48:34 +00:00
Lionel Landwerlin
c467444670
brw/nir: use a new intrinsic for fs_msaa_flag
...
Avoid NIR code doing offset computations.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34109 >
2025-05-08 06:48:34 +00:00
Lionel Landwerlin
dd1ef73aae
brw: use newer NIR constructs
...
nir_shader_intrinsics_pass() & NIR_PASS()
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34109 >
2025-05-08 06:48:34 +00:00
Lionel Landwerlin
b64f237dc4
brw: move helper to brw_nir.c
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34109 >
2025-05-08 06:48:34 +00:00
Lionel Landwerlin
cbbe7ff66e
brw: add new helper to print out FS URB setup
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34109 >
2025-05-08 06:48:34 +00:00
Lionel Landwerlin
b8a80c88cb
brw: improve VUE printout
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34109 >
2025-05-08 06:48:34 +00:00
Lionel Landwerlin
4f10a1f618
anv: switch to brw helpers to figure out if a fragment is dynamic
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34109 >
2025-05-08 06:48:34 +00:00
Lionel Landwerlin
cb461fa287
anv: switch to use the tcs_prog_data for dynamic input vertices
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34109 >
2025-05-08 06:48:34 +00:00
Lionel Landwerlin
7f500cc6e4
brw: store input_vertices on tcs_prog_data
...
Will allow the driver to know if the vertices count is dynamic.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34109 >
2025-05-08 06:48:34 +00:00
Lionel Landwerlin
a9ee498347
brw: add helpers to check if a fragment shader execution is dynamic
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34109 >
2025-05-08 06:48:34 +00:00
Lionel Landwerlin
4717382f84
anv: lower input vertices for TCS unconditionally
...
Take the opportunity to reuse the backend pass.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34109 >
2025-05-08 06:48:34 +00:00
Lionel Landwerlin
119ef792c5
anv: remove tbimr workaround check
...
Already handled by having a special range created
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34109 >
2025-05-08 06:48:34 +00:00
Lionel Landwerlin
99580a815f
compiler: add VARYING_BIT_PRIMITIVE_INDICES
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34109 >
2025-05-08 06:48:34 +00:00
Lionel Landwerlin
07303c3fbc
compiler: add VARYING_BIT_CULL_PRIMITIVE
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34109 >
2025-05-08 06:48:34 +00:00
Ella Stanforth
b3cc871b7c
v3d/compiler: remove requirement for format information for fbfetch
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34742 >
2025-05-08 06:25:22 +00:00
Ella Stanforth
9a71e6dcc2
v3d/compiler: use mask for 16bit and 32bit return values
...
There are only ever two possibilities here so lets use a mask.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34742 >
2025-05-08 06:25:22 +00:00
Ella Stanforth
bb07364c54
v3d/compiler: remove num_samplers_used from shader key
...
This is only ever used by assertions.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34742 >
2025-05-08 06:25:22 +00:00
Ella Stanforth
01d0ccd664
v3d/compiler: remove unused texture swizzle
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34742 >
2025-05-08 06:25:22 +00:00
Ella Stanforth
76e27d2d0d
v3d/compiler: remove return_channels from the shader key
...
This isn't used anywhere.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34742 >
2025-05-08 06:25:22 +00:00
Ella Stanforth
b39fc710ee
v3d/compiler: remove int/uint tracking
...
We don't need this anymore as we do not support anything older than 4.2.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34742 >
2025-05-08 06:25:22 +00:00
Jesse.Zhang
d8624e6a79
winsys/amdgpu: Add support for queue priority in Mesa
...
This patch adds support for queue priority levels in Mesa's AMDGPU winsys layer.
The changes include:
1. Updated ac_drm_create_userqueue() to accept and pass through flags parameter
2. Modified amdgpu_userq_init() to use the flags when creating queues
3. Added flags field to amdgpu_userq struct to store priority settings
4. Updated header definitions to match kernel UAPI changes
This aligns with the kernel changes provided by Alex:
https://lists.freedesktop.org/archives/amd-gfx/2025-April/122782.html
https://lists.freedesktop.org/archives/amd-gfx/2025-April/122780.html
https://lists.freedesktop.org/archives/amd-gfx/2025-April/122786.html
v2: We only need 1 normal priority queue and 1 TMZ normal priority queue.(Marek Olšák)
v3: Simplified to only support normal priority queues
v4: use a local variable instead of being in struct amdgpu_userq.(Marek Olšák)
v5: rebase the latest main branch.
Signed-off-by: Jesse.Zhang <Jesse.zhang@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34568 >
2025-05-08 04:29:29 +00:00
Marek Olšák
870d17012a
ac: adjust maximum HS workgroup size
...
This has no effect on triangles because max 64 patches implied max 192
threads, but it improves performance for cases when the number of threads
per patch is > 3.
This improves the score for gfxbench5 "gl_tess_off" (offscreen) by 11%
on Navi48.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34863 >
2025-05-08 02:54:13 +00:00
Marek Olšák
b960137ebf
aco: remove unused aco_shader_info::tcs_offchip_layout
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34863 >
2025-05-08 02:54:13 +00:00
Marek Olšák
f6b3c2c97a
radeonsi: remove dead gfx12 tess code from a gfx6-11 function
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34863 >
2025-05-08 02:54:13 +00:00
Marek Olšák
dfc3c1135c
ac/nir/tess: don't pass nir_intrinsic_instr to hs_output_lds_offset
...
It will be used without intrinsics.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34863 >
2025-05-08 02:54:13 +00:00
Marek Olšák
4bbe497d9b
ac/nir/tess: don't pass nir_intrinsic_instr to VMEM IO calc helpers
...
These will be used without intrinsics.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34863 >
2025-05-08 02:54:13 +00:00
Marek Olšák
360494f50d
ac/nir/tess: remove unused variables
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34863 >
2025-05-08 02:54:12 +00:00
Marek Olšák
f58c0cbb6a
nir: split *_accessed_indirectly* bitmasks into *_read/written_indirectly*
...
for AMD
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34863 >
2025-05-08 02:54:12 +00:00
Marek Olšák
afd8fefb79
nir: add shader_info::tess::tcs_cross_invocation_outputs_written
...
for AMD
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34863 >
2025-05-08 02:54:12 +00:00
Emma Anholt
f45356f4ac
tu/perfetto: Forward VkDebugUtilsObjectNameInfoEXT to perfetto.
...
This gets us names on zink/wsi command buffers in perfetto, but may also
be useful some day for getting app names onto framebuffers and non-dynamic
renderpasses.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22350 >
2025-05-08 01:21:25 +00:00
Emma Anholt
e0355b926d
tu/perfetto: Move "have we already sent initial state?" into the helper.
...
I'm going to have to send initial state from another function too, shortly.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22350 >
2025-05-08 01:21:25 +00:00
Emma Anholt
131284b943
tu/perfetto: Attach VkCommandBuffer handles to the GPU events.
...
All of the GPU renderstage events show a command buffer id/name field in
the UI (default 0/NULL), so let's get it filled with something useful.
This will also be used by perfetto's trace processor for associating
object names with cmdbuf executions.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22350 >
2025-05-08 01:21:25 +00:00
Emma Anholt
7c130e5dcf
intel/ds: Fix formatting of stage index.
...
draws had been bumped to stage #10 , so they ended up appearing nested
between frame (#1 ) and cmdbuf (#2 ), instead of nested under them.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22350 >
2025-05-08 01:21:25 +00:00
Emma Anholt
4cc66123ec
anv/ds: Forward VkDebugUtilsObjectNameInfoEXT to perfetto.
...
This gets us names on zink/wsi command buffers in perfetto, but may also
be useful some day for getting app names onto framebuffers and non-dynamic
renderpasses.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22350 >
2025-05-08 01:21:25 +00:00
Emma Anholt
b47a6a5418
perfetto: Add helpers for passing VkDebugUtilsObjectNameInfoEXT to perfetto.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22350 >
2025-05-08 01:21:25 +00:00
Emma Anholt
55d788f434
anv/ds: Associate the VkCommandBuffer some anv-only renderstage events.
...
This means the perfetto UI will have a non-zero/NULL handle/name in the UI
on these renderstages. Unfortunately, intel/ds is outside of vulkan so
unless we pull in anv headers, we can't just pass in the anv_cmd_buffer.
This also means it would be much more painful to pass the cmd buffer to
the rest of the events, so they'll still have unset command buffers.
Still, being able to see the name of the command buffer in at least one of
the events should be useful once that's glued together.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22350 >
2025-05-08 01:21:25 +00:00
Emma Anholt
f873b15a48
perfetto: Allow tracepoint args to map to native perfetto fields.
...
Previously, our args all had to be an extra_data name/value pair. But
some fields we want to set (such as Vulkan object names) will be a
set_fieldname() call directly.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22350 >
2025-05-08 01:21:25 +00:00
Emma Anholt
546a100f26
intel/ds: Move "have we already sent initial state?" into the helper.
...
I'm going to have to send initial state from another function too, shortly.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22350 >
2025-05-08 01:21:25 +00:00
Emma Anholt
ccfc3b5c12
perfetto: Move the debug_markers to the incremental state.
...
You need to re-emit name interning when incremental state is lost, so this
is the right home for the HT of "have we interned this name?". The
emitter function is still on the datasource because it needs the
templating to get the tracecontext type, but now getting the locked
datasource is not really necessary other than being way more ergonomic
than repeating the template parameters.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22350 >
2025-05-08 01:21:25 +00:00
Emma Anholt
dd81420ef1
perfetto: Create a common MesaRenderpassIncrementalState.
...
... and explain what its role is.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22350 >
2025-05-08 01:21:25 +00:00
Emma Anholt
82656de029
zink: Add debug names to our command buffers.
...
This will be nice when debugging multiple sources of command buffers on a
system to see who's responsible.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22350 >
2025-05-08 01:21:25 +00:00
Emma Anholt
188bd800c2
wsi: Label the WSI blit command buffer with a name.
...
Given that the command buffer will be long-lived, no reason not to just do
this so that debugging tools can see what the cmdbuf is doing.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22350 >
2025-05-08 01:21:25 +00:00
Timothy Arceri
600892802d
mesa: fix color material tracking
...
f6c8ca06 changed this code to only set color materials mask when
the VERT_BIT_COLOR0 bit is set instead of when color material
is enabled. But this meant we always skipped over the
STATE_CURRENT_ATTRIB values.
Fixes: f6c8ca06f6 ("mesa: fix material inputs in ffvertex_prog.c")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7122
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34833 >
2025-05-08 00:31:29 +00:00
Alyssa Rosenzweig
92f553bcff
vtn: remove spurious texel buffer warning
...
The spec text here is:
Image Type must be an OpTypeImage. It is the type of the image in the
combined sampler and image type. It must not have a Dim of SubpassData.
Additionally, starting with version 1.6, it must not have a Dim of Buffer.
For older SPIR-V versions, there is no analogous requirement. It is implicitly
valid to use a Dim of Buffer (even though it doesn't make much sense). Should
apps do it anyway? Probably not, but it doesn't matter and they do.
glslang considers this requirement relevant only for 1.6+:
if (glslangIntermediate->getSpv().spv >= glslang::EShTargetSpv_1_6 &&
texType.getSampler().isBuffer()) {
// SamplerBuffer is not supported in spirv1.6 so
// `samplerBuffer(textureBuffer, sampler)` is a no-op
// and textureBuffer is the result going forward
constructed = arguments[0];
} else
constructed = builder.createOp(spv::OpSampledImage, resultType(), arguments);
That means SPIR-V with an older declared version will warn even with a glslang
new enough to know about the 1.6 requirement. That includes a *lot* of SPIR-V's
built with the CTS.
I see no compelling reason to keep the warning for older than 1.6. Removing the
spurious warning silences a *huge* amount of noise from dEQP-VK (plus a bit from
KHR-GL46). In exchange I see very little tradeoff, it's not really our job to
lint for best practices not in the spec.
I see two viable options:
1. Try to convince the whole ecosystem outside of Mesa to pivot to our pedantic
reading of the spec and get them to update all the old SPIR-V binaries in the
wild, in the case of CTS being changed at the glslang level and then
trickling down into CTS.
2. Merge this patch, simplifying Mesa and immediately forget about this forever.
I'm spending all my FOSS political capital on kernel upstreaming so I have a
strong preference for #2 , aka hitting Marge on this MR and then moving on with
all of our lives.
("Ignore the problem and make deqp-runner annoying to use" is the secret 3rd
option I'd rather not do.)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34847 >
2025-05-07 22:26:02 +00:00
Martin Roukala (né Peres)
809cb17ce6
panfrost/ci: document new t860 flakes
...
They have been preventing merges, so documenting them in the hope that
the next attemot will be more successful.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34795 >
2025-05-07 21:02:16 +00:00
Eric Engestrom
d7743ac71f
ci/ci-tron: uprev b2c to 0.9.15.1
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34795 >
2025-05-07 21:02:16 +00:00
Eric Engestrom
2db1f908f9
radv/ci: rename .test-radv to .ci-tron-test-radv
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34795 >
2025-05-07 21:02:16 +00:00
Martin Roukala (né Peres)
26e35d538a
ci: rename all the .b2c- jobs into .ci-tron-
...
We named these jobs like this despite b2c being an implementation
detail because we did not have a name for this bare-metal infra.
Now that we do (CI-Tron), let's rename the jobs to remove the
confusion.
Co-authored-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34795 >
2025-05-07 21:02:16 +00:00
Eric Engestrom
240ac9f2b9
radv/ci: set swap size for all amd jobs to 16g
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34795 >
2025-05-07 21:02:16 +00:00
Eric Engestrom
7e32fdceba
radv/ci: increase swap size on kabini to 16g
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34795 >
2025-05-07 21:02:16 +00:00
Eric Engestrom
909d41ef89
ci/build: stop uploading python-artifacts to gitlab artifacts
...
Everyone uses the S3 bucket for artifacts now.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34795 >
2025-05-07 21:02:16 +00:00
Eric Engestrom
a8e282b0c0
ci/ci-tron: print all the variables
...
This makes it easier to debug inheritance issues like the one fixed
earlier in this series, and makes it easier to reproduce a job without
needing more than looking at the job log.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34795 >
2025-05-07 21:02:15 +00:00
Eric Engestrom
f4d2b2a060
ci/ci-tron: add check that the required variables are set
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34795 >
2025-05-07 21:02:15 +00:00
Martin Roukala (né Peres)
37ace710fa
ci/ci-tron: switch to the upstream ci-tron template
...
Up until now, every project using CI-Tron had to write their own job
submission flow because CI-Tron itself was not providing any official
way of interacting with it via GitLab.
This however changed, and the solution is vastly superior to what we
have been using in Mesa:
* Ability to pass all the environment variables of the job to the DUT,
so no need to remember to add variables in
`export-gitlab-job-env-for-dut.sh` anymore
* No dependency on Mesa code, which means no need to wait on
python-artifacts and the ability to replicate a run by just copying
the job description outputted by the job \o/
* Ability to have as many initrd, HTTP, and TFTP artifacts as wanted
* Ability to expose a variable through a TFTP/HTTP endpoint or as an
initrd
* Ability to overwrite the platform environment (machine-specific FW)
* Ability to have as many kernel cmdline variables, all merged when
generating the final cmdline. This makes it easy to share some
snippets of cmdline between jobs
Transitioning from the custom to the generic template is however pretty
involved. This commit does the minimum changes needed to switch to the
new model, often simply replacing the B2C_ prefix with CI_TRON_.
Further renaming of "b2c" prefixes into "ci-tron" is left for future
commits.
Co-authored-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34795 >
2025-05-07 21:02:15 +00:00
Eric Engestrom
a062f0dd3d
zink+turnip/ci: fix inheritance/override order
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34795 >
2025-05-07 21:02:15 +00:00
Eric Engestrom
432b7d3276
radv/ci: fix inheritance/override order
...
Fixes a bug that becomes visible in an upcoming commit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34795 >
2025-05-07 21:02:15 +00:00
Martin Roukala (né Peres)
62291b6e14
radv/ci: drop redundant renoir timeouts
...
No idea why we ended up having timeouts set in gitlab-ci-inc.yml, but
this isn't right as they are only applicable to jobs.
The actual `radv-renoir-vkcts` job already overrides these, so it's just
dead code; let's reap it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34795 >
2025-05-07 21:02:15 +00:00
Martin Roukala (né Peres)
a27f739de3
radv/ci: move the vangogh timeouts to the jobs
...
No idea why we ended up having timeouts set in gitlab-ci-inc.yml, but
this isn't right as they are only applicable to jobs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34795 >
2025-05-07 21:02:15 +00:00
Eric Engestrom
91881ba390
radv/ci: inline .vkcts-test-valve
...
It was badly named, is not very useful, and the comment above was not
really correct and not useful here.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34795 >
2025-05-07 21:02:15 +00:00
Eric Engestrom
151062a169
amd/ci: simplify radeonsi-vangogh-glcts jobs definition
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34795 >
2025-05-07 21:02:15 +00:00
Eric Engestrom
c78a7d464b
ci/ci-tron: deduplicate setting the runner tags for most jobs
...
etnaviv is the important exception, as it needs to set two fields for
the setup tags, which need to be handled individually as runner tags.
The other exception is the nightly vangogh job that has a custom tag
added, which I'll hopefully get rid of Soon™.
One farm's jobs were also missing farm:$RUNNER_FARM_LOCATION; this
change ensures that it's always set, avoiding the risk of accidentally
picking an equivalent device in another farm.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34795 >
2025-05-07 21:02:15 +00:00
Eric Engestrom
c67ecb6393
etnaviv/ci: introduce common .austriancoder-ci-tron
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34795 >
2025-05-07 21:02:15 +00:00
Eric Engestrom
7208344abe
etnaviv/ci: split model and revision tags
...
This was working by accident because (we believe) GitLab internally
serializes/deserializes the tags list as a comma-separated list, but
this is not documented and therefore liable to break with any update, so
let's explicitly set two separate tags instead.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34795 >
2025-05-07 21:02:15 +00:00
Eric Engestrom
a40c862ca6
ci/vkd3d: stop supressing vulkaninfo errors
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34795 >
2025-05-07 21:02:15 +00:00
Eric Engestrom
f95adc2c34
ci/b2c: drop dead /runner-before-script.sh code
...
This has never been used (instead, `pre_build_script` was used), let's drop it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34795 >
2025-05-07 21:02:15 +00:00
Sagar Ghuge
bb61a78911
anv: Fix untyped data port cache pipe control dump output
...
Fixes: 845ab3d627
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34855 >
2025-05-07 19:29:50 +00:00
Eric Engestrom
6d8324e819
docs: add calendar for 25.1.x releases
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34862 >
2025-05-07 19:22:14 +02:00
Eric Engestrom
98a26478f7
docs: add sha sum for 25.1.0
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34862 >
2025-05-07 19:15:23 +02:00
Eric Engestrom
60f180ddd5
docs: add release notes for 25.1.0
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34862 >
2025-05-07 19:15:23 +02:00
Eric Engestrom
819cf4b82d
docs: update calendar for 25.1.0
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34862 >
2025-05-07 19:14:51 +02:00
Ganesh Belgur Ramachandra
b1a34ac95d
radeonsi: change do_update_shaders boolean to a bitmask
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29326 >
2025-05-07 15:43:14 +00:00
Mary Guillemard
aecc3fbe50
panfrost: Ensure printf buffer size is lowered
...
We were not using the nir_lower_printf_buffer pass, this fix issues with
printf usages with OpenCL C internal shaders.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34814 >
2025-05-07 15:10:50 +00:00
Rob Clark
25752d9ac1
freedreno/virtio: Use util_get_command_line() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34846 >
2025-05-07 13:22:48 +00:00
Rob Clark
1cfe89e3d4
tu/virtio: Use util_get_command_line() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34846 >
2025-05-07 13:22:48 +00:00
Rob Clark
0c45889fa8
tu: Add TU_DEBUG=comm
...
The debug flag overrides the process's comm/cmdline values with the
process's comm/cmdline. This can be useful for debugging faults that
happen after the process exits (when normally the comm/cmdline would no
longer be available to capture in a GPU devcoredump).
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34846 >
2025-05-07 13:22:48 +00:00
Collabora's Gfx CI Team
e8a9b4571e
Uprev ANGLE to 3540a326ec8497700523eb2d3eca90ae21806e8e
...
f355e2b37e...3540a326ec
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34813 >
2025-05-07 12:13:24 +00:00
Valentine Burley
9749a1a4e4
ci: Refactor structured tagging component definitions
...
Introduce per-component CI_BUILD_COMPONENTS_* variables to allow
more flexible composition of CI_BUILD_COMPONENTS, and add these to
every container job by listing them in .container.
Also rework the -arm64 and -x86_64 definitions, which were still
based on the old kernel+rootfs layout. Split them into -gl and -vk,
but keep -arm32, which builds fewer components.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34813 >
2025-05-07 12:13:24 +00:00
Valentine Burley
54309f4e7a
ci: Replace HWCI_KVM with HWCI_ENABLE_X86_KVM
...
Replace HWCI_KVM="true" with HWCI_ENABLE_X86_KVM=1 for consistency with
other integer-based toggles (e.g. HWCI_START_WESTON,
PARALLELISE_VIA_LP_THREADS).
The new name also makes the variable’s purpose clearer by explicitly
referencing X86.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34813 >
2025-05-07 12:13:24 +00:00
Valentine Burley
d527da301f
ci: Don't include the kernel in test-base image
...
Including the kernel image in test-base requires rebuilding every
x86_64 container image on each kernel uprev, even though only the
crosvm jobs use this kernel.
Move the download to runtime and update the distribution tags to avoid
triggering container rebuilds on kernel changes.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34813 >
2025-05-07 12:13:24 +00:00
Valentine Burley
c276e0b29a
ci/crosvm: Use structured tagging for crosvm
...
Structured tagging captures a checksum of the component we think we're
building, and verifies this through the chain.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34813 >
2025-05-07 12:13:24 +00:00
Valentine Burley
f2c68b2ea9
ci/crosvm: Collapse build section
...
Make the container build more readable and easier to follow in CI logs.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34813 >
2025-05-07 12:13:24 +00:00
Valentine Burley
d847d553ca
ci/crosvm: Fix image tags in build-crosvm.sh header
...
Bumping DEBIAN_BASE_TAG already triggers a rebuild of the test-gl and
test-vk containers, so their tags don’t need to be updated manually.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34813 >
2025-05-07 12:13:24 +00:00
Valentine Burley
c3313257ca
zink/ci: Properly source setup-test-env.sh in zink-venus-lvp
...
The zink-venus-lvp job wasn’t sourcing setup-test-env.sh like the other
Xvfb jobs, which will be necessary for an upcoming change.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34813 >
2025-05-07 12:13:24 +00:00
Eric Engestrom
cfbc20c755
lavapipe/ci: add recent flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34857 >
2025-05-07 10:20:20 +00:00
Eric Engestrom
98a1eddaeb
r300/ci: add recent flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34857 >
2025-05-07 10:20:20 +00:00
Eric Engestrom
dd69e34afc
etnaviv/ci: add recent flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34857 >
2025-05-07 10:20:20 +00:00
Eric Engestrom
4fb425c197
radv/ci: add recent flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34857 >
2025-05-07 10:20:20 +00:00
Eric Engestrom
f96f416b80
turnip/ci: document a750 fixed tests
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34857 >
2025-05-07 10:20:20 +00:00
Valentine Burley
d1b42e6f3a
freedreno/ci: Disable a630 jobs
...
The cheza runners are offline.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34835 >
2025-05-07 08:20:19 +00:00
Kai Wasserbäch
531c6696d4
fix(FTBFS): clc: switch to new non-owned TargetOptions for LLVM 21
...
Upstream hid the `TargetOptions` in commit 985410f87f2d19910a8d327527fd30062b042b63
Use the new `getTargetOpts()` to obtain the `TargetOptions` for
`setTarget()`.
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13079
Reference: 985410f87f
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34835 >
2025-05-07 08:20:19 +00:00
Olivia Lee
04bbe45b76
panfrost: upload blend shaders to bin pool
...
Instead of reuploading them to a fresh BO every time the blend state
changes. This allows us to drop the separate blend shader cache for the
fb preload shaders.
This improves gfxbench gl_driver FPS on G610 from 42.39 to 61.94,
which is now slightly faster than the DDK (57.76).
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34666 >
2025-05-07 07:55:44 +00:00
Olivia Lee
7fe842663e
pan/bi: push blend constants to FAU
...
This improves blend shader performance slightly over loading the
constants from the sysval UBO. On bifrost, we have 128 FAU words, so
reserving 4 words for blend constants is not a significant cost. On
midgard, register mapped uniforms share space with working registers.
With high working register pressure, we only allocate 32 uniform
registers, and so would lose 1/8 of available space to blend constants
if we implemented the same optimization.
This improves gfxbench gl_driver FPS on G610 from 40.48 to 42.39. I did
not measure any regressions on benchmarks I tested that did not use
blend shaders.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34666 >
2025-05-07 07:55:44 +00:00
Olivia Lee
781d3162e4
panfrost: pass blend constants to blend shaders dynamically
...
This is similar to the approach in panvk, where we pass blend constants
to the blend shader in fixed FAU slots instead of specializing the
shader on blend constants. TODO: explain midgard stuff
This eliminates the blend shader variant cache, which performed very
badly when the working set of blend constants in an application was >32
(the maximum number of variants stored). Just increasing the cache size
like we did in f1f39fa645 ("panfrost: Increase the limit for blend
shader variants") would help for applications with a larger static set,
but we would still have cache thrashing on applications which change the
blend constants dynamically.
For gfxbench gl_driver, which uses 386 blend constant values, this
improves FPS on a G610 from 6.06 to 40.48. Most applications are
unaffected, because they don't use enough constant values to cause
thrashing.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34666 >
2025-05-07 07:55:44 +00:00
Olivia Lee
def9af0255
panfrost: map sysval UBO to a fixed index
...
We want the sysval UBO at a fixed index in order to pass dynamic blend
constants to blend shaders, which share UBOs with the fragment shader.
This requires shifting the existing UBOs to make space for a new UBO at
a low index. This remapping happens late, once we know whether sysvals
are actually used by a variant, so applications still use the original
indices.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34666 >
2025-05-07 07:55:44 +00:00
Olivia Lee
b6d0fdf556
panfrost: move some blend shader infrastructure into gallium driver
...
The blend shader cache from pan_blend.h is not used in panvk, which has
it's own blend shader cache and compilation entrypoint. Moving this
allows us to use gallium-specific things in the cache.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34666 >
2025-05-07 07:55:44 +00:00
Konstantin Seurer
84b9c281fe
radv: Return VK_ERROR_INCOMPATIBLE_DRIVER for unsupported devices
...
VK_ERROR_INITIALIZATION_FAILED will fail physical device enumeration.
Returning VK_ERROR_INCOMPATIBLE_DRIVER means that the driver can still
be used on supported GPUs when multiple GPUs are installed.
cc: mesa-stable
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34783 >
2025-05-07 08:26:33 +02:00
Faith Ekstrand
5d72ebf3e7
nvk: Stop printing errors for invalid dma-buf image queries
...
This warning message has been annoying people for a long time. Let's
just get rid of it. I don't think it's really helping anyone with
anything and it's just burning logging space.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34853 >
2025-05-07 00:33:43 +00:00
Olivia Lee
63557a03df
mailmap: update my name and email
...
Signed-off-by: Olivia Lee <olivia.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34852 >
2025-05-07 00:26:45 +00:00
Faith Ekstrand
e3e7dad82d
nak: Stop relying on nir_lower_pack
...
We represent vectors as packed anyway so all these ops are just data
motion that we already know how to do. Calling into NIR for these
doesn't really help. It also avoids potential optimization loops in NIR
where pack op lowering conflicts with itself. It's simpler just to
handle it all in the back-end and trust our prmt optimization and copy
propagation to clean it all up.
Reviewed-by: Mel Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34849 >
2025-05-07 00:08:05 +00:00
Faith Ekstrand
efd1cddbe9
nak: Set lower_pack_64_4x16
...
Otherwise, these can cause infinite loops in optimization because there
aren't _split variants and the optimizer tries to combine and split
things infinitely.
Reviewed-by: Mel Henning <drawoc@darkrefraction.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34849 >
2025-05-07 00:08:05 +00:00
Eric Engestrom
140cd7c4f4
v3dv/ci: document flakes seen over the last 7 days
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34848 >
2025-05-06 21:53:15 +00:00
Eric Engestrom
6a18569aa5
v3d/ci: document flakes seen over the last 7 days
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34848 >
2025-05-06 21:53:15 +00:00
Eric Engestrom
bf643bbcf6
vc4/ci: document flakes seen over the last 7 days
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34848 >
2025-05-06 21:53:15 +00:00
Eric Engestrom
df3618edc2
v3dv/ci: fix malformatted flakes line
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34848 >
2025-05-06 21:53:15 +00:00
Dmitry Osipenko
daad392d5c
virtio/vpipe: Correct vdrm_vpipe_connect() definition
...
The vdrm_vpipe_connect() prototype defined in vdrm.c doesn't match
vdrm_vpipe_connect() defined in vdrm_vpipe.c. This leads to a compilation
warning about the wrong proto when Mesa linked with enabled LTO. Fix the
vdrm_vpipe_connect() definition.
Fixes: bf0e3d6274 ("virtio/vdrm: Add vtest backend")
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34819 >
2025-05-06 21:36:16 +00:00
Rhys Perry
9ca71b52aa
aco: swap the correct v_mov_b32 if there are two of them
...
Previously, this function tried to swap the instruction which is not
v_mov_b32, so that it doesn't introduce any new OPY-only instructions. If
both were v_mov_b32, it swapped Y. Since this makes Y opy-only, this can't
be done if X is also opy-only.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Fixes: 408fa33c09 ("aco/gfx12: don't use second VALU for VOPD's OPX if there is a WaR")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13101
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34841 >
2025-05-06 21:04:28 +00:00
Sasha Finkelstein
2f4f9f0b98
hk: Implement VK_EXT_map_memory_placed
...
Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13008
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34789 >
2025-05-06 18:41:08 +00:00
Alyssa Rosenzweig
0acb34b065
hk: use nir_lower_default_point_size
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34762 >
2025-05-06 17:07:00 +00:00
Alyssa Rosenzweig
a49403f4ac
agx/nir_lower_tess: use nir_lower_default_point_size
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34762 >
2025-05-06 17:07:00 +00:00
Alyssa Rosenzweig
d53a3a081b
agx/nir_lower_gs: use nir_lower_default_point_size
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34762 >
2025-05-06 17:07:00 +00:00
Alyssa Rosenzweig
5788770d91
nir: add nir_lower_default_point_size pass
...
this is useful across drivers for maint5 semantics on mobile hw.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34762 >
2025-05-06 17:07:00 +00:00
Mel Henning
9ce14a5787
nak: Remove #![allow(unstable_name_collisions)]
...
Removing this doesn't trigger any warnings, so I assume it's been fixed
in the meantime.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34591 >
2025-05-06 16:48:34 +00:00
Mel Henning
7edb086685
nak: Call nir_opt_phi_to_bool
...
This opt seems to be somewhat sensitive to pass order - it really wants
to run somewhere between nir_opt_loop and nir_opt_remove_phis. (radv,
the only other backend that calls this pass, also matches that
ordering).
shader-db stats:
Totals:
CodeSize: 29166032 -> 29034608 (-0.45%); split: -0.46%, +0.01%
Number of GPRs: 156968 -> 156969 (+0.00%)
SLM Size: 147360 -> 147316 (-0.03%)
Static cycle count: 9126931 -> 9158663 (+0.35%); split: -0.07%, +0.42%
Spills to memory: 173573 -> 170288 (-1.89%)
Fills from memory: 173573 -> 170288 (-1.89%)
Spills to reg: 17838 -> 17111 (-4.08%); split: -4.09%, +0.01%
Fills from reg: 13089 -> 13090 (+0.01%)
Totals from 45 (0.69% of 6568) affected shaders:
CodeSize: 8993312 -> 8861888 (-1.46%); split: -1.49%, +0.03%
Number of GPRs: 4978 -> 4979 (+0.02%)
SLM Size: 93596 -> 93552 (-0.05%)
Static cycle count: 4703524 -> 4735256 (+0.67%); split: -0.14%, +0.81%
Spills to memory: 107785 -> 104500 (-3.05%)
Fills from memory: 107785 -> 104500 (-3.05%)
Spills to reg: 5667 -> 4940 (-12.83%); split: -12.86%, +0.04%
Fills from reg: 4131 -> 4132 (+0.02%)
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34591 >
2025-05-06 16:48:34 +00:00
Zan Dobersek
c0dfdc907b
tu: allow bigger block sizes when copying between buffers
...
When copying between buffers, find the biggest possible block size usable
for all copy regions. A common block size is used since using different
block sizes can require additional flushing between different blocks.
Besides the single-byte and 4-byte block sizes, also allow for 16-byte
block size and the appropriate corresponding format. Using bigger block
size when possible helps potentially reduce the number of required
CP_BLIT operations. Tested on the Crucible benchmarks, especially for
larger copy regions this can improve throughput up to 3x.
Signed-off-by: Zan Dobersek <zdobersek@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34587 >
2025-05-06 16:29:48 +00:00
Juan A. Suarez Romero
ae51c59663
broadcom/ci: update expected results
...
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34837 >
2025-05-06 15:02:56 +00:00
Lionel Landwerlin
c434050a00
brw: add pre ray trace intrinsic moves
...
Some intrinsics are implemented by reading memory location that could
be rewritten by a further tracing calls. So we need to move those
reads prior to tracing operations in the shaders.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8979
Tested-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34214 >
2025-05-06 13:34:53 +00:00
Lionel Landwerlin
37608c075f
anv: promote VK_EXT_robustness2 to VK_KHR_robustness2
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34821 >
2025-05-06 13:16:13 +00:00
Danylo Piliaiev
f03be478a9
tu/lrz: Add tu_ignore_frag_depth_direction driconf
...
Will be useful if app doesn't specify depth direction correctly.
E.g. the capture of "Sons of The Forest" I have has a shader
where `gl_FragDepth` has `layout(depth_less)`, but the output for different
fragments is actually sometimes less, sometimes more than the original depth
by a tiny margin.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34423 >
2025-05-06 11:21:17 +00:00
Danylo Piliaiev
847ad80e03
tu/lrz: Consider FS depth layout when gl_FragDepth is written
...
Specifying depth write direction in shader may help us. E.g.
If depth test is GREATER and FS specifies FRAG_DEPTH_LAYOUT_LESS
it means that LRZ won't kill any fragment that shouldn't be killed,
in other words, FS can only reduce the depth value which could
make fragment to NOT pass with GREATER depth test. We just have to
enable late Z test.
There is the same concept in D3D11 and it is seen e.g. in "Stray" game.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34423 >
2025-05-06 11:21:17 +00:00
Karmjit Mahil
d05b92d720
tu: Add "check_cmd_buffer_status" debug option
...
Add a debug option which checks the status of a command buffer, if
it has completed execution on the GPU, before it's reset or
destroyed.
This works by getting the GPU to write to a specific memory address
on vkBeginCommandBuffer and vkEndCommandBuffer, so the CPU can check
that the GPU has written the TU_CMD_BUFFER_STATUS_IDLE to the slot
before actually resetting or freeing the command buffer.
This can to help in debugging sync issues within the driver.
Signed-off-by: Karmjit Mahil <karmjit.mahil@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34383 >
2025-05-06 08:47:18 +00:00
Hyunjun Ko
86d21fd2cf
anv: Set tc/beta offset according to the flag from PPS.
...
Consider the flag from PPS when setting tc/beta offset.
This fixes some artifacts when decoding a hevc video,
hevc_scaling_list4.mkv from Lynne.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34782 >
2025-05-06 04:24:22 +00:00
Hyunjun Ko
7998106355
vulkan/video: Fix wrong parsing for H265 decoding
...
Not found real issues yet related to this though,
this is apparently wrong.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34782 >
2025-05-06 04:24:22 +00:00
Faith Ekstrand
20543981b5
nak: Print the % for SSA predicates
...
I don't remember why we special-cased predicates. There isn't a
particularly good reason. This lets us drop the weird fmt_plain()
and just use fmt() for everything.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34794 >
2025-05-05 23:08:02 +00:00
Faith Ekstrand
56bdf9043b
nak: Move SSAValue and friends to a new ssa_value.rs file
...
This is getting complicated and depends on some inter-linked details for
safety such as values being in-range. It's safer if the rest of the IR
is forced to use public interfaces.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34794 >
2025-05-05 23:08:02 +00:00
Mel Henning
9d1c38ddf1
nak: Check that swizzles are none
...
wherever we check that src_mod is none.
This commit simply does:
s/src_mod.is_none()/is_unmodified()/
across all of nak except the definition of is_unmodified() itself.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Fixes: bad23ddb48 ("nak: Add F16 and F16v2 sources")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34794 >
2025-05-05 23:08:02 +00:00
Mel Henning
6e72f0f81b
nak: Add Src::is_unmodified() helper
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Fixes: bad23ddb48 ("nak: Add F16 and F16v2 sources")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34794 >
2025-05-05 23:08:02 +00:00
Mel Henning
d91ba8f36d
nak: Mark Large SSARef paths as cold
...
This hints to the optimizer that these paths are less commonly executed.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34794 >
2025-05-05 23:08:02 +00:00
Mel Henning
2f44970b68
nak: Support large SSARef
...
This lets us store up to 16 SSAValues in an SSARef, while keeping the
common case of 4-or-fewer SSAValues allocation-free.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34794 >
2025-05-05 23:08:02 +00:00
Mel Henning
dee3a0aa58
nak: CBuf and SSARef are no longer Copy
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34794 >
2025-05-05 23:08:02 +00:00
Mel Henning
68069fb810
nak: SrcRef is no longer Copy
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34794 >
2025-05-05 23:08:02 +00:00
Mel Henning
a9d2789237
nak: Src is no longer Copy
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34794 >
2025-05-05 23:08:02 +00:00
Faith Ekstrand
30f6ca6391
nak: Replace Src::new_zero() with a ZERO constant
...
Constants have different rules with respect to the Copy trait and using
a constant will allow us to initialize arrays even once Copy is gone.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34794 >
2025-05-05 23:08:02 +00:00
Mel Henning
f21557154b
nak/from_nir: Turn srcs into a closure
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34794 >
2025-05-05 23:08:02 +00:00
Mel Henning
854b2d5882
nak: Dst is no longer Copy
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34794 >
2025-05-05 23:08:02 +00:00
Mel Henning
0ac3296f28
nak/from_nir: Make fault an Option<SSAValue>
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34794 >
2025-05-05 23:08:02 +00:00
Mel Henning
ddcf0029cd
nak: Use references to src/dst more places
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34794 >
2025-05-05 23:08:02 +00:00
Mel Henning
ffe438c77d
nak: Return SSAValue from builder where possible
...
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34794 >
2025-05-05 23:08:02 +00:00
Mel Henning
b9e9a811b8
nak: Split scalar/vec in SSABuilder::alloc_ssa
...
SSABuilder::alloc_ssa() is now only for scalars. We intoduce
SSABuilder::alloc_ssa_vec() which handles the vector case the way
alloc_ssa previously did. This matches the split used in SSAValueAllocator
We're about to drop Copy from SSARef, which makes it a lot more annoying
to deal with. SSAValue will remain Copy though, so we want to start
using it instead of SSARef where possible.
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34794 >
2025-05-05 23:08:02 +00:00
Mel Henning
1ff9848d25
nak: Use NonZeroU32 for SSAValue and remove NONE
...
Code that might have an invalid SSAValue is encouraged to use
Option<SSAValue> instead of NONE, which is now the same size as a u32
and provides more type safety.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34794 >
2025-05-05 23:08:02 +00:00
Mel Henning
121b2b889b
nak: Add an SSARef::from_iter() helper
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34794 >
2025-05-05 23:08:02 +00:00
Yiwei Zhang
4f07092bdb
venus: fix to passively enable wsi required extensions
...
Required extensions to support wsi have been relaxed earlier for sw blit
path. So the renderer extensions enablement is fixed to be passive based
on the renderer side correspondingly.
Test: emulate to drop dma-buf and modifier support from host anv driver,
and confirm wsi via venus works with sw blit fallback and device
creation no longer returns VK_ERROR_FEATURE_NOT_PRESENT.
Fixes: 06f5d1a105 ("venus: expose WSI on renderer without dma-buf support")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34827 >
2025-05-05 21:43:33 +00:00
Collabora's Gfx CI Team
149bad63ea
Uprev Piglit to 1498c397ea35119692b579dd6f523de4651c663f
...
c50d9aa54f...1498c397ea
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34688 >
2025-05-05 20:34:12 +00:00
Faith Ekstrand
2f8b27713d
nak: Fold Src::fold_imm() into the legalization pass
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34818 >
2025-05-05 17:51:25 +00:00
Faith Ekstrand
c3417c3c82
nak: Use as_u32() directly in Src::is_fneg_zero()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34818 >
2025-05-05 17:51:25 +00:00
Faith Ekstrand
274be4291e
nak: Handle SrcType::F64 in Src::is_fneg_zero()
...
We handled it fine if src_ref was SrcRef::Zero but not if src_ref was
SrcRef::Imm32(0x80000000), which is also negative zero.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34818 >
2025-05-05 17:51:25 +00:00
Faith Ekstrand
8a4ffe3c7e
nak: Fold source modifiers in Src::as_u32()
...
For now we leave a fold_imm() helper with the old semantics because
there are still two uses of it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34818 >
2025-05-05 17:51:25 +00:00
Faith Ekstrand
4648a15476
nak: Take a SrcType in Src::as_u32()
...
Without a type, we can't really interpret the data. Currently, it just
returns None in the presence of modifiers so it's okay. Also, all of
the callers of this helper today do so on the source of an OpPrmt which
doesn't support source modifiers.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34818 >
2025-05-05 17:51:25 +00:00
Faith Ekstrand
4b5eec6c2a
nak/sm20: Use SrcRef::as_u32()
...
This makes more sense as we don't want any complex logic around source
modifiers or any of that. We just want to handle Zero and Imm32 in the
same case. Also, explicitly assert that modifiers are None, which is
more clear anyway.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34818 >
2025-05-05 17:51:25 +00:00
Faith Ekstrand
cb156a468e
nak: Match on the SrcRef directly in Src::is_nonzero()
...
Calling as_u32() isn't really doing us any good here since we want to
fail for SrcRef::Zero anyway. Also assert that src_mod == None since we
don't handle FNeg in this path.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34818 >
2025-05-05 17:51:25 +00:00
José Roberto de Souza
a82b569649
anv: Reduce memory pool usage in MTL and ARL
...
Those platforms requires aux map with 1MB alignment, for slab that
means that any buffer needs to have size of multiple of 1MB what
causes a lot of memory to be wasted causing it to run out of memory
when running multiple GPU applications.
Fixes: ea18572ff2 ("anv: Add support for ANV_BO_ALLOC_AUX_CCS in anv_slab_bo")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34817 >
2025-05-05 16:42:14 +00:00
Karol Herbst
7c78c76181
iris/xe: take the grids variable_shared_mem into account
...
This fixes OpenCL local memory kernel arguments.
Cc: mesa-stable
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34548 >
2025-05-05 16:04:17 +00:00
Karol Herbst
fee9230bb5
iris/xe: fix compute shader start address
...
It needs to apply the offset so it selects the correct SIMD shader.
Cc: mesa-stable
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34548 >
2025-05-05 16:04:17 +00:00
Karol Herbst
57ccfd0502
iris: parse global bindings for every gen
...
This fixes OpenCL support on gen 12.5+
Cc: mesa-stable
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34548 >
2025-05-05 16:04:17 +00:00
Mary Guillemard
8447f7aaae
pan/genxml: Fix inverted logic on nr_regs
...
v10 have 96 and v12+ have 128, not the opposite.
Fixes: 811525b543 ("pan/genxml: Build libpanfrost_decode for v12")
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34815 >
2025-05-05 15:31:38 +00:00
Samuel Pitoiset
1aa5fd5da2
radv: promote VK_EXT_robustness2 to VK_KHR_robustness2
...
This is a 1:1 promotion.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34810 >
2025-05-05 15:02:19 +00:00
Samuel Pitoiset
4e09a5c992
vulkan: Update XML and headers to 1.4.314
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34810 >
2025-05-05 15:02:19 +00:00
Samuel Pitoiset
02d7c8f9d3
spirv: Update the JSON and headers
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34810 >
2025-05-05 15:02:19 +00:00
Eric Engestrom
7e0f157b8a
ci: pass vk_require_etc2 from radv jobs through to the duts
...
history:
- 8d83ffe531 ("radv/ci: Add coverage for ETC2 emulation.")
var added to the jobs as `radv_require_etc2`, but not passed to duts
- 567c32b55c ("radv, drirc: rename radv_require_{etc2,astc}")
var renamed to `vk_require_etc2`, except in the jobs
- 5f177018f7 ("radv/ci: re-enable ET2C emulation testing on non-native GPUs")
var renamed in the jobs, but still not passed to duts
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34796 >
2025-05-05 15:53:45 +02:00
Samuel Pitoiset
0684dc5fa8
radv: fix GPU hangs with image copies for ASTC/ETC2 formats on transfer queue
...
Emitting compute dispatches on SDMA just hangs. It might be needed
to switch to gang submit for these to work but fixing the GPU hang is
more important for now.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34805 >
2025-05-05 13:50:25 +00:00
Valentine Burley
b8c47c5535
turnip/ci: Update expectations
...
This test was fixed in https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32540 .
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34792 >
2025-05-05 13:28:41 +00:00
Valentine Burley
8b835a4abb
freedreno/ci: Document regressions
...
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34792 >
2025-05-05 13:28:41 +00:00
Valentine Burley
0f5ab7af3d
anv/ci: Update expectations
...
These Vulkan Video tests were fixed in f7ff9b240d ("anv: Do not support the tiling of DRM modifier if DECODE_DST")
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34792 >
2025-05-05 13:28:40 +00:00
Valentine Burley
9ac2b73cf4
iris/ci: Update trace checksums
...
These traces have been failing for a while now.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34792 >
2025-05-05 13:28:40 +00:00
Eric Engestrom
31c2fae476
llvmpipe/ci: document regression in a02b6e6b...676e26ae
...
Reported at https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33415#note_2896031
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34811 >
2025-05-05 12:23:02 +00:00
Eric Engestrom
51c5b7e3f9
etnaviv/ci: document two fixed tests
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34811 >
2025-05-05 12:23:02 +00:00
Eric Engestrom
7b14b1d350
lavapipe/ci: document flakes (including a flaky timeout) seen recently
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34811 >
2025-05-05 12:23:02 +00:00
Eric Engestrom
5cf33e6704
zink+nvk/ci: document flakes seen recently
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34811 >
2025-05-05 12:23:02 +00:00
Eric Engestrom
5b958bd18f
zink+radv/ci: document flakes seen recently
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34811 >
2025-05-05 12:23:02 +00:00
Eric Engestrom
32fe00280a
turnip/ci: document flakes seen recently
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34811 >
2025-05-05 12:23:02 +00:00
Eric Engestrom
c145f7f2dc
radeonsi/ci: document flakes seen recently
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34811 >
2025-05-05 12:23:02 +00:00
Eric Engestrom
a601d68898
radv/ci: document flakes seen recently
...
The dEQP-VK.ray_tracing_pipeline.* ones might need a bigger net to catch
them all, but I didn't want to prematurely ignore too many tests, so for
now I'm just dumping a big list.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34811 >
2025-05-05 12:23:02 +00:00
Rhys Perry
75880655f8
nir/lower_gs_intrinsics: silence warning
...
../../../../../../../mesa/src/compiler/nir/nir_lower_gs_intrinsics.c: In function ‘nir_lower_gs_intrinsics’:
../../../../../../../mesa/src/compiler/nir/nir_lower_gs_intrinsics.c:523:93: warning: ‘state’ may be used uninitialized [-Wmaybe-uninitialized]
523 | state.decomposed_primitive_count_vars[i] = state.decomposed_primitive_count_vars[0];
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../../../../../../../mesa/src/compiler/nir/nir_lower_gs_intrinsics.c:464:17: note: ‘state’ declared here
464 | struct state state;
| ^~~~~
It's always initialized by the first iteration of the loop, but GCC
doesn't seem to know that.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34785 >
2025-05-05 11:45:42 +00:00
Rhys Perry
bc49045294
nir/opt_shrink_vectors: add assume to silence warning
...
../../../../../../../mesa/src/compiler/nir/nir_opt_shrink_vectors.c: In function ‘shrink_dest_to_read_mask’:
../../../../../../../mesa/src/compiler/nir/nir_opt_shrink_vectors.c:140:36: warning: writing 16 bytes into a region of size 15 [-Wstringop-overflow=]
140 | swizzle[first_bit + i] = i;
| ~~~~~~~~~~~~~~~~~~~~~~~^~~
../../../../../../../mesa/src/compiler/nir/nir_opt_shrink_vectors.c:138:18: note: at offset [1, 15] into destination object ‘swizzle’ of size 16
138 | uint8_t swizzle[NIR_MAX_VEC_COMPONENTS] = { 0 };
| ^~~~~~~
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34785 >
2025-05-05 11:45:42 +00:00
Rhys Perry
5629332dcf
util: silence -Wstringop-overread in SHA1
...
In function ‘SHA1Update’,
inlined from ‘SHA1Pad’ at ../../../../../../../mesa/src/util/sha1/sha1.c:157:2,
inlined from ‘SHA1Final’ at ../../../../../../../mesa/src/util/sha1/sha1.c:168:2:
../../../../../../../mesa/src/util/sha1/sha1.c:135:25: warning: ‘SHA1Transform’ reading 64 bytes from a region of size 1 [-Wstringop-overread]
135 | SHA1Transform(context->state, (uint8_t *)&data[i]);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../../../mesa/src/util/sha1/sha1.c:135:25: note: referencing argument 2 of type ‘const uint8_t[64]’ {aka ‘const unsigned char[64]’}
../../../../../../../mesa/src/util/sha1/sha1.c: In function ‘SHA1Final’:
../../../../../../../mesa/src/util/sha1/sha1.c:55:1: note: in a call to function ‘SHA1Transform’
55 | SHA1Transform(uint32_t state[5], const uint8_t buffer[SHA1_BLOCK_LENGTH])
| ^~~~~~~~~~~~~
In function ‘SHA1Update’,
inlined from ‘SHA1Pad’ at ../../../../../../../mesa/src/util/sha1/sha1.c:159:3,
inlined from ‘SHA1Final’ at ../../../../../../../mesa/src/util/sha1/sha1.c:168:2:
../../../../../../../mesa/src/util/sha1/sha1.c:135:25: warning: ‘SHA1Transform’ reading 64 bytes from a region of size 1 [-Wstringop-overread]
135 | SHA1Transform(context->state, (uint8_t *)&data[i]);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../../../mesa/src/util/sha1/sha1.c:135:25: note: referencing argument 2 of type ‘const uint8_t[64]’ {aka ‘const unsigned char[64]’}
../../../../../../../mesa/src/util/sha1/sha1.c: In function ‘SHA1Final’:
../../../../../../../mesa/src/util/sha1/sha1.c:55:1: note: in a call to function ‘SHA1Transform’
55 | SHA1Transform(uint32_t state[5], const uint8_t buffer[SHA1_BLOCK_LENGTH])
| ^~~~~~~~~~~~~
In function ‘SHA1Update’,
inlined from ‘SHA1Pad’ at ../../../../../../../mesa/src/util/sha1/sha1.c:160:2,
inlined from ‘SHA1Final’ at ../../../../../../../mesa/src/util/sha1/sha1.c:168:2:
../../../../../../../mesa/src/util/sha1/sha1.c:135:25: warning: ‘SHA1Transform’ reading 64 bytes from a region of size 8 [-Wstringop-overread]
135 | SHA1Transform(context->state, (uint8_t *)&data[i]);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../../../mesa/src/util/sha1/sha1.c:135:25: note: referencing argument 2 of type ‘const uint8_t[64]’ {aka ‘const unsigned char[64]’}
../../../../../../../mesa/src/util/sha1/sha1.c: In function ‘SHA1Final’:
../../../../../../../mesa/src/util/sha1/sha1.c:55:1: note: in a call to function ‘SHA1Transform’
55 | SHA1Transform(uint32_t state[5], const uint8_t buffer[SHA1_BLOCK_LENGTH])
| ^~~~~~~~~~~~~
Reaching this code is impossible for the SHA1Update() calls in SHA1Pad().
Use assume() to inform the compiler of this.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34785 >
2025-05-05 11:45:41 +00:00
Danylo Piliaiev
2797f42451
tu: Fix disable_fs state update condition
...
tu_calc_disable_fs depends on FS, so it should be updated on
TU_CMD_DIRTY_FS.
Fixes: be481e6615 ("tu: Disable FS in certain cases even if FS is not empty")
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34791 >
2025-05-05 11:09:31 +00:00
Danylo Piliaiev
969820e7fe
tu/lrz: Disable LRZ if RP writes depth but doesn't set on GPU dir
...
If the render pass writes depth (with direction) but doesn't set
direction on the GPU, the LRZ buffer cannot be used in subsequent
render passes because the direction information is lost.
Fixes rendering in "Elite Dangerous" game.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34577 >
2025-05-05 09:32:53 +00:00
Danylo Piliaiev
f903397874
tu/lrz: Call tu_lrz_write_disable_reason once per RP
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34577 >
2025-05-05 09:32:53 +00:00
Danylo Piliaiev
6d84dac827
tu/lrz: Fix NOLRZ dbg option
...
Didn't fully disable LRZ.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34577 >
2025-05-05 09:32:53 +00:00
Danylo Piliaiev
9d20241a03
tu/lrz: Fix DONT_CARE not resulting in disabled LRZ
...
- LOAD results in reusing LRZ from previous renderpasses.
- CLEAR clears LRZ.
- DONT_CARE doesn't clear and doesn't load, so LRZ should be
disabled, that was also the initial idea in code, but conditions
didn't work out and are now fixed.
Fixes glcts tests:
KHR-GL46.packed_depth_stencil.blit.depth24_stencil8
KHR-GL46.packed_depth_stencil.blit.depth32f_stencil8
KHR-GLES3.packed_depth_stencil.blit.depth24_stencil8
KHR-GLES3.packed_depth_stencil.blit.depth32f_stencil8
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34577 >
2025-05-05 09:32:53 +00:00
Yiwei Zhang
06f5d1a105
venus: expose WSI on renderer without dma-buf support
...
For Venus on host driver without dmabuf support, we can fallback to
allow cpu buffer blit for wsi instead of not exposing it.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13096
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34804 >
2025-05-05 08:27:48 +00:00
Michel Dänzer
f177b787b8
ci: Drop obsolete -Wno-error= stanzas
...
No corresponding warnings left. Tighten the screws to prevent new
warnings from creeping in.
v2:
* The debian-clang-release job still needs
-Wno-error=sometimes-uninitialized.
v3:
* Drop more from debian-arm64-asan & debian-testing-msan jobs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34799 >
2025-05-05 08:02:11 +00:00
Samuel Pitoiset
1356d20042
radv: disable SINGLE clear codes to workaround a hw bug with DCC on GFX11
...
This fixes a very weird cache-related corruption with DCC on GFX11 due
to a hw bug according to PAL.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12932
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34790 >
2025-05-05 07:07:58 +00:00
Samuel Pitoiset
55ad0fd35c
radv: do not clear unwritten color attachments with dual-source blending
...
This is incorrect because the color format at slot 0 needs to be
replicated to the slot 1. But with dual-source blending the colors
written mask is only 0xf and this was clearing the color format at
slot 1.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13082
Fixes: e1483d022b ("radv: clear unwritten color attachments for monolithic PS earlier")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34773 >
2025-05-05 06:46:32 +00:00
Ella Stanforth
32d9afdf73
nir/printf: add new helper to printf at a specific pixel.
...
Debugging with nir_printf_fmt can result in overwhelming information. This
allows us to filter for a pixel we care about.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34737 >
2025-05-05 06:20:18 +00:00
Ella Stanforth
43f22110e7
nir/printf: break out va_list handling
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34737 >
2025-05-05 06:20:17 +00:00
Timothy Arceri
e0a111540f
util/driconf: add force_gl_depth_component_type_int workaround
...
This allow us to force mesa to use GL_UNSIGNED_INT rather than
GL_UNSIGNED_SHORT for when chosing the texture format for
GL_DEPTH_COMPONENT. The increased depth precision allows us to
match the Nvidia/AMD closed drivers default behaviour.
Here we also enable the workaround for the remastered tombraider
games.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13032
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34752 >
2025-05-04 23:04:29 +00:00
Valentine Burley
e7ce35f3c5
ci/fluster: Fix and rename S3_PATH_FLUSTER to S3_FLUSTER_TAR
...
The S3_PATH_FLUSTER variable already included the archive filename.
Appending `vectors.tar.zst` again during upload caused the file to be
stored at the wrong location, which broke retrieval in subsequent builds.
Fix this behavior and rename the variable to S3_FLUSTER_TAR to make its
purpose clearer and avoid future confusion.
Fixes: a3fb667b1d ("ci: Include Fluster vectors in the rootfs")
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34787 >
2025-05-03 16:09:12 +02:00
Valentine Burley
4a614cfbfb
amd/ci: Remove increased timeout for radeonsi-raven-vaapi-fluster job
...
This is no longer necessary now that we are no longer downloading the
Fluster vectors at runtime.
This should have been removed in 9870512787 ("ci/lava: Use the new test-video-based rootfs for VA-API jobs").
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34787 >
2025-05-03 15:39:51 +02:00
Valentine Burley
f6f7f9e7a2
ci/fluster: Use the structured tag as the Fluster vector version
...
The strucutered tag replaces the need to have a separate
FLUSTER_VECTORS_VERSION variable just to check if the vectors changed.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34787 >
2025-05-03 15:39:51 +02:00
Valentine Burley
b01a091856
ci/fluster: Use structured tagging for Fluster
...
Structured tagging captures a checksum of the component we think we're
building, and verifies this through the chain.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34787 >
2025-05-03 15:38:59 +02:00
Valentine Burley
3ca7897ba9
ci/fluster: Move Fluster to its own subfolder in the test-video container
...
We have a spacious new container, move fluster to its own subfolder.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34787 >
2025-05-03 15:38:32 +02:00
Valentine Burley
1bc853f2a0
ci/fluster: Add sections to job logs
...
Declutter the job output by adding collapsed sections.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34787 >
2025-05-03 15:38:32 +02:00
Valentine Burley
46abb7bd2e
ci/fluster: Move the fluster-runner.sh script
...
The fluster-runner.sh was only runner srcipt in a folder, move it out of
the fluster folder.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34787 >
2025-05-03 15:38:32 +02:00
Valentine Burley
9cf5c01d0c
amd/ci: Rename .radeonsi-raven-vaapi-fluster to .radeonsi-vaapi-fluster-rules
...
It has nothing to do with Raven, it just happens that the first fluster
job was running on Raven.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34787 >
2025-05-03 15:38:32 +02:00
Valentine Burley
c90e1ba5cc
ci/test: Move and rename .lava-fluster to .test-fluster
...
It has nothing to do with LAVA, it just happens that the first fluster
job was running on LAVA.
Also drop the redundant :x86_64 definition.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34787 >
2025-05-03 15:38:32 +02:00
Marek Olšák
7f0de1a512
ac: remove gfx11_emulate_clear_state
...
We don't use CLEAR_STATE on gfx11 anymore.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34589 >
2025-05-02 18:40:11 +00:00
Marek Olšák
5e487dbc49
amd: stop using CLEAR_STATE on gfx11
...
It's not allowed with user queues, so this will make it simpler to support
user queues.
There are 2 groups of registers:
- those that are never set by radv and radeonsi - those are now set
in the shared preamble
- those that are set by radv but not radeonsi - those are now set
in the radeonsi preamble
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34589 >
2025-05-02 18:40:11 +00:00
Iván Briano
cf9b0dd589
anv, hasvk: ignore QFOT if both src and dst queue families are equal
...
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34779 >
2025-05-02 17:38:56 +00:00
Danylo Piliaiev
c1dbfa0e0f
freedreno/a6xx: Implement fast border colors in sampler
...
There are no fixed border color in GL so we have to compare colors.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34786 >
2025-05-02 16:43:31 +00:00
Danylo Piliaiev
3691694933
tu: Remove builtin border color logic
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34786 >
2025-05-02 16:43:31 +00:00
Danylo Piliaiev
a1cf7054d9
tu: Implement fast border colors in sampler
...
Vulkan has 3 fixed border colors all of which exist in HW.
Should be faster than additional level of indirection that
custom border colors introduce.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34786 >
2025-05-02 16:43:31 +00:00
Danylo Piliaiev
4690637acd
freedreno/regs: Document fast border color in sampler
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34786 >
2025-05-02 16:43:31 +00:00
Vignesh Raman
02337aec71
virgl/ci: update flakes
...
Move glx@glx-multithread-clearbuffer to flakes since
this test flakes in recent runs.
Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34781 >
2025-05-02 21:35:23 +05:30
Vignesh Raman
8949e4a7ec
ci: add libproc2-0
...
libproc2-0 is required for igt tests in drm-ci.
Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34781 >
2025-05-02 19:06:43 +05:30
Sergi Blanch Torne
27020be893
ci: angle: fix depot-tools dependency release
...
Cloning a dependency from the last commit in the main branch of a repo,
besides is not the usual practice here, is risky because it can fail without
relation with the activity in Mesa. In fact, it happens sporadically, that a
build fails from an error from depot-tools. So, start stabilizing that by
fixing the commit of depot-tools we use. Later we can face the uprev of this
dependency.
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Reviewed-by: Vignesh Raman <vignesh.raman@collabora.com >
Reviewed-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34788 >
2025-05-02 12:18:56 +00:00
Danylo Piliaiev
6427e57e33
freedreno/percntr: Expose LRZ derived counters
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34770 >
2025-05-02 11:39:54 +00:00
Philip Rebohle
4cb358f1c2
radv: Remove offset parameter from radv_make_texel_buffer_descriptor.
...
This is already only used in vkCreateBufferView, and causes a vkd3d-proton
test to fail with >4GB offsets since the parameter was 32-bit only.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34760 >
2025-05-02 09:13:14 +00:00
Paul Gofman
96765935e8
radv/amdgpu: Fix hash key in radv_amdgpu_winsys_destroy().
...
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34774 >
2025-05-02 07:51:23 +00:00
Karol Herbst
ec3011ed04
gallium: remove pipe_grid_info::input
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34623 >
2025-05-01 22:18:31 +02:00
Karol Herbst
6730b8b228
gallium: remove pipe_grid_info::pc and PIPE_SHADER_IR_NATIVE
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34623 >
2025-05-01 22:18:29 +02:00
Karol Herbst
a990ada276
gallium: remove pipe_context::set_compute_resources and PIPE_BIND_COMPUTE_RESOURCE
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34623 >
2025-05-01 22:18:27 +02:00
Karol Herbst
502b821ea3
gallium: remove pipe_compute_state::req_input_mem
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34623 >
2025-05-01 22:18:24 +02:00
Karol Herbst
97b17e7b42
gallium: remove pipe_compute_caps::max_input_size
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34623 >
2025-05-01 22:18:23 +02:00
Karol Herbst
76d82f9b2a
gallium: remove pipe_compute_caps::max_private_size
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34623 >
2025-05-01 22:18:19 +02:00
Karol Herbst
44051e6fbd
gallium: remove pipe_compute_caps::images_supported
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34623 >
2025-05-01 22:18:06 +02:00
Karol Herbst
9d73da9155
gallium: remove pipe_compute_caps::ir_target
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34623 >
2025-05-01 22:18:01 +02:00
Karol Herbst
e5775ac0e0
gallium: remove pipe_compute_caps::max_threads_per_block_clover
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34623 >
2025-05-01 22:17:38 +02:00
Karol Herbst
2deea42eba
gallium: remove pipe_compute_caps::max_block_size_clover
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34623 >
2025-05-01 22:17:16 +02:00
Karol Herbst
2443ce2db6
gallium: remove pipe_binary_program_header
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34623 >
2025-05-01 22:16:53 +02:00
Karol Herbst
c93d80ba98
nvc0: remove support for pipe_grid_info::input
...
The hw sm query code declared some input space, but wasn't actually using
it, so this is all dead code since clover got removed.
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34623 >
2025-05-01 22:16:42 +02:00
Karol Herbst
d7b3ab3bc2
nv50: move pipe_grid_info::input into the driver
...
It is left-over from clover, but nv50 used it for hw sm queries
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34623 >
2025-05-01 22:16:32 +02:00
Karol Herbst
6416c49247
radeonsi: remove more clover related code
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34623 >
2025-05-01 22:16:27 +02:00
Karol Herbst
67b9be91be
r600: remove all clover related code
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Tested-by: Patrick Lerda <patrick9876@free.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34623 >
2025-05-01 22:16:17 +02:00
Karol Herbst
f6e3c967d9
r600: fix r600_buffer_from_user_memory for rusticl
...
Not entirely sure if it's actually required, but this makes it consistence
with r600_resource_create also calling r600_compute_global_buffer_create
for global memory buffers.
Cc: mesa-stable
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Patrick Lerda <patrick9876@free.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34623 >
2025-05-01 22:16:02 +02:00
Eric Engestrom
7addf551f3
ci: drop tracking of removed folder
...
Fixes: 185a3f9105 ("gallium: delete tests")
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34623 >
2025-05-01 22:15:57 +02:00
José Roberto de Souza
3e5a735d01
intel/tools: Fix batch buffer decoder
...
intel_decoder_init() initializes intel_batch_decode_ctx so later
we can call decode functions but it depends on data stored in
brw/elk_isa_info but that was being allocated in stack
of intel_decoder_init() then when the decode functions were executed
it was accessing garbage at the brw/elk_isa_info memory.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: ec2d20a70d ("intel/tools: Add helpers for decoder_init/disasm")
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34776 >
2025-05-01 13:27:44 +00:00
Lionel Landwerlin
63f633557f
intel: fix null render target setup logic
...
Or current render target cache setting is to key on the binding table
index, meaning the HW associates a number in the range [0, 7] to a
RENDER_SURFACE_STATE description. If you want change the render target
0 between 2 draw calls, you need to insert a PIPE_CONTROL in between
the 2 draw calls with pb-stall + rt-flush in order to flush an writes
to a previous RENDER_SURFACE_STATE that has now becomed disassociated
with the [0, 7] number.
This PIPE_CONTROL taking care of the flush is dealt with in
cmd_buffer_maybe_flush_rt_writes(). This function diffs the current
BTI setup for render targets (first 0 to 7 BTIs) with what the next
fragment shader wants.
The issue here is we might have a render pass with 0 color attachments
and yet in 98cdb9349a we added one pointing to the render target 0,
but in the emit_binding_table() when we finally program the BTI, we
check the render pass color count and program a null surface state
instead of an actual surface state. And this leads to hangs because
the render target cache will end up with inconsistent state data.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 98cdb9349a ("anv: ensure null-rt bit in compiler isn't used when there is ds attachment")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12955
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34603 >
2025-05-01 11:25:18 +00:00
Rhys Perry
1d7a988ec2
vtn: use nir_const_value_for_raw_uint for bfloat SpecConstantOp/FConvert
...
I'm not sure how this was supposed to ensure padding was zero, and it
doesn't seem to work for me (GCC 15.0.1).
Fixes a NIR validation failure with dEQP-VK.glsl.bfloat16.constant.compute
and RADV.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Fixes: 90e1b12890 ("spirv: Add bfloat16 support to SpecConstantOp")
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34769 >
2025-05-01 10:52:30 +00:00
Rhys Perry
752f5f317e
aco: replace max_const_offset_plus_one with max_const_offset
...
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/34766 >
2025-05-01 09:19:02 +00:00
Rhys Perry
a85ebe16b3
aco: fix max_const_offset_plus_one overflow
...
smem_offset_max is UINT32_MAX on GFX7 and setting
max_const_offset_plus_one to 0 causes divisions by zero later.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Fixes: c26851b80b ("aco: increase max_const_offset_plus_one for SMEM load_global")
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Tested-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34766 >
2025-05-01 09:19:02 +00:00
José Roberto de Souza
615d0c9669
anv: Remove ANV_BO_ALLOC_HOST_CACHED from ANV_BO_ALLOC_MAPPED assert() on anv_device_alloc_bo()
...
ANV_BO_ALLOC_MAPPED are internal allocated bos that need mmap() but as
internally we don't do any cflush() we need to make sure those are also
ANV_BO_ALLOC_HOST_COHERENT.
Checking for ANV_BO_ALLOC_HOST_CACHED could lead a cached+uncoherent
bo being allocated internally with ANV_BO_ALLOC_MAPPED.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34778 >
2025-05-01 02:44:03 +00:00
José Roberto de Souza
57bf646685
anv: Fix assert failure in discrete GPUs when allocating a LMEM+SMEM slab parent
...
It was failing in the first assert of anv_device_alloc_bo() because
it has ANV_BO_ALLOC_MAPPED but it don't have ANV_BO_ALLOC_HOST_COHERENT or
ANV_BO_ALLOC_HOST_CACHED(this second one is wrong and fixed in the next
patch).
LMEM is always write-combine, even SMEM on discrete GPU is always
write-back + coherent because the PCI bus protocol snooping at CPU
caches and that behavior can't be disabled.
So we can add this coherent flag without any side effects.
The ANV_BO_ALLOC_MAPPED is needed for ANV_BO_SLAB_HEAP_LMEM_SMEM
because to trigger SMEM+LMEM in anv_device_alloc_bo() we need
ANV_BO_ALLOC_MAPPED or ANV_BO_ALLOC_LOCAL_MEM_CPU_VISIBLE but the
second one is mostly used with small PCI bar discrete GPUs.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: dabb012423 ("anv: Implement anv_slab_bo and enable memory pool")
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34778 >
2025-05-01 02:44:03 +00:00
Mike Blumenkrantz
8a339cdebc
egl: fix sw fallback rejection in non-sw EGL_PLATFORM=device
...
previously progress could still be made during sw fallback here,
which would lead to unpredictable results with driver loading e.g., crashing
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34609 >
2025-04-30 19:09:44 +00:00
Mike Blumenkrantz
4d8146befb
egl: rename dri2_load_driver -> dri2_detect_swrast
...
this simplifies some error cases and makes the call more intelligible
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34609 >
2025-04-30 19:09:44 +00:00
Connor Abbott
453ecaddb5
freedreno: Remove compute_constlen_quirk
...
Turns out that X1-85 is just more sensitive to the split being set
correctly. There seem to be no more hangs with the
compute_constlen_quirk disabled after the earlier commits.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34746 >
2025-04-30 18:44:34 +00:00
Connor Abbott
ea9d694a7b
ir3: Take LB restriction on constlen into account on a7xx
...
On a7xx, the max constlen for compute is increased to 512 vec4s or 8KB,
however the size of the LB was not increased beyond 40KB. A quick
calculation shows that 8KB of consts multiplied by 2 banks plus the
API maximum of 32KB shared memory would exceed 40KB. This means that
we can't always use a constlen of 512, and sometimes have to fall back
to 256 when a lot of shared memory is in use.
In the future, we can use similar calculations to figure out how much
"extra" shared memory is available for the backend to spill to, but we
currently don't support spilling to shared memory.
Fixes: 5879eaac18 ("ir3: Increase compute const size on a7xx")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34746 >
2025-04-30 18:44:34 +00:00
Connor Abbott
80bcbc0e92
freedreno/a6xx, turnip: Set CONSTANTRAMMODE correctly
...
This should fix hangs when using more than 256 constants on a7xx.
Fixes: 5879eaac18 ("ir3: Increase compute const size on a7xx")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34746 >
2025-04-30 18:44:34 +00:00
Connor Abbott
57986ae5ec
freedreno/a6xx: Define CONSTANTRAMMODE
...
While we're here, give SP_CS_UNKNOWN_A9B1 a better name.
Fixes: 5879eaac18 ("ir3: Increase compute const size on a7xx")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34746 >
2025-04-30 18:44:34 +00:00
Connor Abbott
156ab5839d
freedreno: Add compute_lb_size device info
...
This is really a guess except for a6xx and later, however it shouldn't
change behavior from before.
Fixes: 5879eaac18 ("ir3: Increase compute const size on a7xx")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34746 >
2025-04-30 18:44:34 +00:00
Eric Engestrom
6445fd47d8
docs: add sha sum for 25.0.5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34772 >
2025-04-30 18:03:00 +00:00
Eric Engestrom
36a98e226c
docs: add release notes for 25.0.5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34772 >
2025-04-30 18:03:00 +00:00
Eric Engestrom
4e9c89e787
docs: update calendar for 25.0.5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34772 >
2025-04-30 18:03:00 +00:00
Christian Gmeiner
f17d350001
lima: Move fdot lowering from NIR to lima
...
This change relocates the fdot lowering from the generic NIR to the lima,
since lima is the only consumer of this particular lowering. This avoids
potential conflicts with the similar fdot lowering already present in
nir_lower_alu_width.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Erico Nunes <nunes.erico@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34757 >
2025-04-30 17:33:38 +00:00
Eric Engestrom
0f747d0990
docs: update calendar for 25.1.0-rc3
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34771 >
2025-04-30 17:27:18 +00:00
Karol Herbst
9a97a5d577
nak: fix handling of delays > 15
...
Fixes: 2b569ecdb6 ("nak: Handle delays > 15")
Acked-by: Mel Henning <mhenning@darkrefraction.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34722 >
2025-04-30 17:12:11 +00:00
Juan A. Suarez Romero
c8b57594e0
ci/baremetal: fix ubsan gl target
...
It should use be based on GL, not VK target.
Fixes: e16d422da5 ("ci/baremetal: Split baremetal_arm64_test to -gl and -vk")
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34764 >
2025-04-30 16:34:23 +00:00
Karmjit Mahil
9d01b318a3
anv,tu: Bypass RMV pcie_family_id check
...
Since RMV 1.9 pcie_family_id is checked to verify whether a
capture is supported.
Signed-off-by: Karmjit Mahil <karmjit.mahil@igalia.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34763 >
2025-04-30 16:12:11 +00:00
Juan A. Suarez Romero
2781df4d10
Revert "ci: disable Igalia's farm"
...
This reverts commit 1eb3a40615 .
Everything is up again.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34765 >
2025-04-30 15:46:35 +00:00
Mike Blumenkrantz
9082715ab0
vk/cmd_queue: generate copies for string struct members
...
this includes e.g., debug labels, which previously was garbage data
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34534 >
2025-04-30 15:01:35 +00:00
Mike Blumenkrantz
26cdd7ebd6
vk/cmd_queue: generate copies for struct-ptr members
...
this includes e.g., VkCommandBufferBeginInfo::pInheritanceInfo,
which previously was garbage data
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34534 >
2025-04-30 15:01:35 +00:00
Mike Blumenkrantz
a7edaaacce
vk/cmd_queue: stop generating weird casts for free functions
...
these are unnecessary and error-prone
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34534 >
2025-04-30 15:01:35 +00:00
Mike Blumenkrantz
c3b6122cdf
vk/cmd_queue: try to fix some indentation
...
still not perfect, but at least somewhat readable now
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34534 >
2025-04-30 15:01:35 +00:00
Janne Grunau
f6c5f0c19d
ci: Switch cross-builds to '-D tools=panfrost'
...
It is not longer necessary to build the panfrost gallium driver for
panfrost_compile so do not do that.
Backport-to: 25.1
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Signed-off-by: Janne Grunau <j@jannau.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34693 >
2025-04-30 14:23:53 +00:00
Janne Grunau
674c96ad0a
panfrost: build panfrost_compile for -Dtools=panfrost
...
This allows building tools for cross-compiling without building gallium
or vulkan drivers unnecessarily.
Backport-to: 25.1
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Signed-off-by: Janne Grunau <j@jannau.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34693 >
2025-04-30 14:23:53 +00:00
Janne Grunau
a228d715b6
asahi: Drop unnecessary idep_mesaclc dependency
...
Fixes build with `-Dmesa-clc=system`.
Backport-to: 25.1
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Signed-off-by: Janne Grunau <j@jannau.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34693 >
2025-04-30 14:23:53 +00:00
Janne Grunau
007d7418f8
asahi: build asahi_clc for -Dtools=asahi
...
This allows building tools for cross-compiling without building gallium
or vulkan drivers unnecessarily.
Backport-to: 25.1
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Signed-off-by: Janne Grunau <j@jannau.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34693 >
2025-04-30 14:23:53 +00:00
Christian Gmeiner
7c4cce5bfd
etnaviv: compiler: Enable more pack/unpack lowerings
...
Passes 16/20 dEQP-GLES3.functional.shaders.builtin_functions.pack_unpack.*
tests on GC7000.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34692 >
2025-04-30 14:06:08 +00:00
Christian Gmeiner
2193ae0253
etnaviv: compiler: Call nir_lower_alu_width(..)
...
Lowers nir_op_pack/nir_op_unpack ALU Instructions.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34692 >
2025-04-30 14:06:08 +00:00
Christian Gmeiner
68a89bb085
etnaviv: compiler: Handle f2f16 and f2f32
...
They are needed by some pack/unpack lowerings.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34692 >
2025-04-30 14:06:08 +00:00
Lionel Landwerlin
f7bc22e0d7
anv: force fragment shader execution when occlusion queries are active
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34732 >
2025-04-30 13:37:14 +00:00
José Roberto de Souza
5a2ee9b534
iris: Remove iris_slab_free cast
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33558 >
2025-04-30 12:56:40 +00:00
Felix DeGrood
4f0aa96d26
anv: Do conservative oversubscription of pages to 2MB
...
Round up allocations to nearest 2MB interval if this increases
the allocation by no more than 1.33x. This reduces page count but
at the cost of extra memory consumption. Optimization only applied
to MTL(Xe KMD only)/LNL platforms, which are particularly impacted by
page misses.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: Felix DeGrood <felix.j.degrood@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33558 >
2025-04-30 12:56:40 +00:00
José Roberto de Souza
2c05488be1
anv: Align size of bos larger than 1MB to 64k to enable 64k pages
...
BOs larger than 1MB don't go memory pool due the size but applications
tend to use a lot of VkMemory with size larger than 1MB so to reduce
the number of pages and improve performance here I'm aligning the size
of BOs larger than 1MB to 64kb, this allows 64kb pages to be used at
least on Xe KMD.
This bring substantial perfomance benefit in exchange of a small
memory waste.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33558 >
2025-04-30 12:56:40 +00:00
José Roberto de Souza
dde91cf9cb
anv: Always grow fixed address pools by 2MB in platforms that there is a performance gain
...
MTL and newer integrated platforms has a performance gain when using
transparent huge pages, because of the fixed address requirement
we can't use slab for this case but we can change the initial pool
size to 2MB so all allocations get the transparent huge page
optimization.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33558 >
2025-04-30 12:56:40 +00:00
José Roberto de Souza
7361b3287f
anv: Remove useless if block
...
I can't think in any case where that would be false, so lets drop it.
While at it, also making some variables const.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33558 >
2025-04-30 12:56:40 +00:00
José Roberto de Souza
6f7a32ec92
anv: Add support for batch buffers in anv_slab_bo in i915
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33558 >
2025-04-30 12:56:40 +00:00
José Roberto de Souza
39bb51ab27
anv: Add support for batch buffers in anv_slab_bo in Xe KMD
...
Because of the ANV_BO_ALLOC_CAPTURE flag, batch buffers were not
allowed to use memory pool.
So to workaround that here adding a new anv_bo_slab_heap heap for
cached+coherent+capture buffers with the main goal to get batch
buffer to memory pool but other buffers will as well.
For now that will only work in Xe KMD as i915 requires more changes
to support it.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33558 >
2025-04-30 12:56:40 +00:00
José Roberto de Souza
a0a600ca5f
anv: Skip anv_bo_pool if memory pool is enabled
...
The whole purpose of anv_bo_pool is to reduce the number of
gem_create/destroy calls in command buffers that is something with
a short life span.
But slab_bo/memory pool does the same with even other benefits like
doing 2MB allocations to enable THP.
So here skipping the meat of anv_bo_pool_free() to directly return
the bo to slab_bo. This change is also necessary because the way
anv_bo_pool stores freed buffers it requires that all bos has a unique
gem handle, what not true of buffer allocated by anv_slab.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Suggested-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33558 >
2025-04-30 12:56:40 +00:00
José Roberto de Souza
0b561f691b
anv: Add support for ANV_BO_ALLOC_DYNAMIC_VISIBLE_POOL in anv_slab_bo
...
This flag was not supported in anv_slab_bo because it is set together
with ANV_BO_ALLOC_CAPTURE and more important it has a specific VMA
range.
We can support it by adding a custom heap and allocating all bos in
the heap with all necessary flags, but because application can also
allocate those with vkAllocateMemory() here the ANV_BO_ALLOC_CAPTURE
is appended to the vkAllocateMemory() path for integrated gpu and
anv_slab_bo check if all the alloc_flags matches, because application
could choose to allocate it in a cached but not coherent memory type
for example.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33558 >
2025-04-30 12:56:40 +00:00
José Roberto de Souza
8fd4423d99
anv: Add support for ANV_BO_ALLOC_DESCRIPTOR_POOL in anv_slab_bo
...
This flag was not supported in anv_slab_bo because it is set together
with ANV_BO_ALLOC_CAPTURE and more important it has a specific VMA
range.
But we can easily support it by adding a custom heap with it and
allocating all bos in the heap with all necessary flags.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33558 >
2025-04-30 12:56:39 +00:00
José Roberto de Souza
ea18572ff2
anv: Add support for ANV_BO_ALLOC_AUX_CCS in anv_slab_bo
...
This changes allow us to support memory pool of bos with
ANV_BO_ALLOC_AUX_CCS set.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33558 >
2025-04-30 12:56:39 +00:00
José Roberto de Souza
dabb012423
anv: Implement anv_slab_bo and enable memory pool
...
This is implementing the functions in anv_slab_bo and actually
enabling memory pool.
This is heavily based on Iris memory pool implementation, the main
difference is that the concept of heaps only exist in anv_slab_bo, we
have function that takes the anv_bo_alloc_flags and decides what heap
to place that bo.
Some anv_bo_alloc_flags blocks memory pool, we can relax and remove
some flags from this denied list later.
This feature can be disabled in runtime by setting
ANV_DISABLE_SLAB=true, this can help us to easily check if bugs
are due to this feature or not.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33558 >
2025-04-30 12:56:39 +00:00
José Roberto de Souza
3bf6d42fda
anv: Add the base infrastructure to support memory pool
...
Allocating larger buffers allows KMD/HW to enable optimizations
that makes access to memory faster, also because of minimum alignment
required in some cases we allocate 4k or 64k long buffers for
usages that only needs a few bytes, wasting a lot of memory.
Memory pool takes care of both of those things and here I'm
adding the base infrastruture to implement this feature.
The next patch will implement the functions in anv_slab_bo.c, spliting
it in two to make review easier.
The idea here is take the same approach as Iris and use pb_slab.h.
In 99% of the places it will be transparent that anv_bo is actually
a slab of a larger and real anv_bo, the remaning 1% of the places are
handled here.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33558 >
2025-04-30 12:56:39 +00:00
José Roberto de Souza
5d8ec0ce5c
anv: Move VMA alignment requirements to its own function
...
That will make easy to implement memory pool in the next patches as we
need to calculate the VMA aligment without the KMD alignment requirement
for memory pool.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33558 >
2025-04-30 12:56:39 +00:00
José Roberto de Souza
4e7ba17413
anv: Export anv_bo_is_small_heap()
...
This function will be needs in two places in the next patches.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33558 >
2025-04-30 12:56:39 +00:00
José Roberto de Souza
ce4d48107c
util: Move pb_slab from gallium to util
...
That will be used outside of gallium drivers in the next commit, so
moving it out to util folder.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33558 >
2025-04-30 12:56:39 +00:00
José Roberto de Souza
0642708fe8
gallium: Remove pb_buffer.h include from pb_slab.h
...
pb_slab.h don't make use of anything defined in pb_buffer.h.
But removing it breaks Iris build because pb_buffer.h then includes
util/format/u_formats.h that Iris was using but not including.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33558 >
2025-04-30 12:56:39 +00:00
José Roberto de Souza
e0a9ec34e7
intel: Add has_partial_mmap_offset to intel_device_info
...
Commit 3fc79582a1db ("drm/i915: Increase I915_PARAM_MMAP_GTT_VERSION version to indicate support for partial mmaps")
increased the I915_PARAM_MMAP_GTT_VERSION version, with that we can
detect what kernel version has the partial mmap fix or not and limit
the usage of this workaround.
This time o mmap will be used in memory pool, so here adding this
propertly to enable or not the feature.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33558 >
2025-04-30 12:56:39 +00:00
Lionel Landwerlin
374ef9228b
anv: add ability to mmap at offset
...
Jose: Added support for placed address
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33558 >
2025-04-30 12:56:39 +00:00
Lionel Landwerlin
1d46a663ae
anv: update Wa_22019225126 check
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34754 >
2025-04-30 11:55:24 +00:00
Tapani Pälli
eeffb4e674
intel/dev: update mesa_defs.json from internal database
...
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34753 >
2025-04-30 11:19:07 +00:00
Danylo Piliaiev
97dc196d42
tu: Add total renderpasses,dispatches to cmdbuf tracepoint
...
Makes much easier to identify command buffers when tracing
only them, e.g. to see overall performance.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34588 >
2025-04-30 09:28:50 +00:00
Danylo Piliaiev
99b23235a6
tu: Don't enable secondary command buffer tracepoint by default
...
Secondary command buffers don't add much information to the traces, but
add more noise and overhead. In order to disable their tracepoints by
default, a separate "secondary_cmd_buffer" tracepoint is created.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34588 >
2025-04-30 09:28:50 +00:00
Karmjit Mahil
9dfd4a091c
tu: Fix segfault in fail_submit KGSL path
...
Fixes: ec268fa5b6 ("tu/kgsl: Support u_trace and perfetto")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34749 >
2025-04-30 09:06:47 +00:00
Iago Toral Quiroga
103a16e4fa
frontend/dri: don't call set_damage_region with a null resource
...
This can happen if texture allocation failed.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34668 >
2025-04-30 07:05:44 +00:00
Iván Briano
29d7b90cfc
brw: make HALT instruction act as barrier in new CSE pass
...
This brings back c9e33e5cbf ("intel/fs/cse: Make HALT instruction act
as CSE barrier."), from the old CSE pass into the new one.
Fixes new CTS test: dEQP-VK.subgroups.shader_quad_control.terminated_invocation
Fixes: 9690bd369d ("intel/brw: Delete old local common subexpression elimination pass")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34643 >
2025-04-29 20:28:24 +00:00
Mel Henning
b9275b54a1
nak/sm70_encode: Remove unused has_mod parameter
...
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34750 >
2025-04-29 18:23:43 +00:00
Mel Henning
28d077838f
nak/sm70_encode: Encode fneg/fabs for hfma2 src 2
...
and also stop legalizing away src 1 modifiers. Both of these are present,
they just move to a different place in the encoding.
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34750 >
2025-04-29 18:23:43 +00:00
Mel Henning
1ff7135691
nak: Remove hfma2 src 1 modifiers
...
This fixes a compilation issue in Marvel Rivals where the legalization
logic and the encoding logic don't line up, which results in an
assertion failure on this instruction:
r17 = hfma2 r17.xx -r18.xx 0x3c003c00
The fix here is a little overly restrictive because it turns out we
actually do have modifiers for all 3 sources. Those modifiers will
be added in later commits.
Fixes: 567cae69c3 ("nak: Add 16-bits float operations")
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34750 >
2025-04-29 18:23:43 +00:00
Valentine Burley
d48b3a232c
docs: Remove the docs for setting up bare-metal devices
...
Bare-metal support is being removed from Mesa, and adding new devices is
no longer supported.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34725 >
2025-04-29 18:16:04 +00:00
Valentine Burley
a587a0a389
docs: Move the docs about caching downloads to LAVA from bare-metal
...
The bare-metal page is getting removed, and LAVA was missing this
section.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34725 >
2025-04-29 18:16:04 +00:00
Rhys Perry
6338ed44c5
aco/gfx12: increase maximum vbuffer offset
...
fossil-db (gfx1201):
Totals from 301 (0.38% of 79377) affected shaders:
Instrs: 2734478 -> 2728816 (-0.21%); split: -0.21%, +0.00%
CodeSize: 14347476 -> 14306568 (-0.29%)
Latency: 15508055 -> 15502202 (-0.04%); split: -0.04%, +0.00%
InvThroughput: 2846419 -> 2842387 (-0.14%); split: -0.14%, +0.00%
VClause: 68286 -> 68101 (-0.27%); split: -0.30%, +0.03%
SClause: 49487 -> 49500 (+0.03%)
Copies: 207179 -> 206093 (-0.52%); split: -0.57%, +0.04%
Branches: 72941 -> 72942 (+0.00%); split: -0.00%, +0.00%
VALU: 1549156 -> 1544727 (-0.29%); split: -0.29%, +0.00%
SALU: 339620 -> 338989 (-0.19%); split: -0.19%, +0.00%
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/34730 >
2025-04-29 17:44:41 +00:00
Rhys Perry
d987d5e341
aco/gfx12: increase maximum global/scratch offset
...
fossil-db (gfx1201):
Totals from 29 (0.04% of 79377) affected shaders:
Instrs: 1439082 -> 1439070 (-0.00%)
CodeSize: 7641688 -> 7641608 (-0.00%)
Latency: 9836296 -> 9836280 (-0.00%)
VALU: 799504 -> 799496 (-0.00%)
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/34730 >
2025-04-29 17:44:41 +00:00
Rhys Perry
02d193f058
aco/gfx12: increase maximum smem offset
...
fossil-db (gfx1201):
Totals from 55 (0.07% of 79377) affected shaders:
Instrs: 3203775 -> 3200809 (-0.09%)
CodeSize: 16817140 -> 16813440 (-0.02%); split: -0.04%, +0.02%
Latency: 17838315 -> 17829658 (-0.05%)
InvThroughput: 3352905 -> 3351689 (-0.04%)
SClause: 57377 -> 57273 (-0.18%)
Copies: 231006 -> 230941 (-0.03%)
SALU: 436900 -> 435234 (-0.38%)
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/34730 >
2025-04-29 17:44:41 +00:00
Rhys Perry
c26851b80b
aco: increase max_const_offset_plus_one for SMEM load_global
...
fossil-db (gfx1201):
Totals from 1115 (1.40% of 79377) affected shaders:
Instrs: 1473805 -> 1467571 (-0.42%); split: -0.43%, +0.01%
CodeSize: 7852972 -> 7819656 (-0.42%); split: -0.44%, +0.02%
SpillSGPRs: 1632 -> 1460 (-10.54%); split: -11.27%, +0.74%
Latency: 11975762 -> 11971915 (-0.03%); split: -0.05%, +0.02%
InvThroughput: 2496961 -> 2496448 (-0.02%); split: -0.03%, +0.01%
VClause: 25213 -> 25218 (+0.02%); split: -0.00%, +0.02%
SClause: 28822 -> 28565 (-0.89%); split: -1.41%, +0.52%
Copies: 106377 -> 105715 (-0.62%); split: -1.23%, +0.61%
Branches: 27497 -> 27473 (-0.09%)
PreSGPRs: 52071 -> 51310 (-1.46%)
VALU: 871051 -> 870694 (-0.04%); split: -0.04%, +0.00%
SALU: 186090 -> 181811 (-2.30%); split: -2.32%, +0.02%
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/34730 >
2025-04-29 17:44:41 +00:00
Rhys Perry
f390893a64
aco/gfx12: use s_sub_u64
...
fossil-db (gfx1201):
Totals from 2 (0.00% of 79377) affected shaders:
Instrs: 243999 -> 243993 (-0.00%)
CodeSize: 1288176 -> 1288152 (-0.00%)
Latency: 1894093 -> 1894091 (-0.00%)
InvThroughput: 378819 -> 378818 (-0.00%)
SALU: 33048 -> 33044 (-0.01%)
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/34730 >
2025-04-29 17:44:41 +00:00
Rhys Perry
5b4813c4f0
aco/gfx12: use s_add_u64
...
fossil-db (gfx1201):
Totals from 122 (0.15% of 79377) affected shaders:
Instrs: 3640138 -> 3637577 (-0.07%); split: -0.07%, +0.00%
CodeSize: 19133796 -> 19120080 (-0.07%); split: -0.08%, +0.01%
SpillSGPRs: 666 -> 650 (-2.40%)
SpillVGPRs: 2147 -> 2159 (+0.56%)
Scratch: 254208 -> 255232 (+0.40%)
Latency: 21529337 -> 21522317 (-0.03%); split: -0.04%, +0.00%
InvThroughput: 4048519 -> 4047233 (-0.03%); split: -0.03%, +0.00%
VClause: 90453 -> 90455 (+0.00%)
SClause: 67846 -> 67674 (-0.25%); split: -0.28%, +0.03%
Copies: 287449 -> 287476 (+0.01%); split: -0.04%, +0.05%
Branches: 104526 -> 104530 (+0.00%); split: -0.00%, +0.01%
PreSGPRs: 9795 -> 9723 (-0.74%); split: -0.78%, +0.04%
VALU: 2004219 -> 2003031 (-0.06%); split: -0.06%, +0.00%
SALU: 492651 -> 491737 (-0.19%); split: -0.19%, +0.00%
VMEM: 161317 -> 161341 (+0.01%)
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/34730 >
2025-04-29 17:44:41 +00:00
Sagar Ghuge
821c1bfa7e
intel/compiler: Fix stackIDs on Xe2+
...
For Xe2+, from Bspec 64643, bit field "StackID": The maximum number of
StackIDs can be 2^12- 1.
Cc: mesa-stable
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34709 >
2025-04-29 17:03:35 +00:00
Rohan Garg
b9fe5aad37
anv: enable VK_KHR_shader_bfloat16
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
07fa3b3785
intel: Add support for BFloat16 as cooperative matrix source
...
Re-organize the configuration lists to make easier to include BFloat16
only for the Gfx125+ that support it, while keeping MTL supporting the
"lowered" configurations from pre-Gfx125.
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Rohan Garg
2bbe042e87
spirv: Enable bfloat16 capabilities
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
e0b195cadb
spirv: Use bfdot for SpvOpDot with BFloat16
...
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
2807097690
spirv: Implement Conversions to/from bfloat16
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
90e1b12890
spirv: Add bfloat16 support to SpecConstantOp
...
Handle bfloat16 by converting sources to float, performing the
operation, and converting result back to bfloat16 if needed. This is
done because not all ALU ops have a `bf` version in NIR.
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Rohan Garg
dc8074683d
spirv: construct a bfloat16 from the given SPIR-V bitsize and encoding
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
fb6ae2eac1
spirv: Refactor to use glsl_type to pick ALU ops
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
bba607ac2b
spirv: Move Convert opcodes handling to its own function
...
Take the opportunity to add a comment about why the bit_size
comes from the NIR def and not the original type.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
d4381c0908
brw/cmat: Implement conversion from/to BFloat16
...
When converting BFloat16 from/to non-Float32 type, use
the Float32 conversion as an intermediate step. Take the
opportunity to separate the unary_op/convert code-paths.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
de88184ab6
brw/cmat: Support different src/dst packing factors in emit_packed_alu1
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
7fa7be970d
brw/cmat: Extract emit_packed_alu1() function
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
4b4500ad35
brw/cmat: Store more information about cmat slices
...
Store the cmat_description and packing_factor so that various
functions don't need to extract and recalculate them.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
a7ff177a88
brw: Consider bfloat16 in lower simd width pass
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
2c31516b3e
brw: Consider bfloat16 in lower regioning pass
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
5936768ce0
brw: Consider bfloat16 in copy propagation
...
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
129c074811
brw: Implement support for BFloat16 ALU opcodes
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
a38960e8f3
brw, nir: Use glsl_base_type instead of nir_alu_type for @dpas_intel
...
This will allow including types that don't have a nir_alu_type
equivalent, like bfloat16.
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:37 +00:00
Caio Oliveira
cf4021f93c
nir: Add opcodes for BFloat16
...
SPV_KHR_bfloat16 requires a small set of operations,
since it doesn't support all the arithmetic ops.
This patch adds conversions to/from Float32 and also
the necessary ops (bfdot, bffma, bfmul) to implement
SpvOpDot using the same lowering approach than the
Float32 counterpart.
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:36 +00:00
Rohan Garg
9e5d7eb88d
compiler/types: add a bfloat16 type
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:36 +00:00
Caio Oliveira
ecd2d2cf46
util: Add functions to convert float to/from bfloat16
...
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:36 +00:00
Caio Oliveira
3e0418ba02
intel/executor: Fix bfloat example for converting F to packed BF
...
In float pointing rules adding +0.0f preserves all values except
for -0.0f, so what we want here is to add -0.0f. In the future
we should add proper support for float immediates in the assembler.
Fixes: fafdd24285 ("intel/executor: Update bfloat example")
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105 >
2025-04-29 16:29:36 +00:00
Mary Guillemard
6ab4ae1a19
pan/bi: Properly lower add/sub with saturation on v11+
...
We were wrongly lowering all add/sub operations with saturation on 8-bit
values on v11+.
This fixes CTS failures on
"dEQP-VK.spirv_assembly.instruction.compute.opudotaccsatkhr.*" and
likely more apps.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Fixes: d79a31bf81 ("pan/bi: Lower removed instructions in algebraic on v11+")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34743 >
2025-04-29 16:07:19 +00:00
Rhys Perry
20279c28c8
aco/tests: add pseudo-scalar transcendental and fallback path RA tests
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34343 >
2025-04-29 15:15:11 +00:00
Rhys Perry
96e49b7904
aco/ra: add ra_test_policy::use_compact_relocate
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34343 >
2025-04-29 15:15:10 +00:00
Rhys Perry
3c1dbc1d9b
aco/ra: cleanup compact_relocate_vars fallback path
...
We don't need to duplicate these loops.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34343 >
2025-04-29 15:15:10 +00:00
Rhys Perry
a780345e01
aco: fix compact_relocate_vars fallback with scc/exec/m0 precolored regs
...
This probably doesn't fix anything in practice. I don't think this path is
ever taken for SGPRs except for pseudo-scalar transcendental instructions,
and those don't have any precolored operands/definitions.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34343 >
2025-04-29 15:15:10 +00:00
Rhys Perry
f6581b41c4
aco/ra: don't require alignment for NPOT SGPR temporaries
...
Aligning these can create situations where register allocation is
impossible. Only pseudo-instructions can use these, and they don't require
any alignment.
I'm not sure if these temporaries actually happen in practice. This
probably only affects the get_reg()'s compact_relocate_vars fallback path,
which doesn't usually happen for SGPRs.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34343 >
2025-04-29 15:15:10 +00:00
Rhys Perry
623230a6ef
aco/ra: change sorting in compact_relocate_vars
...
D16 MIMG or pseudo-scalar transcendental instructions might give lower
limits to the maximum register available for their definitions, so just
try to place them earlier.
This is also part of fixing compact_relocate_vars with aligned NPOT
def/killed-op space (the second part is the later commit which changes
get_stride()).
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34343 >
2025-04-29 15:15:10 +00:00
Rob Clark
3f9b8edb1c
ci: Re enable fd-farm
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34748 >
2025-04-29 14:41:35 +00:00
Erik Faye-Lund
87e143b053
docs/features: mark off missing panvk extensions
...
Seems we forgot to check these two off.
Fixes: 5ed79c2d2b ("panvk: Advertise support for VK_KHR_shader_terminate_invocation")
Fixes: d4998f7ff3 ("panvk: Advertise VK_EXT_shader_demote_to_helper_invocation support")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34747 >
2025-04-29 14:35:20 +00:00
Mary Guillemard
f23f8c2826
panvk: Advertise VK_EXT_depth_bias_control
...
This gives more details on the hardware depth bias implementation details.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34745 >
2025-04-29 14:08:37 +00:00
Mary Guillemard
970bdecb50
panvk: Advertise VK_EXT_shader_replicated_composites
...
This is handled by common code.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34745 >
2025-04-29 14:08:36 +00:00
Boris Brezillon
d4998f7ff3
panvk: Advertise VK_EXT_shader_demote_to_helper_invocation support
...
The necessary bits have been added to the bifrost/valhall backend,
so we can advertise support for VK_EXT_shader_demote_to_helper_invocation
now.
Signed-off-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/34676 >
2025-04-29 13:31:47 +00:00
Boris Brezillon
83cbac00d3
pan/{bi,va}: Lower terminate to demote
...
Bifrost/Valhall implementation is actually close to the demote behavior,
where discarded threads will continue execution until explicitly
terminated.
Given we'll need to support the demote behavior for Vulkan, let's use
nir_lower_terminate_to_demote(), which solves the problem, and allows
for extra dead-code elimination when a termination point is guaranteed
to be taken by all threads.
Signed-off-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/34676 >
2025-04-29 13:31:47 +00:00
Boris Brezillon
cd4400e27b
pan/bi: Lower is_helper_invocation
...
Needed for VK_EXT_shader_demote_to_helper_invocation.
Signed-off-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/34676 >
2025-04-29 13:31:47 +00:00
Boris Brezillon
59c307a3f3
pan/bi: Fix and improve the !abs && !coarse case in bi_emit_derivative()
...
The lane source passed to CLPER must be wrap-invariant, and we currently
violate this constraint in the !abs && !coarse case. So let's rework
the code to use a XOR modifier on the current lane instead, and adjust
the sign of the (righ - left) operation afterwards.
Signed-off-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/34676 >
2025-04-29 13:31:47 +00:00
Boris Brezillon
5ed79c2d2b
panvk: Advertise support for VK_KHR_shader_terminate_invocation
...
This is already supported, we just need to toggle the switch.
Signed-off-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/34676 >
2025-04-29 13:31:47 +00:00
Alyssa Rosenzweig
5a55133ce7
hk: advertise VK_KHR_shader_quad_control
...
we already support this.
Closes : #13067
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34738 >
2025-04-29 13:14:07 +00:00
Eric Engestrom
ef1792bea8
amd/ci: document regression in e612e840...e210b79c
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34740 >
2025-04-29 11:09:35 +02:00
Eric Engestrom
80b1aea705
amd/ci: disable retry on nightly radeonsi-vangogh-glcts-full job
...
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/75399939 should not have
been retried.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34740 >
2025-04-29 09:01:47 +00:00
Ricardo Garcia
bc44d029df
radv: Ignore image barrier queue families if equal
...
The src and dst queue family indices in an image memory barrier may
contain arbitrary values that can be ignored unless both are different.
This fixes a crash in upcoming CTS tests.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34691 >
2025-04-29 08:15:28 +00:00
Samuel Pitoiset
1fccc09abe
radv: fix re-emitting VRS state when rendering begins
...
This state also depends on whether a VRS attachment is used.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11693
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34735 >
2025-04-29 07:00:09 +00:00
Eric Engestrom
4227982326
ci: rename misleading *-postmerge stages to *-nightly
...
These stages are for the jobs that are skipped in merge pipelines,
automatically run in nightly pipelines, and are available to run
manually in other pipelines.
None of these ever run in post-merge pipelines.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34590 >
2025-04-29 05:49:00 +00:00
Valentine Burley
26bc35c8f9
ci: Delete the kernel+rootfs jobs
...
LAVA and baremetal now use the test-* containers as the base for their
rootfs.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
13db56320b
ci/baremetal: Use container rootfs
...
Switch baremetal to use the new artifacts from the test-gl and test-vk
containers.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
e16d422da5
ci/baremetal: Split baremetal_arm64_test to -gl and -vk
...
While all the arm32 jobs are testing GL, there are both GL and VK arm64
jobs. This is required to be able to use the rootfs from the test-*
containers.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
a2150a0f56
ci/baremetal: Remove legacy support for unused devices
...
Clean up unused remnants for old devices that are no longer used.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
8296c19817
ci: Add a workaround for finding deqp-runner on Broadcom
...
Broadcom devices require /usr/local/bin to be unconditionally added to
the PATH in order to locate the binaries installed there.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
55e78ef678
ci/lava: Remove job definitions using kernel+rootfs jobs
...
These are all unused now and can be removed.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
10ea0002a6
ci/intel: Convert to using the new container based rootfs
...
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
961498a098
ci/svga: Convert to using the new container based rootfs
...
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
be79a2d2d3
ci/lima: Convert to using the new container based rootfs
...
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
da27eea9e0
ci/etnaviv: Convert to using the new container based rootfs
...
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
4f7c40d5d4
ci/panfrost: Convert to using the new container based rootfs
...
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
4d2e5f577a
ci/freedreno: Convert to using the new container based rootfs
...
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
f8e87fbf50
ci/amd: Convert to using the new container based rootfs
...
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
9870512787
ci/lava: Use the new test-video-based rootfs for VA-API jobs
...
Add new job definitions using the new debian/x86_64-test-video container,
and convert the radeonsi-raven-va and radeonsi-raven-vaapi-fluster jobs
to use the rootfs derived from this container.
Now that we are no longer downloading the Fluster vectors at runtime, the
parallelsim of the radeonsi-raven-vaapi-fluster job can be greatly
decreased.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
a3fb667b1d
ci: Include Fluster vectors in the rootfs
...
Downloading them at runtime proved too slow and unreliable.
Keep the logic to upload the vectors to S3 as it's faster, the build job
takes around 5-10 minutes when downloading from S3, but 30+ minutes to
using Fluster to download the vectors.
Move this to the build-fluster.sh script to allow re-using it in the
test-video container.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
414e1a22c8
ci/container: Add new container for libva and fluster testing
...
The new debian/x86_64_test-video container includes va tools and Fluster.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
751ff1a41e
ci/va: Add /va/bin to PATH for test-video container
...
The test-video container requires /va/bin to be in the PATH to locate
necessary binaries.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
82a25daf9d
ci/va: Collapse build section for va-tools
...
Makes the build job easier to look at.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
8448fbae8c
ci/lava: Move rootfs handling for Fluster out of build script
...
Move the logic for installing Fluster into $ROOTFS from build-fluster.sh
into the main lava_build.sh script.
This allows building Fluster in contexts that don't use a rootfs, such as
test containers.
Also move the section inside the build script.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
e80045d23e
ci/lava: Use the new container based rootfs for piglit traces
...
Also change the name of the job defitions to match the other definitions.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
2e8adb9e98
ci/lava: Use rootfs exported from test-* containers
...
Use the new S3_DISTRIBUTION_TAG variable to find the distribution tag of
the newly created lava-rootfs.tar.zst archive.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
1009613aec
ci/lava: Add job definitions using the test-* containers
...
These definitions use the test-gl and test-vk containers instead of the
kernel+rootfs jobs.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
225ac7f2b2
ci/container: Include SkQP in the test-gl containers
...
Build SkQP in the arm64 and x86_64 test-gl containers.
One of the third party dependencies requires python-is-python3.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
33d5204ec1
ci/container: Include ANGLE in the x86_64 test-gl container
...
Build ANGLE in the x86_64 test-gl container.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
16db8b22cc
ci: Export the rootfs from the test-* containers
...
Use the FDO_DISTRIBUTION_POST_EXEC mechanism to run the fdo_cntr_export.sh
script after building the test-* containers. This exports the container
rootfs, creates a lava-rootfs.tar.zst archive, and uploads it to S3.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
53c7a04d12
ci/lava: Ensure firmware directory exists before downloading a660_zap.mbn
...
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Guilherme Gallo
e9b98b0cc9
ci: Add rootfs export script
...
Implement new script for container->rootfs extraction.
v2 (Valentine)
* Adapt script for direct execution in test-* containers through
ci-templates
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Guilherme Gallo
d4bf1fecb7
ci: Keep important packages for rootfs
...
Don't remove passwd, because the test-* containers run the
strip-rootfs.sh script before setting up the rootfs, where we need it.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Guilherme Gallo
816b0212a8
ci: Update setup-rootfs.sh for test-* containers
...
Update the script to make it useable for both container and rootfs jobs.
Move the rootfs-specific logic into the main lava_build.sh script, and
don't install ci-fairy, because that revision can't be used for s3cp
anymore after the migration.
v2 (Valentine)
* Move the rootfs-specific logic instead of adding a new script
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Daniel Stone
3609dbc061
ci: Add ci-kdl to test-base container
...
It's useful to monitor things on your devices.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Daniel Stone
a5159ff108
ci: Add packages for hardware CI testing
...
We need these things in our rootfs.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Daniel Stone
73993c2e74
ci: Add firmware to test-base container
...
We need firmware to run stuff.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Eric Engestrom
580a151642
ci: use https:// to install ci-fairy
...
There's no reason to try to use http://, not that it would work as it's
301-redirected to https:// anyway.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
7d5f0eebc6
ci: Uprev ci-templates to get FDO_DISTRIBUTION_POST_EXEC and S3 fixes
...
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
118a4c5872
ci/android: Remove redundant android-tools folder
...
Since we no longer download the Android build or platform tools,
there's no need for a separate android-tools subfolder. The CTS
archive is now extracted directly to /android-cts.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
3eb61729e3
ci/deqp-runner: Collapse build section
...
Make the container build more readable and easier to follow in CI logs.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
c1242c15af
ci/rust: Collapse build section
...
Make the container build more readable and easier to follow in CI logs.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
bfe6f50ab4
ci/deqp: Collapse build section
...
Make the container build more readable and easier to follow in CI logs.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
7686edcb73
ci/angle: Collapse build section
...
Make the container build more readable and easier to follow in CI logs.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
7d1e34204f
ci/android: Collapse more build sections
...
Add two new build sections, and collapse the existing ones to make the
container build more readable and easier to follow in CI logs.
Also quieten unzipping the Android CTS and NDK, which print thousands of
lines and overflow the logs.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Valentine Burley
b3c07fe722
ci/android: Use aapt from Debian packages
...
Switch to using the aapt Debian package, which includes up-to-date
versions of both aapt and aapt2. This removes the need to manually
download and install the Android build-tools, eliminating one of the
blockers for a hypothetical arm64 test-android container.
Verified versions:
aapt: Android Asset Packaging Tool, v0.2-debian
aapt2: Android Asset Packaging Tool (aapt) 2.19-debian
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451 >
2025-04-28 20:08:32 +00:00
Ian Romanick
c2ac7fa77b
brw/cmod: Allow integer CMP to ADD propagation only for Z and NZ
...
No shader-db chnages on any Intel platform.
v2: Add a note about integer types in the saturate handling path.
fossil-db:
All Intel platforms had similar results. (Lunar Lake shown)
Totals:
Instrs: 210743769 -> 210743727 (-0.00%)
Cycle count: 30377699060 -> 30377700318 (+0.00%); split: -0.00%, +0.00%
Totals from 36 (0.01% of 706776) affected shaders:
Instrs: 17032 -> 16990 (-0.25%)
Cycle count: 291716 -> 292974 (+0.43%); split: -0.01%, +0.44%
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34509 >
2025-04-28 19:44:23 +00:00
Ian Romanick
e26270249b
brw/cmod: Don't propagate from CMP to possible Inf + (-Inf)
...
Most of the churn in this commit is changing unit tests that were
testing things that are now invalid.
shader-db:
All Intel platforms had similar results. (Lunar Lake shown)
total instructions in shared programs: 17122204 -> 17122669 (<.01%)
instructions in affected programs: 120669 -> 121134 (0.39%)
helped: 0 / HURT: 124
total cycles in shared programs: 895602370 -> 895613210 (<.01%)
cycles in affected programs: 17868974 -> 17879814 (0.06%)
helped: 35 / HURT: 85
fossil-db:
All Intel platforms had similar results. (Lunar Lake shown)
Totals:
Instrs: 210736518 -> 210743769 (+0.00%)
Cycle count: 30377733040 -> 30377699060 (-0.00%); split: -0.00%, +0.00%
Max live registers: 66056852 -> 66056966 (+0.00%)
Totals from 1505 (0.21% of 706776) affected shaders:
Instrs: 1890151 -> 1897402 (+0.38%)
Cycle count: 48397408 -> 48363428 (-0.07%); split: -0.11%, +0.04%
Max live registers: 256821 -> 256935 (+0.04%)
Reviewed-by: Matt Turner <mattst88@gmail.com >
Fixes: 020b0055e7 ("i965/fs: Propagate conditional modifiers from compares to adds")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34509 >
2025-04-28 19:44:23 +00:00
Ian Romanick
0dab520a19
brw/cmod: Fix some errors when propagating from CMP to ADD.SAT
...
When I originally wrote that code, I didn't understand what a jerk NaN
can be.
v2: Remove the brw_type_is_uint stuff. This function is currently only
called for float types. In a later commit, integer types will be
supported but only for NZ and Z conditions. Noticed by Matt.
shader-db:
All Intel platforms had similar results. (Lunar Lake shown)
total instructions in shared programs: 17122197 -> 17122204 (<.01%)
instructions in affected programs: 1691 -> 1698 (0.41%)
helped: 0 / HURT: 4
total cycles in shared programs: 895602484 -> 895602370 (<.01%)
cycles in affected programs: 912964 -> 912850 (-0.01%)
helped: 2 / HURT: 2
fossil-db:
All Intel platforms had similar results. (Lunar Lake shown)
Totals:
Instrs: 210736388 -> 210736518 (+0.00%)
Cycle count: 30377728900 -> 30377733040 (+0.00%); split: -0.00%, +0.00%
Totals from 130 (0.02% of 706776) affected shaders:
Instrs: 169911 -> 170041 (+0.08%)
Cycle count: 18021210 -> 18025350 (+0.02%); split: -0.00%, +0.02%
Reviewed-by: Matt Turner <mattst88@gmail.com >
Fixes: 020b0055e7 ("i965/fs: Propagate conditional modifiers from compares to adds")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34509 >
2025-04-28 19:44:23 +00:00
Ian Romanick
8f0fd0e66e
brw/cmod: Remove special handling of NOT
...
The previous commit converts any NOT that might have been affected by
this path into a simple MOV. Those MOVs are handled by other paths.
No shader-db or fossil-db changes on any Intel platform.
v2: Fix a bad squash. Changes that were accidentally in this commit were
supposed to be in the previous commit. Noticed by Ivan.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34509 >
2025-04-28 19:44:23 +00:00
Ian Romanick
08fe7988d7
brw/algebraic: Convert some NOT to MOV
...
On Xe platforms, many fragment shaders have patterns like:
asr(8) g21<2>W g1.2<0,1,0>W 15D
...
mov(8) g11<1>UW g21<16,8,2>UW
...
not.nz.f0.0(8) null<1>D g11<8,8,1>W
Converting the NOT.NZ to MOV.Z enables copy propagation to eliminate the
original MOV. Then cmod propagation is able to eliminate the
NOT-converted-to-MOV.
It might be possible to cover this case by adding more opcodes to the
list NOT can propagate to. The next commit will show that just
converting to MOV is a better approach anyway.
v2: Fix a bad squash. Changes that were supposed to be in this commit
were accidentally in the next commit. Noticed by Ivan.
shader-db:
Meteor Lake, DG2, and Tiger Lake had similar results. (Meteor Lake shown)
total instructions in shared programs: 20069804 -> 20065167 (-0.02%)
instructions in affected programs: 592450 -> 587813 (-0.78%)
helped: 2300 / HURT: 0
total cycles in shared programs: 884534032 -> 884496201 (<.01%)
cycles in affected programs: 13064194 -> 13026363 (-0.29%)
helped: 1285 / HURT: 790
LOST: 18
GAINED: 15
fossil-db:
Meteor Lake, DG2, and Tiger Lake had similar results. (Meteor Lake shown)
Totals:
Instrs: 234506495 -> 234468664 (-0.02%)
Cycle count: 24444825202 -> 24445710703 (+0.00%); split: -0.01%, +0.01%
Max live registers: 42349793 -> 42349789 (-0.00%)
Max dispatch width: 7131344 -> 7131744 (+0.01%); split: +0.05%, -0.04%
Totals from 16673 (2.07% of 805781) affected shaders:
Instrs: 6497669 -> 6459838 (-0.58%)
Cycle count: 435877770 -> 436763271 (+0.20%); split: -0.54%, +0.74%
Max live registers: 1122972 -> 1122968 (-0.00%)
Max dispatch width: 151528 -> 151928 (+0.26%); split: +2.19%, -1.92%
No shader-db or fossil-db on any other Intel platforms.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34509 >
2025-04-28 19:44:23 +00:00
Ian Romanick
9ce869aef5
brw/cmod: Delete some stale comment text
...
Stale like the mummified remains of Ötzi, The Iceman.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34509 >
2025-04-28 19:44:23 +00:00
Ian Romanick
12a022cf45
brw/algebraic: Greatly simplify brw_opt_constant_fold_instruction
...
brw_opt_constant_fold_instruction can either do nothing or replace the
instruction with a MOV of an immediate value. Previously each opcode
case would perform this replacement, and code at the bottom of the
function would verify the results.
It is much simpler if each opcode case calculates a result in a brw_reg,
and code at the bottom of the function performs the replacement. There
are two outlier cases that cannot use this pattern: MAD and
BROADCAST. These cases simply return directly from the switch-statement
after performing the replacement.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34707 >
2025-04-28 18:33:42 +00:00
Konstantin Seurer
9a946f8125
lavapipe: Fix ray tracing position fetch with multiple geometries
...
The previous code didn't take into account, that the primitive index is
set back to 0 for each geometry.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34496 >
2025-04-28 18:41:22 +02:00
Danylo Piliaiev
dea4bb3757
ir3: VARYING_SLOT_LAYER output is used for binning
...
In multi-layered framebuffer LRZ also has several layers and binning
pass needs to write depth to a correct layer, so binning VS needs
VARYING_SLOT_LAYER.
Fixes: 9775b33d0f ("tu: Enable GMEM with layered rendering")
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34728 >
2025-04-28 15:19:10 +00:00
Christian Gmeiner
42aae5c3fa
etnaviv: nir: Legalize txd derivatives src's
...
The hardware expects textureGrad (txd) derivatives to be specified as
offset coordinates from the base texture coordinate, rather than raw
gradients.
This change fixes the majority of the
dEQP-GLES3.functional.shaders.texture_functions.texturegrad.* tests on
GC7000. Remaining failures are due to shadow sampler handling, which
will be addressed separately.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34704 >
2025-04-28 14:14:53 +00:00
Samuel Pitoiset
5841d44f91
radv: set radv_disable_dcc=true for WWE 2k23
...
This game is no longer available Steam, so it's more annoying to
reproduce the issue.
Let's disable DCC for that game to workaround rendering issues which
are likely game bugs.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10850
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34607 >
2025-04-28 12:43:02 +00:00
Maíra Canal
1eb3a40615
ci: disable Igalia's farm
...
Spain is suffering a major power outage, which has affected Igalia's farm.
Disable Igalia's farm until the situation stabilizes.
Signed-off-by: Maíra Canal <mcanal@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34727 >
2025-04-28 09:22:34 -03:00
Romaric Jodin
7112c606ef
panvk: Advertise support for VK_KHR_shader_integer_dot_product
...
This is already supported, we just need to toggle the switch.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34695 >
2025-04-28 13:17:31 +02:00
Ryan Mckeever
2a16422fab
panvk: Advertise KHR_draw_indirect_count for v10+
...
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34571 >
2025-04-28 10:33:32 +00:00
Ryan Mckeever
cebd908bf3
panvk: Implement CmdDraw[Indexed]IndirectCount for v10+
...
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34571 >
2025-04-28 10:33:32 +00:00
Rhys Perry
de896234d8
aco: improve spilling of clobbered operands
...
We can ignore live_changes for these.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34699 >
2025-04-28 10:04:43 +00:00
Rhys Perry
7fe84024cb
aco: fix get_temp_reg_changes with clobbered operands
...
The spiller might have tried to spill a live-through first or second
s_fmac_f32 operand, but this wouldn't have reduced the SGPRs if the third
operand wasn't killed
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13038
Fixes: d6cb45dbb0 ("aco/spill: Allow spilling live-through operands")
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34699 >
2025-04-28 10:04:43 +00:00
Job Noorman
656d7a0f88
ir3: don't use VS input regs for binning variant
...
This isn't necessary anymore since f6f7bc29 ("freedreno/a6xx: Program
VFD_DEST_CNTL from program stateobj").
Allowing the binning variant to allocate its own inputs ensures we don't
needlessly use high register numbers (and thus potentially have a larger
register footprint). Unfortunately, this doesn't have an impact on waves
on shaderdb/fossildb.
Totals from 14669 (8.91% of 164575) affected shaders:
Instrs: 3026564 -> 3024820 (-0.06%); split: -0.33%, +0.28%
CodeSize: 6499538 -> 6496888 (-0.04%); split: -0.19%, +0.15%
NOPs: 452142 -> 451590 (-0.12%); split: -1.76%, +1.64%
MOVs: 67614 -> 66477 (-1.68%); split: -4.92%, +3.24%
Full: 149240 -> 155922 (+4.48%); split: -0.76%, +5.24%
(ss): 56452 -> 56247 (-0.36%); split: -4.58%, +4.22%
(sy): 33366 -> 33535 (+0.51%); split: -2.82%, +3.33%
(ss)-stall: 213221 -> 213992 (+0.36%); split: -0.87%, +1.23%
(sy)-stall: 1391221 -> 1395187 (+0.29%); split: -4.05%, +4.34%
Preamble Instrs: 695820 -> 695661 (-0.02%); split: -0.04%, +0.02%
Cat0: 495109 -> 494450 (-0.13%); split: -1.65%, +1.52%
Cat1: 127072 -> 125925 (-0.90%); split: -2.61%, +1.71%
Cat7: 94725 -> 94787 (+0.07%); split: -0.08%, +0.15%
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34651 >
2025-04-28 09:10:32 +00:00
Ryan Mckeever
a5a0dd3ccc
panvk: Implement multiDrawIndirect for v10+
...
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34617 >
2025-04-28 06:38:09 +00:00
Ryan Mckeever
2bbfcaf01f
panvk: Prepare cmd_prepare_shader_res_table() for multiDrawIndirect
...
This will be needed for indirect draws, where the VS driver desc table
needs to be updated per-draw, which also forces us to have one resource
table per draw.
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34617 >
2025-04-28 06:38:09 +00:00
Ryan Mckeever
690675748b
panvk: Prepare cmd_prepare_push_uniforms() for multiDrawIndirect
...
With indirect multi draw, we'll need to allocate N times the vertex
FAUs so we can patch each of them with the draw parameters.
Add a repeat_count argument to allow that.
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34617 >
2025-04-28 06:38:09 +00:00
Tapani Pälli
ed9f135936
anv: put parenthesis to the set_sampler_size equation
...
This fixes errors seen with some renderdoc captures failing to allocate
descriptor sets.
Fixes: 76096d04bb ("anv: relax restriction on variable count descriptors")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34671 >
2025-04-28 04:45:01 +00:00
Guilherme Gallo
3493500abb
ci: Update build-apitrace.sh header with the right tag
...
The build-apitrace.sh moved from test-gl/vk to test-base script at
175b6d02 .
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34713 >
2025-04-26 14:27:54 +00:00
Guilherme Gallo
b92dd9c573
ci: bump apitrace version
...
apitrace at commit b6102d10 has a bugfix regarding a recent regression
in GPU frame time calculation that made we miss weeks of performance
data.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34713 >
2025-04-26 14:27:54 +00:00
Eric Engestrom
47db31b556
ci: take google-freedreno farm offline
...
All jobs are currently failing because the gateway ran out of disk space.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34719 >
2025-04-26 16:16:40 +02:00
Erik Faye-Lund
d39e2869a8
panvk: re-enable KHR_shader_quad_control on v10+
...
Now that we support Vulkan 1.2, we can expose KHR_shader_quad_control
again.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34512 >
2025-04-25 22:31:34 +00:00
Erik Faye-Lund
b3fd8ddf6a
panvk: support vulkan 1.2 on v10+
...
While not yet officially conformant, we support all the required
features, and we pass the CTS. Let's mark off Vulkan 1.2, to make things
easier for applications.
Backport-to: 25.1
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34512 >
2025-04-25 22:31:34 +00:00
Caleb Callaway
7f35879738
driconf: Jusant needs force_vk_vendor=-1 on Intel devices
...
A UE crash reporter is displayed without this wrap
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12782
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34705 >
2025-04-25 11:25:59 -07:00
Rhys Perry
3c021b79b4
aco/ra: use a correct stride for subdword get_reg_impl
...
fossil-db (gfx1201):
Totals from 3 (0.00% of 79377) affected shaders:
Instrs: 1312 -> 1308 (-0.30%)
CodeSize: 7112 -> 7096 (-0.22%)
Latency: 5381 -> 5382 (+0.02%)
InvThroughput: 753 -> 752 (-0.13%)
Copies: 69 -> 68 (-1.45%)
VALU: 836 -> 835 (-0.12%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34679 >
2025-04-25 14:43:41 +00:00
Rhys Perry
ae6d4f1195
aco/ra: update_renames() before add_subdword_definition()
...
The register file tests here should be done after update_renames().
Normally, get_reg() wouldn't have to move anything to make space for a 1-3
byte definition. This was encountered with skip_optimistic_path=true and a
get_reg_impl() bug (fixed in a later commit) which caused suboptimal
register assignment.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34679 >
2025-04-25 14:43:41 +00:00
Eric Engestrom
9d0cd43a68
ci/build: drop install.tar from gitlab artifacts
...
Now that everyone uses the S3 url, let's avoid unnecessary uploads of
several GB per pipeline.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34710 >
2025-04-25 12:16:28 +00:00
Eric Engestrom
630aef6653
ci/test: make generic fdo runner test jobs use the S3 artifacts too
...
These were the last users of the gitlab artifacts.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34710 >
2025-04-25 12:16:28 +00:00
Eric Engestrom
1d7cce2700
ci/ci-tron: default HWCI_TEST_SCRIPT to deqp-runner, as it's almost always what's run
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34710 >
2025-04-25 12:16:28 +00:00
Eric Engestrom
20631a07ca
ci/test: rename .b2c-vkd3d-proton-test to .test-vkd3d-proton
...
It has nothing to do with ci-tron, it just happens that the first vkd3d
job was running on ci-tron.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34710 >
2025-04-25 12:16:28 +00:00
Eric Engestrom
ce79b8a799
radv/ci: move radv-kabini-vkd3d out of gitlab-ci-inc.yml
...
It's currently disabled, which is probably why it was accidentally moved there.
While at it, fix its name to match the rest of the jobs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34710 >
2025-04-25 12:16:28 +00:00
Eric Engestrom
aecdf762ce
amd/ci: ci yaml indentation
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34710 >
2025-04-25 12:16:27 +00:00
Eric Engestrom
35816d6422
ci/test: fix annoying yamllint warning about 2 spaces before comments
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34710 >
2025-04-25 12:16:27 +00:00
Eric Engestrom
aca1a332c2
ci/build: drop unnecessary shellcheck disables
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34710 >
2025-04-25 12:16:27 +00:00
Eric Engestrom
ab0e505d7f
ci/build: rename variable to avoid changing the meaning of existing variable
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34710 >
2025-04-25 12:16:27 +00:00
Eric Engestrom
8c28f77bd1
ci/build: split git commit sha command out of echo
...
This prevents errors from being masked, eg. when `git` is not installed.
While at it, use `--short=10` instead of piping through `cut`.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34710 >
2025-04-25 12:16:27 +00:00
Eric Engestrom
621aebe046
ci/build: drop unused VERSION from python-artifacts
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34710 >
2025-04-25 12:16:27 +00:00
Eric Engestrom
5be4799734
ci/build: drop lava scripts from builds artifacts
...
The ones used come from the "python-artifacts" job.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34710 >
2025-04-25 12:16:27 +00:00
Eric Engestrom
1f08d75272
ci/build: drop expectation files from python-artifacts
...
The ones used come from the mesa build artifacts.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34710 >
2025-04-25 12:16:27 +00:00
Eric Engestrom
d35c630483
ci/build: drop b2c files from the builds artifacts
...
They haven't been used in a long time.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34710 >
2025-04-25 12:16:27 +00:00
Valentine Burley
cd8d8ca795
ci: Update kernel to fix GPU recovery issues on sm8350
...
This new revision contains one new commit, fixing GPU recovery failures
on sm8350.
dea4d930f2
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34694 >
2025-04-25 11:04:16 +00:00
Rhys Perry
b03e071583
aco/gfx11: create waitcnt for workgroup vmem barriers
...
It seems this is necessary on GFX11.
Similar to 576a2e798c
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Backport-to: 25.0
Backport-to: 25.1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34634 >
2025-04-25 10:41:52 +00:00
Boris Brezillon
d432fd9e32
panvk: Advertise support for VK_EXT_extended_dynamic_state[2]
...
We added CmdBindVertexBuffers2(), the rest is handled by the core.
Advertising this feature also works around a CTS bug that was
calling CmdSetPatchControlPointsEXT() without checking for this
extension.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34696 >
2025-04-25 09:04:55 +02:00
Boris Brezillon
e3cbb2c131
panvk: Implement CmdBindVertexBuffers2()
...
The vk runtime has a helper to help us with the strides, we just
need to use vi_binding_strides[] when emitting the attributes.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34696 >
2025-04-25 09:02:51 +02:00
Christian Gmeiner
1d11872828
etnaviv: nir: Use nir_shader_tex_pass(..)
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34706 >
2025-04-24 23:12:15 +02:00
Alyssa Rosenzweig
3eb7575679
asahi: do not use "Null" layout
...
This is the most serious bug we've had in a long time due to a fundamental
misunderstanding of the hardware (due to incomplete reverse-engineering). It
caught me off guard.
The texture descriptor has "mode" bits which configure two aspects of how the
address pointer is interpreted:
* whether it is indirected, pointing to a secondary page table for sparse
* whether it writes texture access counters (for Metal's idea of sparse).
...Neither of these is a "null texture" mode.
So why did I see Apple's blob using a non-normal mode for null textures, and why
did I copy those settings?
1. Because the hardware texture access counters provide a cheap way to detect
null texture accesses after the fact, which I think their GPU debug tools
use. I'm not sure why release builds of the driver do/did that, but whatever.
2. Because I assumed Cupertino knew best and I didn't bother looking too close.
We can't use them here (without doing extra memory allocations), since then
the GPU will increment access counters. And since our null texture address used
to just be a pointer in the command buffer, that mean the GPU will trash
whatever memory happened to be 0x400 bytes after the start of the null texture
descriptor. The symptom being random faults.
This bug was caught when trying to use the zero-page instead, which raised a
permission fault when the GPU tried to write counts. Then I remembered the
sparse mechanism and had a bit of a eureka moment. Immediately followed by an
"oh, f#$&" moment as I realized how many random bugs could potentially be root
caused to this.
The fix is two-fold:
1. Use normal layout instead.
2. Set the address to the zero-page (which is a fixed VA) and detect null
textures by checking the address, instead of the mode.
The latter is a good idea anyway, but both parts needs to be done atomically to
maintain bisectability.
Backport-to: 25.1
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34703 >
2025-04-24 19:05:07 +00:00
Christian Gmeiner
614b66529d
etnaviv: nir: Add support for txf texture operation
...
The src[2] value 0x1100 is set based on observed behavior of the blob driver,
though its exact meaning remains to be documented.
Passes all dEQP-GLES3.functional.shaders.texture_functions.texelfetch.*
tests on GC7000.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34685 >
2025-04-24 20:19:37 +02:00
Christian Gmeiner
eefe486533
etnaviv: nir: Legalize txf lod src
...
The LOD must be a float, unlike the GLSL function, which expects an integer.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34685 >
2025-04-24 20:19:37 +02:00
Christian Gmeiner
da90fca609
etnaviv: isa: Add txf instruction
...
This instruction is used to implement texelfetch.
Blob generates such txf's for
dEQP-GLES3.functional.shaders.texture_functions.texelfetch.+
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34685 >
2025-04-24 20:19:37 +02:00
Brian Paul
6325868bbe
svga: handle null target pointers in svga_set_stream_output_targets()
...
Fixes crash in Piglit arb_separate_shader_object-xfb-explicit-location-array
test.
Signed-off-by: Brian Paul <brian.paul@broadcom.com >
Reviewed-by: Roland Scheidegger <roland.scheidegger@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34635 >
2025-04-24 17:03:30 +00:00
Georg Lehmann
65411350ac
aco/insert_exec: disable empty quads when leaving divergent control, even if not top level
...
We don't restore exec after uniform top level branches, so nothing disabled
empty quads after a demote in divergent control flow in a uniform branch.
Foz-DB Navi31:
Totals from 17 (0.02% of 79789) affected shaders:
Instrs: 34573 -> 34572 (-0.00%)
CodeSize: 186876 -> 186872 (-0.00%)
Latency: 324145 -> 324141 (-0.00%)
Copies: 1467 -> 1458 (-0.61%)
PreSGPRs: 802 -> 800 (-0.25%)
SALU: 2531 -> 2530 (-0.04%)
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34670 >
2025-04-24 15:43:09 +00:00
Timur Kristóf
3ad385b9cc
radv: Clear dirty flag for clip rects state after emitting it.
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Tested-by: Marcus Seyfarth <m.seyfarth@gmail.com >
Fixes: 0ba3a8b3cc
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34686 >
2025-04-24 15:13:44 +00:00
Timur Kristóf
3a05477ac6
radv: Clear dirty flag for MSAA state after emitting it.
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Tested-by: Marcus Seyfarth <m.seyfarth@gmail.com >
Fixes: 08918f0880
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13022
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34686 >
2025-04-24 15:13:44 +00:00
Lionel Landwerlin
e60416b4e4
anv: use companion batch for operations with HIZ/STC_CCS destination
...
We're currently crashing a couple of tests :
dEQP-VK.pipeline.monolithic.depth.xfer_queue_layout.*
deqp-vk: ../src/intel/blorp/blorp_blit.c:2935:
blorp_copy: Assertion `blorp_copy_supports_blitter(batch->blorp, src_surf->surf, dst_surf->surf, src_surf->aux_usage, dst_surf->aux_usage)' failed.
Tested on:
dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image_transfer_queue.all_formats.depth_stencil.*
dEQP-VK.api.copy_and_blit.multiplanar_xfer.*
dEQP-VK.pipeline.monolithic.depth.xfer_queue_layout.*
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 31eeb72e45 ("blorp: Add support for blorp_copy via XY_BLOCK_COPY_BLT")
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34023 >
2025-04-24 14:47:40 +00:00
Seán de Búrca
3aec638a8b
rusticl: remove unnecessary check for device in kernel list
...
There is no need to verify that `kernel.prog.devs` contains a device
when that device ref was pulled from `kernel.prog.devs` immediately
beforehand.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34167 >
2025-04-24 14:23:05 +00:00
Seán de Búrca
4be2a49e02
rusticl: improve use of Rust idioms
...
Reduce unnecessary function calls, collect from iterators instead of
adding to mutable collections, and remove unnecessary trait bounds.
v2: split change to associated device check into new commit
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34167 >
2025-04-24 14:23:05 +00:00
Seán de Búrca
2c202eb787
rusticl: verify validity of property names and values
...
v2: separate from using type aliases based on signature and reorder
v3: verify validity in two additional locations
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34167 >
2025-04-24 14:23:05 +00:00
Seán de Búrca
62d8541f39
rusticl: improve internal typing
...
Shuffle some integer types to reduce the necessity of casting.
Additionally, clean up some unnecessary use of `Vec` to avoid
allocations.
v2: revert changes to `PipeContext` to avoid hiding truncation errors,
move change to fallible conversions to separate patch
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34167 >
2025-04-24 14:23:05 +00:00
Seán de Búrca
ec314aa358
rusticl: align memory utilities with std
...
Rename `is_alligned()` util to match std naming and move it alongside
similar utilities which copy upstream functionality and annotate those
utilities with their first stable version where applicable.
Replace use of `mesa_rust_util::offset_of!()` in one case where nested
field support is not needed.
v2: revert removal of `offset_of!()` for nested field support
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34167 >
2025-04-24 14:23:05 +00:00
Seán de Búrca
26867670b2
rusticl/device: set maximum work dimension to match implicit bounds
...
Much of the kernel code implicitly depends on a maximum work dimension
of 3, and in practice, gallium will never give a grid dimension of less
than 3, constraining the value to a constant.
v2: use a const for max dimension instead of a `min` call
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34167 >
2025-04-24 14:23:05 +00:00
Mary Guillemard
845611bb43
panvk: Take resource index in valhall_lower_get_ssbo_size
...
Previously we were not extracting the resource index from the resource
handle.
This fixes failures with PanVK+ANGLE on "dEQP-GLES31.functional.ssbo.array_length.unsized_*".
Fixes: e4613f8b23 ("panvk: Lower get_ssbo_size() on Valhall")
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34697 >
2025-04-24 13:28:53 +00:00
Juan A. Suarez Romero
7ec937b81e
v3d/vc4/ci: Add -gl suffix to the GL suite names
...
As we have a -vk suffix for the Vulkan-related suites, add a -gl one for
the OpenGL/ES related suites.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34680 >
2025-04-24 12:40:38 +00:00
Juan A. Suarez Romero
9ab13e1ed0
v3d/vc4/ci: update fraction and parallel values
...
The aim is to increase the coverage as maximum as possible while using
the less possible DuTs, everything under a testing budget of 10 minutes.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34680 >
2025-04-24 12:40:38 +00:00
John Anthony
8dd578e2a4
panvk: Enable VK_EXT_direct_mode_display
...
Panvk already enables VK_EXT_acquire_xlib_display, but not
VK_EXT_direct_mode_display which is a dependency. This causes a failure
in dEQP-VK.info.instance_extensions.
Fixes: 8c2bfa279d ("panvk: support x11 wsi")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34672 >
2025-04-24 12:11:32 +00:00
Dmitry Baryshkov
419a9e9d42
mesa-clc: add an option to force inclusion of OpenCL headers
...
Currently mesa-clc bundles OpenCL headers from Clang only if the static
LLVM is used (which means Clang / LLVM are not present on the target
system). In some cases (e.g. when building in OpenEmbedded environemnt)
it is desirable to have shared LLVM library, but skip installing the
whole Clang runtime just to compile shaders. Add an option that forces
OpenCL headers to be bundled with the mesa-clc binary.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34551 >
2025-04-24 11:40:15 +00:00
Valentine Burley
680752d97f
ci: Use hyphens in make-git-archive job name
...
Spaces in job names make me uncomfortable.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34689 >
2025-04-24 11:05:23 +00:00
Valentine Burley
b758e49085
ci: Update ci-fairy to use shared ref from ci-templates
...
The /templates/ci-fairy.yml include was pinned to an old revision of
ci-templates that wasn't able to upload to S3 with s3cp following the
infrastructure transition.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34689 >
2025-04-24 11:05:23 +00:00
Eric Engestrom
bf4fa82af9
ci: use curl instead of wget in download-git-cache.sh
...
Note that this code is executed on the generic FDo gitlab runners, not
in our docker images. This change is merely to avoid the confusion that
lead to the code in the previous commit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34684 >
2025-04-24 10:36:00 +00:00
Eric Engestrom
74809ce0e3
ci: drop dead wgetrc as there are no uses of wget in our CI images
...
Note that if you grep, you'll find two instances of `wget`, but those are not
executed in our docker images, but on the generic FDo gitlab runners, so the
/etc/wgetrc file in our docker images cannot affect them.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34684 >
2025-04-24 10:36:00 +00:00
Mary Guillemard
006f5c20bd
panfrost: Allow max effective tile size of 64x64 on v12+
...
This is supported since v12 and we fixed the last remaining issues
related to it.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34674 >
2025-04-24 10:11:22 +00:00
Mary Guillemard
943a59c8f9
panvk: Emit sample count and tile size when emitting framebuffer/tiler descriptors
...
This move the logic around tile size budget to be able to handle
rasterization_samples properly in case no render target is defined.
We now select the tile size right before emitting the tiler and framebuffer
descriptors.
This fixes "dEQP-VK.pipeline.monolithic.multisample.mixed_count.*" on
v12 when 64x64 tile size is allowed.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34674 >
2025-04-24 10:11:21 +00:00
Mary Guillemard
c7f2bc6bed
panvk: Take rasterization sample into account in indirect draw on v10+
...
This has been an oversight when implementing indirect draw.
Fixes: 1f3b8bb918 ("panvk: Add support for Draw[Indexed]Indirect")
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34674 >
2025-04-24 10:11:21 +00:00
Tapani Pälli
765801fd9e
intel/dev: add note about PAT entries and Wa_18038669374
...
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34665 >
2025-04-24 09:48:34 +00:00
Eric Engestrom
a0407a6ecf
ci/vkd3d: fail shell pipeline when part of it fails
...
We use pipes in several places and don't want to ignore their failures.
A couple of exceptions are allowed with explicit `|| true`.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34639 >
2025-04-24 09:00:37 +00:00
Eric Engestrom
104f21c27b
ci/vkd3d: treat reading undefined variables as an error
...
This would've prevented the bug in the previous commit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34639 >
2025-04-24 09:00:37 +00:00
Eric Engestrom
89d4ddce0e
ci/vkd3d: fix RESULTS_DIR variable name
...
The bug in the previous commit was hiding this bug...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34639 >
2025-04-24 09:00:37 +00:00
Eric Engestrom
3c0d414cbf
ci/vkd3d: only keep logs of failed tests
...
This is what I meant to do from the start but messed up.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34639 >
2025-04-24 09:00:36 +00:00
Eric Engestrom
7f0fe34758
ci/vkd3d: quieten the mesa version check
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34639 >
2025-04-24 09:00:36 +00:00
Eric Engestrom
0f8fd5da7a
ci/vkd3d: fix test failure list when no test failed
...
This becomes important once the bugfix in the next commit is applied.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34639 >
2025-04-24 09:00:36 +00:00
Eric Engestrom
d21e300f33
ci/vkd3d: drop misguided "something failed" error message
...
Luckily the check was broken, but let's not fix it because this would
cause any failure to fail the job, regardless of expectations.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34639 >
2025-04-24 09:00:36 +00:00
Olivia Lee
e93261f579
panfrost: allow promoting sysval UBO to push constants
...
We already had a path for sysvals in panfrost_emit_const_buf, but it was
unused because we only allowed pushing the default UBO 0. Improves
glmark2 score on G610 from 3051 to 3071, but mostly we need it as a
prerequisite for dynamic blend constants.
Signed-off-by: Olivia Lee <benjamin.lee@collabora.com >
Fixes: 59a3e12039 ("panfrost: do not push "true" UBOs")
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34664 >
2025-04-24 08:20:41 +00:00
Georg Lehmann
6d2190300a
radv/nir/lower_cmat: tightly pack 8bit gfx11 acc matrix
...
Invalid for now, but used by vkd3d-proton, where the use case is to convert
a result matrix to lower precision, followed by a store.
For 16bit accumulation matrices, GFX11 only uses 16bits per 32bit register.
RADV's coop matrix code pads the unused space with undefs and uses a vector
with twice as many elements as the matrix length. Extending that to 8bit by
leaving 24 bits unused is unnecessary as these matrices as there
is no hw unit that requires it. And in wave32, it would also result in
vectors larger than NIR's limit.
So tightly pack 8bit matrices without any undef padding.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34382 >
2025-04-24 06:37:44 +00:00
Georg Lehmann
bbc9bc9d24
radv/nir/lower_cmat: use cmat_mul instead of duplicating hw details for type conversion
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34382 >
2025-04-24 06:37:44 +00:00
Georg Lehmann
31a3430570
radv/nir/lower_cmat: use radv_nir_cmat_bits consistently
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34382 >
2025-04-24 06:37:44 +00:00
Dmitry Osipenko
300b6f7371
util/disk_cache: Re-enable multi-file cache by default
...
Over past months a performance issue was found with the Mesa-DB cache
implementation that results in a too slow cache startup time when cache is
full. A better indexing strategy will need to be invented to mitigate the
issue. Until then, let's default back to the multi-file cache.
Suggested-by: Michel Dänzer <mdaenzer@redhat.com >
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34199 >
2025-04-24 02:43:51 +00:00
Yurii Kolesnykov
9822fa3ef3
Get rid of 5 remaining references to glapitable.h
...
Closes : #13003
Fixes: 0cebfb15 ("glapi: remove duplicated generated header glapitable.h")
Co-authored-by: Marek Olšák <maraeo@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Yurii Kolesnykov <root@yurikoles.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34682 >
2025-04-23 20:18:25 +00:00
Eric Engestrom
6a58bc357b
docs: update calendar for 25.1.0-rc2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34683 >
2025-04-23 19:46:07 +00:00
Mel Henning
60452e016e
wsi/headless: Override finish_create
...
Since headless overrides create_mem, it needs to override finish_create
too. Fixes a segfault in nvk that was caused by us mixing
wsi_create_null_image_mem with wsi_finish_create_blit_context, which
would then call CmdCopyImageToBuffer with image->blit.buffer == NULL
Fixes a cts failure on nvk in:
dEQP-VK.image.swapchain_mutable.headless.2d.r8g8b8a8_unorm_b8g8r8a8_unorm_clear_copy_format_list
and several others
Fixes: 579578f10a ("vulkan/wsi/drm: Break create_prime_image in pieces")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34646 >
2025-04-23 19:11:59 +00:00
Lionel Landwerlin
1f6cca0800
intel: fixup a few debugging option checks
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: ad328bc58d ("intel: Switch uint64_t intel_debug to a bitset")
Reviewed-by: Michael Cheng <michael.cheng@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34667 >
2025-04-23 18:47:42 +00:00
Rhys Perry
62e50de5d0
aco: use v_perm_b32 for byte swaps within a VGPR on gfx10
...
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/34636 >
2025-04-23 18:23:18 +00:00
Rhys Perry
a43783fd76
aco: use v_perm_b32 for do_pack_2x16 on gfx10+
...
fossil-db (gfx1201);
Totals from 93 (0.12% of 79377) affected shaders:
Instrs: 373212 -> 372761 (-0.12%)
CodeSize: 2062752 -> 2063704 (+0.05%); split: -0.00%, +0.05%
Latency: 4172059 -> 4171993 (-0.00%); split: -0.00%, +0.00%
InvThroughput: 1299144 -> 1299093 (-0.00%)
Copies: 51268 -> 50831 (-0.85%)
Branches: 10980 -> 10979 (-0.01%)
VALU: 220192 -> 219756 (-0.20%)
VOPD: 48 -> 47 (-2.08%)
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/34636 >
2025-04-23 18:23:18 +00:00
Marek Olšák
78a3b48db0
radeonsi: enable nir_io_compaction_groups_tes_inputs_into_pos_and_var_groups
...
It's only useful when TES culls.
shader-db with ACO:
143 shaders have -1.44% average decrease in code size.
There are fewer input loads and more of them are vec4 instead of vec1-3.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32262 >
2025-04-23 17:47:37 +00:00
Marek Olšák
0836e9758b
radeonsi: initialize use_ngg* sooner
...
si_init_screen_get_functions determines NIR options, so it should be before
setting caps.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32262 >
2025-04-23 17:47:37 +00:00
Marek Olšák
55db7fc18c
nir/opt_varyings: group TES inputs based on whether they are used by POS or VAR
...
If the optional flag is set, compaction groups TES inputs based on which
outputs they are used for:
- inputs generating only POS/CLIP outputs are first
- inputs generating both POS/CLIP and VAR outputs are next
- inputs generating only VAR outputs are last
shader-db with ACO:
143 shaders have -1.44% average decrease in code size.
There are fewer input loads and more of them are vec4 instead of vec1-3.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32262 >
2025-04-23 17:47:37 +00:00
Marek Olšák
f15399af0f
nir: add gathering passes that gather which inputs affect specific outputs
...
The first pass computes which shader instructions contribute to each
output. It can be used to query how data flows within shaders towards
outputs.
The second pass computes which shader input components and which types of
memory loads are used to compute shader outputs.
The third pass uses the second pass to gather which input components are
used to compute pos and clip dist outputs, which input components are used
to compute all other outputs, and which input components are used to
compute both. This will be used by compaction in nir_opt_varyings for
drivers that split TES into a separate position cull shader and varying
shader to make it less likely that the same vec4 inputs are needed in both.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32262 >
2025-04-23 17:47:37 +00:00
Karol Herbst
33965bb21b
nir_lower_mem_access_bit_sizes: fix negative chunk offsets
...
With a 64 bit pointer model, instead of doing -1 the pass ended up doing
+4294967295. The reason here was some implicit integer conversion going
horribly wrong, so just do the offset math in 64 bit to get a nice result.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13023
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34669 >
2025-04-23 16:59:56 +00:00
Alyssa Rosenzweig
4685d8e2d9
libagx: use common heap alloc for tessellator
...
this gets us bounds checking.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34661 >
2025-04-23 16:20:59 +00:00
Alyssa Rosenzweig
d339bf7a98
libagx: rename agx_geometry_state to agx_heap
...
no other state persists. this cleans up a lot of naming.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34661 >
2025-04-23 16:20:59 +00:00
Alyssa Rosenzweig
29cc2b6d42
libagx: do not include heap in geometry params
...
the only dynamic allocation left for geometry shaders is all done in the setup
indirect kernel. so just pass the heap to that kernel directly, so we don't
reserve a heap for direct draws with GS (including pure-VS XFB). this should
reduce our memory footprint a lot in certain apps.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34661 >
2025-04-23 16:20:59 +00:00
Alyssa Rosenzweig
cb52aa58d6
agx/nir_lower_gs: bound static topologies
...
don't bloat up shader info.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34661 >
2025-04-23 16:20:59 +00:00
Alyssa Rosenzweig
9b1d771747
agx/nir_lower_gs: compact static topologies
...
use 8-bit index buffer instead of 32-bit to significantly decrease the size of
serialized geometry shaders (agx_gs_info is not dynamic).
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34661 >
2025-04-23 16:20:59 +00:00
Alyssa Rosenzweig
5640266eb3
agx/nir_lower_gs: rework gs rast shape handling
...
rather than a bunch of subtle booleans telling the driver how to invoke the GS
rast shader, collect everything into a common enum, and provide (CL safe)
helpers to do the appropriate calculations rather than duplicating across
GL/VK/indirects.
this fixes suboptimal handling of instancing with list topologies.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34661 >
2025-04-23 16:20:59 +00:00
Alyssa Rosenzweig
2a0314250b
agx/nir_lower_gs: don't use nir_def_rewrite_uses
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34661 >
2025-04-23 16:20:59 +00:00
Alyssa Rosenzweig
3670f95e12
agx/nir_lower_gs: avoid redundant sr read's
...
saves 2 SR reads in a SW VS
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34661 >
2025-04-23 16:20:59 +00:00
Alyssa Rosenzweig
8b0dca384f
agx/nir_lower_gs: fix type confusion
...
Fixes: b9b6828fda ("agx/nir_lower_gs: optimize static topologies")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34661 >
2025-04-23 16:20:59 +00:00
Alyssa Rosenzweig
d548259b2f
agx: plumb vertex_id_zero_base
...
to accelerate SW VS.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34661 >
2025-04-23 16:20:59 +00:00
Alyssa Rosenzweig
fbb85a8d09
agx: use abi.h defines
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34661 >
2025-04-23 16:20:59 +00:00
Alyssa Rosenzweig
6f265ab83f
asahi: clang-format
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34661 >
2025-04-23 16:20:59 +00:00
Alyssa Rosenzweig
d31ad329c2
util: optimize bitcount on OpenCL
...
Fixes: bfc18b6fb1 ("libagx: drop libagx_popcount")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34661 >
2025-04-23 16:20:59 +00:00
Yinjie Yao
eecfb02463
frontends/va: Handle properly when decoding more slices than limit
...
For h264/h265/av1/vp9, give warning when application is
sending more slices than allowed by limit, and stop copying
remaining slices to avoid unwanted behaviour.
Cc: mesa-stable
Signed-off-by: Yinjie Yao <yinjie.yao@amd.com >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34633 >
2025-04-23 15:37:04 +00:00
Faith Ekstrand
1a373edfc5
nak/sm20: Fix legalization of IAdd and IMul
...
They were both missing subtle cases. While we're here, fix a bunch of
SrcTypes. They shouldn't matter in practice since it's just used to
determine how many GPRs to allocate but we may as well get them right.
Fixes: 078ffb860b ("nak/sm20: Add initial SM20 encoding")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34675 >
2025-04-23 14:06:27 +00:00
Faith Ekstrand
ca296bf0a9
nak/sm20: Call copy_alu_src_if_fabs() first
...
Since an FAbs or FNegAbs modifier is going to force the source out to a
register no matter what, we should do this first. That way we avoid the
unnecessary source swaps or other evictions when we have to evict the
source anyway because it has a modifier.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34675 >
2025-04-23 14:06:27 +00:00
Christoph Pillmayer
c26273109f
panfrost/ci: Update spec@ext_transform_feedback@max-varyings result
...
After the previous changes to varyings, this test no longer crashes.
Update the expected result from Crash to Fail to reflect that.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34074 >
2025-04-23 11:53:27 +00:00
Christoph Pillmayer
a36402afc8
panfrost: Use LD_VAR_BUF if possible on v9+
...
This logic to enable LD_VAR_BUF[_IMM] is on the conservative side.
For fixed varyings, we would need to know what the VS outputs to correctly
compute the indices the FS has to load from. For general varyings, the
locations are aligned either by the linker or by the application in case
of separable shaders.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34074 >
2025-04-23 11:53:27 +00:00
Christoph Pillmayer
49a9c91540
panfrost: Remove fixed_varying_mask from uncompiled_shader
...
This is no longer used after the previous commit and should therefore
be removed.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34074 >
2025-04-23 11:53:27 +00:00
Christoph Pillmayer
cd2ca0ac22
panfrost: Enable more than 16 varyings on v9+
...
This change removes the limit of 16 varyings caused by the 8-bit offset
value used in LD_VAR_BUF[_IMM]. LD_VAR[_IMM] is used instead and the
necessary ADs are emitted at draw time.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34074 >
2025-04-23 11:53:27 +00:00
Boris Brezillon
85b6bd989e
panvk: Advertise support for VK_KHR_maintenance5
...
This is already supported, all we have to do is advertise it.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34648 >
2025-04-23 11:31:40 +00:00
Boris Brezillon
9d1262e108
pan/format: Disable image storage on A8_UNORM
...
A8_UNORM on v9+ is using RGBA8_UNORM as a pixel format with the
A8_UNORM clump format to dealing with the diffences between
RGBA8 and the actual A8 in-memory layout.
The problem is, LEA_TEX only loads the InternalConversionDescriptor
which contains only the pixel format, and that's what ST_CVT uses
to do the conversion, so we'll actually store 4 components instead
of one.
This shows up with
dEQP-VK.image.load_store.without_any_format.buffer.a8_unorm* after
enabling maintenance5.
For now I've turned off the image storage capability for A8_UNORM
on all gens, but I'd be fine disabling it only on v9+ if you think
that's preferable.
Fixes: d95423686f ("pan/format: Add PAN_BIND_STORAGE_IMAGE flag")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34648 >
2025-04-23 11:31:40 +00:00
Boris Brezillon
8d1e55a3b5
panvk: Implement GetImageSubresourceLayout2 and GetDeviceImageSubresourceLayoutKHR()
...
Needed for maintenance5.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34648 >
2025-04-23 11:31:40 +00:00
Boris Brezillon
7abe32a130
panvk: Call vk_image_finish() in GetDeviceImageMemoryRequirements()
...
It doesn't do much, but let's call it, just in case this changes at
some point.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34648 >
2025-04-23 11:31:40 +00:00
Boris Brezillon
1e3acb062a
panvk: Don't pass a dev to panvk_image_init()
...
It's not used, and we could retrieve the device from
image->vk.base.device if we had to anyway.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34648 >
2025-04-23 11:31:40 +00:00
Boris Brezillon
1b22f6d679
panvk: Pass a const image to is_disjoint()
...
The image is not supposed to be modified there.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34648 >
2025-04-23 11:31:40 +00:00
Boris Brezillon
51e46ed57f
panvk: Implement CmdBindIndexBuffer2()
...
This is needed for maintenance5.
While at it, move the buffer offseting opertaion to CmdBindVertexBuffers2()
instead of applying the offset at draw time.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34648 >
2025-04-23 11:31:40 +00:00
Boris Brezillon
b632ac7e3b
panvk: Advertise support for VK_KHR_maintenance4
...
This is already supported, all we have to do is advertise it.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34648 >
2025-04-23 11:31:40 +00:00
Georg Lehmann
dd3e1190a2
aco/insert_exec: reset temporary when recreating wqm mask from exact mask
...
The old, now incorrect temporary was still used for invert blocks and loop masks.
Foz-DB Navi31:
Totals from 379 (0.48% of 79789) affected shaders:
Instrs: 399471 -> 399897 (+0.11%); split: -0.00%, +0.11%
CodeSize: 2197292 -> 2198908 (+0.07%); split: -0.00%, +0.08%
Latency: 2500636 -> 2500895 (+0.01%); split: -0.00%, +0.01%
SClause: 7912 -> 7918 (+0.08%); split: -0.04%, +0.11%
Copies: 25687 -> 26068 (+1.48%); split: -0.04%, +1.53%
PreSGPRs: 15648 -> 15562 (-0.55%)
SALU: 35125 -> 35517 (+1.12%)
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12901
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13019
Fixes: b872ff6ef2 ("aco/insert_exec_mask: if applicable, use s_wqm to restore exec after divergent CF")
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34659 >
2025-04-23 09:37:50 +00:00
Georg Lehmann
13f6be262a
aco/insert_exec: only restore wqm mask after control flow if necessary
...
The next commit will make this not free, so we should avoid it if possible.
Foz-DB Navi31:
Totals from 3933 (4.93% of 79789) affected shaders:
Instrs: 5726914 -> 5727295 (+0.01%); split: -0.00%, +0.01%
CodeSize: 31307100 -> 31308884 (+0.01%); split: -0.00%, +0.01%
SpillSGPRs: 1797 -> 1793 (-0.22%); split: -0.33%, +0.11%
Latency: 58973929 -> 58974343 (+0.00%); split: -0.00%, +0.00%
InvThroughput: 8591893 -> 8591911 (+0.00%); split: -0.00%, +0.00%
SClause: 209074 -> 209115 (+0.02%); split: -0.00%, +0.02%
Copies: 423965 -> 432420 (+1.99%)
Branches: 149976 -> 149979 (+0.00%); split: -0.00%, +0.00%
PreSGPRs: 200175 -> 200663 (+0.24%)
VALU: 3440165 -> 3440156 (-0.00%); split: -0.00%, +0.00%
SALU: 555727 -> 556143 (+0.07%); split: -0.00%, +0.08%
Fixes: b872ff6ef2 ("aco/insert_exec_mask: if applicable, use s_wqm to restore exec after divergent CF")
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34659 >
2025-04-23 09:37:50 +00:00
Ella Stanforth
6802d66b50
v3d/ci: move depthstencil-default_fb-drawpixels-24_8 samples=4 to flakes
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33942 >
2025-04-23 09:03:41 +00:00
Ella Stanforth
08c323951b
v3dv: Implement dual source blending
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33942 >
2025-04-23 09:03:41 +00:00
Ella Stanforth
a72be0f720
v3d: Implement dual source blending
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33942 >
2025-04-23 09:03:41 +00:00
Ella Stanforth
42154029fc
v3d/compiler: Implement software blend lowering
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33942 >
2025-04-23 09:03:41 +00:00
Ella Stanforth
b38c4e8982
nir/alpha_to_coverage: Add an intrinsic for better dithering
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33942 >
2025-04-23 09:03:41 +00:00
Ella Stanforth
a6f67d5b69
v3d/compiler: Only lower logic ops for color buffers that exist
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33942 >
2025-04-23 09:03:41 +00:00
Ella Stanforth
1ec0cdb733
v3d/compiler: Fixup output types for all 8 outputs
...
Cc: mesa-stable
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33942 >
2025-04-23 09:03:41 +00:00
Ella Stanforth
d3aedbfe9d
asahi/lib: Move alpha_to_one and alpha_to_coverage lowering to common code.
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33942 >
2025-04-23 09:03:41 +00:00
Pierre-Eric Pelloux-Prayer
091d52965f
radeonsi: init use_aco properly when llvm is disabled
...
Otherwise shaders are compiled with ACO anyway and we hit the assert
added by 7f7d6deb18 ("radeonsi: add ACO-specific main shader parts").
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34574 >
2025-04-23 07:59:10 +00:00
Pierre-Eric Pelloux-Prayer
2ab7ff51b9
radeonsi: skip blit incompatible scenarios
...
When has_image_opcodes is missing only a subset of tests can
be executed.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34574 >
2025-04-23 07:59:10 +00:00
Pierre-Eric Pelloux-Prayer
992a340eab
ac/nir: init blake3 for cs blit shader
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34574 >
2025-04-23 07:59:10 +00:00
Pierre-Eric Pelloux-Prayer
2a381bbc3c
radeonsi: fix potential use after free in si_set_debug_callback
...
si_destroy_context needs to call context->set_debug_callback(...) to
avoid the debug logs to access the destroyed context.
Adding this change introduced a different problem: when an aux context
is destroyed from si_destroy_screen, parts of the screen have been
freed already: the shader_compiler_queue_*.
c467a87e06 ("radeonsi: Destroy queues before the aux contexts") moved
the util_queue_destroy calls above the context destruction, but with
the 59a3f38ff6 change, it's not needed anymore: si_destroy_context
will finish the screen shader queues before proceeding with releasing,
so use-after-free isn't possible.
Fixes: 59a3f38ff6 ("radeonsi: clear the debug callback on ctx destroy")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12035
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34574 >
2025-04-23 07:59:10 +00:00
Sergi Blanch Torne
48bccb7d55
bin/ci: crnm: bug stress mode retry formula
...
The execution_times structure was filled the same way in all the cases of an
if. As a side effect, the retry evaluation doesn't include the last result and
can lead, as a race condition, into triggering one extra time than the
indication in the stress argument.
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33750 >
2025-04-23 07:42:37 +00:00
Sergi Blanch Torne
e6843c1705
bin/ci: crnm: bug while stressing a single job
...
When one launches a stress test on a single job, the script behaves like the
stress number is not set. After this wrong end, relaunch the command works
only if stress is bigger than 2. In case 2, it can confuse the number of
executions.
When in stress mode, don't exit the monitor_pipeline method as if there were
only one job run. One job run, prints in std the job trace, but in stress
mode, there are more than one job execution.
The stress_status_counter structure lost the information about job IDs, and
the bug happens when it counts twice the same job.
Reported-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33750 >
2025-04-23 07:42:37 +00:00
Guilherme Gallo
ce200e6a4a
bin/ci: crnm: Fix job duration calculation
...
The former version was problematic because:
- time.perf_counter() returns seconds relative to an arbitrary point in
time (monotonic clock)
- time.mktime() converts to epoch time (seconds since 1970)
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Reviewed-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33750 >
2025-04-23 07:42:37 +00:00
Guilherme Gallo
b3a9125014
bin/ci: crnm: Improve timer display formatting
...
Modify the pretty_wait function to use a two-digit width for seconds
display, ensuring consistent and aligned output when showing the
countdown timer.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Reviewed-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33750 >
2025-04-23 07:42:37 +00:00
Guilherme Gallo
769c9bf27c
bin/ci: crnm: Improve job enabling robustness
...
Add error handling for job retry/play actions with proper exception
handling and improve status tracking. Introduce a maximum retry
limit with MAX_ENABLE_JOB_ATTEMPTS to prevent infinite loops when
jobs cannot be enabled.
Change enable_job to return a boolean status rather than job objects
to avoid race conditions with stale job state. Update callers to
properly handle the new return value and wait for fresh job data
in the next monitoring loop.
Address race conditions in the CI monitor script:
Reported-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Reviewed-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33750 >
2025-04-23 07:42:37 +00:00
Guilherme Gallo
6464083a6b
ci: Extract target job handling in CI monitor script
...
Extract the target job processing logic from the monitor_pipeline
function into a dedicated run_target_job helper. This improves
readability and maintainability by reducing the complexity of the
monitor_pipeline function.
Also add type casting to ensure proper typing for the job objects and
import the necessary Callable type.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Reviewed-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33750 >
2025-04-23 07:42:37 +00:00
Boris Brezillon
098ee11c1c
panvk: Set supportsNonZeroFirstInstance=true
...
We now support non-zero firstInstance when instance attributes have
a divisor != 1.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34642 >
2025-04-23 07:08:25 +00:00
Boris Brezillon
0a3f1da321
panvk: Advertise support for VK_EXT_vertex_attribute_divisor
...
This is already supported, nothing to do here.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34642 >
2025-04-23 07:08:25 +00:00
Boris Brezillon
b2a8e3838d
panvk/csf: Fix instance attribute offseting
...
Letting the shader offset instanceID by baseInstance works only if
the divisor is one. If the divisor is greater than one, the firstInstance
parameter shouldn't be applied this divisor, but it currently is. Zero
divisors are also problematic, in that they will force use of the
instance zero attribute all the time.
The only way to fix that is to tweak the offsets of the per-instance
attributes instead, like is done in the JM backend.
Fixes: 1570f0172e ("panvk: Fix base_{instance,vertex} handling")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34642 >
2025-04-23 07:08:25 +00:00
Boris Brezillon
b093855caa
panvk/csf: Pass less arguments to emit_vs_attrib()
...
Most of the arguments we pass to emit_vs_attrib() can be extracted
from panvk_cmd_buffer, so let's pass a cmdbuf before we add more to
this function.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34642 >
2025-04-23 07:08:25 +00:00
Karol Herbst
93484bf38a
rusticl: allow packagers to enable radeonsi by default
...
Radeonsi hasn't yet passed conformance, so it's not part of the auto set
at this point in time. But this will allow distribution to enable it if
they feel comfortable enough, or to disable it again, if it causes too
many problems.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34621 >
2025-04-23 01:56:22 +00:00
Karol Herbst
6f080ac532
rusticl/device: fix panic when disabling 3D image write support
...
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12985
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34649 >
2025-04-23 01:35:21 +00:00
Karol Herbst
e3edc6029b
ac/llvm: use mul24 intrinsics
...
With the current code in clpeak LLVM ended up generating v_mad_u64_u32
instructions, with this we get nice v_mad_u32_s24 ones instead and an 4x
performance increase in the int24 benchmark.
Suggested-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34630 >
2025-04-23 01:11:48 +00:00
Michael Cheng
3c267535ae
anv: Add new debug flag to show shader stage
...
Add debug option to show current shader type being
compiled within anv_shader_bin_create.
Signed-off-by: Michael Cheng <michael.cheng@intel.com >
Reviewed-by: Casey Bowman <casey.g.bowman@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34596 >
2025-04-22 23:09:26 +00:00
Michael Cheng
ad328bc58d
intel: Switch uint64_t intel_debug to a bitset
...
We are reaching our limit of adding flags to intel_debug
(apporaching 64 flags). Switch intel_debug to a bitset,
which gives us almost "unlimited" bits to use in the future.
v2(Michael Cheng): Fixed a few ci errors
Signed-off-by: Michael Cheng <michael.cheng@intel.com >
Reviewed-by: Casey Bowman <casey.g.bowman@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34596 >
2025-04-22 23:09:26 +00:00
Michael Cheng
2a1aa129ed
intel: Switch debug flags to enums to prep for bitset conversion
...
Refactored the existing debug flags to use an enum instead of
hardcoded 1ull << N macros. This is a prep step before the
eventual switch of intel_debug to a bitset.
Using enums gives us cleaner indexing and avoids annoying shift
overflow warnings. No functional changes yet.
Signed-off-by: Michael Cheng <michael.cheng@intel.com >
Reviewed-by: Casey Bowman <casey.g.bowman@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34596 >
2025-04-22 23:09:26 +00:00
Faith Ekstrand
ff95e506d9
docs/nvk: Update conformance and hardware support information
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34658 >
2025-04-22 22:53:32 +00:00
Collabora's Gfx CI Team
8514452cf7
Uprev Piglit to c50d9aa54f85e0af9d72fab86c73f89356d96399
...
0ecdebb0f5...c50d9aa54f
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34650 >
2025-04-22 21:52:29 +00:00
Collabora's Gfx CI Team
3f49272944
Uprev ANGLE to f355e2b37ed43939e2753fc7dacccf75abb4c1a3
...
a3f2545f6b...f355e2b37e
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34650 >
2025-04-22 21:52:29 +00:00
José Roberto de Souza
fcb6dfb29c
intel: Fix the MOCS values in XY_BLOCK_COPY_BLT for Xe2+
...
One more instruction were the MOCS value was splited into two
registes.
Cc: mesa-stable
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34592 >
2025-04-22 20:42:25 +00:00
José Roberto de Souza
161c412a82
intel: Fix the MOCS values in XY_FAST_COLOR_BLT for Xe2+
...
Xe2 changed the MOCS field in few instructions, those now have a field
for the MOCS index and other the encryption enable bit but ISL returns
the combination of both aka MEMORY_OBJECT_CONTROL_STATE.
To minimize changes I have added 2 macros to extract the values
from the value returned by isl.
From all the instructions changed Mesa only make use of two, so the
other instruction will be handled in the next patch.
Cc: mesa-stable
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34592 >
2025-04-22 20:42:25 +00:00
Danylo Piliaiev
36f22cc951
tu,freedreno: Don't fallback to LINEAR with DRM_FORMAT_MOD_QCOM_COMPRESSED
...
DRM_FORMAT_MOD_QCOM_COMPRESSED forces the image to be UBWC regardless
of what's better for perf, we should respect that.
The regression is seen in GTK4 when it tries to create tiny swapchain
images.
Fixes: fc50fb35b0
("tu,freedreno: Enable linear mipmap tail for UBWC images")
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34628 >
2025-04-22 19:48:43 +00:00
Connor Abbott
ee10938bee
tu: Fix flushing when using a staging buffer for copies
...
When doing the flushing, I forgot that because the staging buffer can be
used with different formats with different cpp, we need to make sure
that CCU is properly flushed and invalidated between each copy to the
staging buffer to prevent stale cache entries from creeping in, as the
CCU seems to rely on the cpp staying the same, even on a7xx which
dropped some of the other restrictions like using the same RT
index/layer. For "normal" user-visible copies this is done via
transitioning from UNDEFINED.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34611 >
2025-04-22 19:23:53 +00:00
Eric Engestrom
0a41200f82
pick-ui: add missing dependency
...
Somehow I forgot to commit this line 🤦
Fixes: c37a468a8a ("pick-ui: make `Backport-to: 25.0` backport to 25.0 *and more recent release branches*")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34657 >
2025-04-22 19:20:09 +00:00
Aleksi Sapon
501ed5be49
lp: fix gnu-empty-initializer warning
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34655 >
2025-04-22 18:56:37 +00:00
Mary Guillemard
8d2e16cc11
panvk: reset dyn_bufs map count to 0 in create_copy_table
...
We were forgetting to reset the map count to 0 in case of dyn_bufs in
create_copy_table.
This was causing invalid copy entries to be added to the table causing
invalid copies in most situation with holes in the set definition while
still binding set 0 or at worst an assert to be triggered in
cmd_fill_dyn_bufs.
This fixes "dEQP-GLES3.functional.ubo.*" and
dEQP-GLES31.functional.ubo.*" on PanVK+ANGLE.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Fixes: e350c334b6 ("panvk: Extend the descriptor lowering pass to support Valhall")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34652 >
2025-04-22 17:33:02 +00:00
Caio Oliveira
6901f74fbf
intel/executor: Reorganize -h and --help
...
Using -h will show a summarized view of the options, functions and
macros. Using --help will open `man` with the longer contets,
which is more convenient to search and gives a little bit of
formatting.
This scheme is similar to what is done for git subcommands, e.g.
`git commit -h` and `git commit --help`.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34268 >
2025-04-22 17:14:22 +00:00
Faith Ekstrand
d383d78e8c
nvk: Maxwell+ is now conformant
...
This advertises Vulkan 1.4 conformance for Maxwell+ GPUs as well as
enabling Vulkan on them by default.
Backport-to: 25.1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34582 >
2025-04-22 16:54:50 +00:00
Georg Lehmann
8f3489f351
aco/isel: create WMMA with constant C matrix if possible
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34396 >
2025-04-22 16:08:57 +00:00
Georg Lehmann
4fa3fb87c7
aco/insert_NOPs: allow WMMA with constant C matrix
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34396 >
2025-04-22 16:08:56 +00:00
Georg Lehmann
c3964e87f8
radv: apply fneg/fabs modifiers to wmma
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34396 >
2025-04-22 16:08:55 +00:00
Georg Lehmann
6d7e67d986
nir,amd: add neg_lo/hi modifiers to cmat_matmul_amd
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34396 >
2025-04-22 16:08:55 +00:00
Georg Lehmann
b0c8f31600
aco: set opsel_hi to 1 for WMMA
...
This is ignored by the hardware but LLVM requires it to disassemble GFX12 WMMA.
Cc: mesa-stable
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34396 >
2025-04-22 16:08:54 +00:00
Mike Blumenkrantz
5f3a3740dc
zink: use util_dynarray_resize_zero() for descriptor pool
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34654 >
2025-04-22 15:29:34 +00:00
Mike Blumenkrantz
7b17dbd0c0
util/dynarray: add util_dynarray_resize_zero()
...
convenience function(s) to zero the new allocation and avoid bugs
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34654 >
2025-04-22 15:29:34 +00:00
Tomeu Vizoso
a99e5be446
teflon: Release the arrays of tensors in operations
...
We were leaking the arrays themselves. Also reorder the dereferencing of
the tensors to get the lifecycle right.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34627 >
2025-04-22 14:58:34 +00:00
Tomeu Vizoso
63251d43ae
etnaviv: Release screen->dummy_desc_reloc.bo
...
We are currently trying to release twice the same dummy BO, while
leaking the other one.
Fixes: bca5ef70a4 ("etnaviv: split dummy RT backing store from reloc")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34627 >
2025-04-22 14:58:34 +00:00
Tomeu Vizoso
113143a470
teflon/tests: Read model data with mmap, for speed
...
It was being a bit uncomfortable testing big models otherwise.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34627 >
2025-04-22 14:58:34 +00:00
Tomeu Vizoso
baafa9172a
etnaviv/ml: Rework tensor addition on V8
...
Though the V7 approach works most of the time on V8, there are some
situations in which we generate incorrect instructions but we don't know
why it doesn't work on V8.
This commit brings this driver's behavior more in line with the
proprietary driver's behavior and fixes those instances.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34627 >
2025-04-22 14:58:34 +00:00
Tomeu Vizoso
104309ede3
etnaviv/ml: Support padding the channels dimension
...
Extend the TP job for padding.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34627 >
2025-04-22 14:58:34 +00:00
Tomeu Vizoso
4a951a73e7
teflon: Support more Pad configurations
...
Add support for padding along the channels dimension.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34627 >
2025-04-22 14:58:34 +00:00
Tomeu Vizoso
c31ce2d71f
etnaviv/ml: Fix depthwise convolutions
...
Those with padding, stride and input smaller than the kernel size.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34627 >
2025-04-22 14:58:34 +00:00
Georg Lehmann
3e26fc4498
nir/opt_algebraic: disable fsat(a + 1.0) opt if a can be NaN
...
Foz-DB Navi21:
Totals from 9 (0.01% of 79789) affected shaders:
Instrs: 6782 -> 6796 (+0.21%); split: -0.03%, +0.24%
CodeSize: 40020 -> 40108 (+0.22%); split: -0.04%, +0.26%
Latency: 23764 -> 23758 (-0.03%)
InvThroughput: 6424 -> 6431 (+0.11%); split: -0.08%, +0.19%
SClause: 273 -> 275 (+0.73%)
Copies: 338 -> 339 (+0.30%)
VALU: 5138 -> 5147 (+0.18%); split: -0.06%, +0.23%
SALU: 349 -> 350 (+0.29%)
SMEM: 498 -> 500 (+0.40%)
Fixes: a4a3487aae ("nir/opt_algebraic: optimize patterns from Skia")
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34125 >
2025-04-22 14:23:05 +00:00
Georg Lehmann
a60d61cce8
nir: improve fadd is_a_number analysis by using the range
...
Foz-DB Navi21:
Totals from 145 (0.18% of 79789) affected shaders:
Instrs: 168553 -> 168391 (-0.10%); split: -0.10%, +0.00%
CodeSize: 926708 -> 926684 (-0.00%)
Latency: 2210456 -> 2210329 (-0.01%); split: -0.01%, +0.00%
InvThroughput: 545992 -> 545768 (-0.04%)
SClause: 3084 -> 3085 (+0.03%)
VALU: 129521 -> 129360 (-0.12%)
SALU: 13085 -> 13084 (-0.01%)
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34125 >
2025-04-22 14:23:05 +00:00
Georg Lehmann
a6fd9f488a
nir: add is_a_number analysis for ffma
...
Foz-DB Navi21:
Totals from 508 (0.64% of 79789) affected shaders:
Instrs: 796183 -> 795838 (-0.04%)
CodeSize: 4303420 -> 4303384 (-0.00%); split: -0.00%, +0.00%
Latency: 7806095 -> 7805458 (-0.01%); split: -0.01%, +0.00%
InvThroughput: 1377028 -> 1376824 (-0.01%); split: -0.01%, +0.00%
Copies: 63297 -> 63299 (+0.00%); split: -0.00%, +0.00%
PreVGPRs: 29818 -> 29819 (+0.00%)
VALU: 562067 -> 561885 (-0.03%); split: -0.03%, +0.00%
SALU: 89896 -> 89733 (-0.18%)
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34125 >
2025-04-22 14:23:05 +00:00
Georg Lehmann
cb6d035925
nir: add range analysis for ffmaz
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34125 >
2025-04-22 14:23:05 +00:00
Georg Lehmann
8ad695195e
nir/opt_algebraic: turn exact fmin(1.0, a) into fsat if a is not NaN and not negative
...
Foz-DB Navi21:
Totals from 2456 (3.08% of 79789) affected shaders:
Instrs: 3415398 -> 3413352 (-0.06%); split: -0.06%, +0.00%
CodeSize: 18781096 -> 18776092 (-0.03%); split: -0.03%, +0.00%
VGPRs: 158512 -> 158528 (+0.01%)
Latency: 39528900 -> 39526687 (-0.01%); split: -0.01%, +0.00%
InvThroughput: 10612237 -> 10609296 (-0.03%); split: -0.03%, +0.00%
VClause: 71028 -> 71034 (+0.01%)
SClause: 93971 -> 93975 (+0.00%); split: -0.00%, +0.01%
Copies: 257525 -> 257521 (-0.00%); split: -0.01%, +0.01%
VALU: 2483374 -> 2481325 (-0.08%); split: -0.09%, +0.00%
SALU: 348207 -> 348211 (+0.00%)
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34125 >
2025-04-22 14:23:04 +00:00
Georg Lehmann
18a0de1834
nir/opt_algebraic: optimize fmax(ffma(a, b, c), 0.0) to fsat
...
Foz-DB Navi21:
Totals from 2621 (3.28% of 79789) affected shaders:
MaxWaves: 55744 -> 55736 (-0.01%)
Instrs: 2840180 -> 2832647 (-0.27%); split: -0.27%, +0.00%
CodeSize: 15497364 -> 15464692 (-0.21%); split: -0.21%, +0.00%
VGPRs: 138448 -> 138456 (+0.01%)
Latency: 22319512 -> 22307018 (-0.06%); split: -0.06%, +0.01%
InvThroughput: 5745108 -> 5729197 (-0.28%); split: -0.28%, +0.00%
Copies: 110279 -> 110268 (-0.01%); split: -0.04%, +0.03%
VALU: 2210578 -> 2203211 (-0.33%); split: -0.33%, +0.00%
SALU: 169014 -> 168841 (-0.10%)
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34125 >
2025-04-22 14:23:04 +00:00
Georg Lehmann
f71fc26393
nir/opt_algebraic: generalize fmax(fadd(a, b), 0.0) to fsat by not requiring fneg
...
Not a large effect, but it's positive and makes the pattern simpler.
Foz-DB Navi21:
Totals from 1 (0.00% of 79789) affected shaders:
Instrs: 145 -> 138 (-4.83%)
CodeSize: 784 -> 756 (-3.57%)
Latency: 1495 -> 1487 (-0.54%)
InvThroughput: 210 -> 196 (-6.67%)
VALU: 103 -> 96 (-6.80%)
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34125 >
2025-04-22 14:23:04 +00:00
Alyssa Rosenzweig
1050c69833
libagx: drop libagx_sub_sat
...
should optimize in nir if needed.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
bfc18b6fb1
libagx: drop libagx_popcount
...
use the common
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
9c4660d1a6
libagx: use #pragma once in geometry.h
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
63a2831967
agx/nir_lower_tess: drop dead todo
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
41960652e1
agx/nir_lower_tess: drop pointless helpers
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
2a065fc446
agx/nir_lower_gs: use common nir_verts_in_output_prim
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
ea209c98fc
agx/nir_lower_gs: drop silly fwd decl
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
ba9f86df51
agx/nir_lower_gs: privatize lower_output_to_var_state
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
d42a92fd93
agx/nir_lower_gs: clean up more state->info
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
470f226ed8
agx/nir_lower_gs: remove silly comment
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
1017095c5a
agx/nir_lower_gs: clean up state/info duplication
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
753e3ba55b
asahi,hk: use indirect-local dispatches for GS
...
this gets us good workgroup sizes even for indirect draws with GS.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
70c805d863
hk: bump wg sizes for geometry shader
...
match GL driver, should help perf.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
164fc8a158
agx/nir_lower_gs: clean comment
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
b9b6828fda
agx/nir_lower_gs: optimize static topologies
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
3da8939197
libagx: factor out _libagx_end_primitive
...
so we can use from the cpu.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
d2cc7f38d3
asahi: optimize out empty dispatches
...
this occurs with GS lowering.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
b916c38c76
hk: optimize out empty dispatches
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
f6ee36a437
agx: add agx_is_shader_empty helper
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Alyssa Rosenzweig
f1aeb46a34
nir: factor out nir_verts_in_output_prim helper
...
very useful for geometry shader lowering code.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638 >
2025-04-22 12:47:54 +00:00
Vignesh Raman
6c33b1e8c1
ci: replace s3_upload wrapper with ci-fairy s3cp
...
Now that ci-fairy s3cp works, replace the s3_upload curl wrapper with
ci-fairy s3cp command.
Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34550 >
2025-04-22 11:17:16 +00:00
Vignesh Raman
4b3b3d4c70
ci: use MESA_TEMPLATES_COMMIT for ci-fairy install
...
Use MESA_TEMPLATES_COMMIT instead of hard-coding the commit hash in
pip install ci-fairy.
Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34550 >
2025-04-22 11:17:16 +00:00
Vignesh Raman
c4aeef02e2
ci: bump ci-templates
...
This is required for ci-fairy s3cp to work.
Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34550 >
2025-04-22 11:17:16 +00:00
Jayanth Vutukuri
ba64e92641
Add libzstd static library.
...
From AOSP 15, getting linking error as
"ld.lld: error: undefined symbol: ZSTD_*" during compilation.
libzstd will link as static library to libelf and this libelf
is being included in mesa3d.
https://android-review.googlesource.com/c/platform/external/elfutils/+/2826411
is the patch from AOSP which is causing build issue.
Signed-off-by: Jayanth Vutukuri <Jayanth.Vutukuri@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34522 >
2025-04-22 11:08:10 +00:00
Boris Brezillon
de78a75f13
panvk: Set .pushDescriptor=true
...
We already claim support for VK_KHR_push_descriptor, so we de-facto
support pushDescriptor.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <benjamin.lee@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34640 >
2025-04-22 09:09:57 +02:00
Boris Brezillon
5b7e5db149
panvk: Advertise support for VK_EXT_vertex_input_dynamic_state
...
This is already supported, nothing to do here.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <benjamin.lee@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34640 >
2025-04-22 09:09:48 +02:00
Yinjie Yao
2b5ca87927
gallium/pipe: Increase hevc max slice to 600
...
According to the spec, increase max supported slices of hevc to 600.
Cc: mesa-stable
Signed-off-by: Yinjie Yao <yinjie.yao@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34632 >
2025-04-22 06:14:21 +00:00
Mel Henning
0f65c858ea
nak: Add test for lea disasm.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34334 >
2025-04-21 23:42:55 +00:00
Mel Henning
5f5cb088a9
nak: Disable cbuf textures on blackwell
...
There are bound texture forms on blackwell, but they don't correspond
directly to the cbuf textures we have on sm70. Switch to only bindless
for now.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34334 >
2025-04-21 23:42:55 +00:00
Mel Henning
fd90b072f1
nak: sm100+ texture encodings
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34334 >
2025-04-21 23:42:55 +00:00
Mel Henning
f70b7d10c2
nak: Fix sm90+ atomg/redg encoding
...
and add a test for ld, st, atom
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34334 >
2025-04-21 23:42:55 +00:00
Mel Henning
869452aaf0
nak: Remove range parameter from set_atom_type
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34334 >
2025-04-21 23:42:55 +00:00
Mel Henning
2b82184250
nak: Add nvdisasm_tests
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34334 >
2025-04-21 23:42:55 +00:00
Mel Henning
d31172d092
nvk: Remove dead function nvk_meta_init_render
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34644 >
2025-04-21 22:23:33 +00:00
Mel Henning
2fc4c98aaf
nvk: Override render enable for blits and resolves
...
Fixes cts tests:
dEQP-VK.conditional_rendering.conditional_ignore.blit_image
dEQP-VK.conditional_rendering.conditional_ignore.blit_image_inverted
dEQP-VK.conditional_rendering.conditional_ignore.resolve_image
dEQP-VK.conditional_rendering.conditional_ignore.resolve_image_inverted
which were introduced in vk-gl-cts commit 4aa277c300
Fixes: 32f2317223 ("nvk: Use meta for doing blits with the 3D hardware")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34644 >
2025-04-21 22:23:33 +00:00
Mel Henning
52085f2a0e
nvk: SET_STATISTICS_COUNTER at start of meta_begin
...
Ideally, begin/end should be roughly symmetric - the initialization
order should be the reverse of the teardown order.
Fixes: 6f85e6b06b ("nvk: Disable statistics around meta ops")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34644 >
2025-04-21 22:23:33 +00:00
Lina Versace
1bf8542490
anv: Enable VK_EXT_external_memory_acquire_unmodified
...
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Change-Id: If0480721f7f1fceec093e4ab7b5c9b712eb62ba1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32295 >
2025-04-21 13:55:32 -07:00
Lina Versace
3613b9c4f7
anv: Fix comment about external queue transitions
...
Not all images with DRM format modifiers use
ANV_IMAGE_MEMORY_BINDING_PRIVATE.
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Change-Id: Idc6bae70ec7080f96555a85dcdc0ead915b02935
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32295 >
2025-04-21 13:55:27 -07:00
Lina Versace
e87a04c6c1
anv: Assert that only external images have private bindings
...
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Change-Id: If2f18d88d48f70a58e236080632e72afb94f5e0b
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32295 >
2025-04-21 13:55:08 -07:00
Sagar Ghuge
0463e14b94
anv: Enable 64bit memory structure mode for RT
...
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Kevin Chuang <kaiwenjon23@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33047 >
2025-04-21 20:10:45 +00:00
Kevin Chuang
703f29874b
intel/bvh/debug: Adapt instance leaf dumping to support 64-bit RT
...
Adding a boolean "enable_64b_rt" in anv_accel_struct_header for the
interpret.py to properly decode anv_instance_leaf
Signed-off-by: Kevin Chuang <kaiwenjon23@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33047 >
2025-04-21 20:10:45 +00:00
Kevin Chuang
cbc8af4555
intel/bvh: Compile and adapt bvh shaders separately into Xe1/2 and Xe3+
...
This change separate the encode, header, and copy shader into versions
for Xe1/2 and Xe3+, including adding compile options and handling 64bit
version of instance leaf for Xe3+.
Signed-off-by: Kevin Chuang <kaiwenjon23@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33047 >
2025-04-21 20:10:45 +00:00
Sagar Ghuge
36433e932b
intel/rt: Update BVH instance leaf load for Xe3+
...
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Kevin Chuang <kaiwenjon23@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33047 >
2025-04-21 20:10:45 +00:00
Sagar Ghuge
5cd0f4ba2f
intel/compiler: Update MemRay data structure to 64-bit
...
Rework: (Kevin)
- Fix miss_shader_index offset
- Handle hit group index
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Kevin Chuang <kaiwenjon23@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33047 >
2025-04-21 20:10:45 +00:00
Kevin Chuang
7b526de18f
intel/compiler/rt: Calculate barycentrics on demand
...
This commit moves the calculation of tri_bary out of
brw_nir_rt_load_mem_hit_from_addr(), and only do the calculation on
demand, since unorm_float_convert can be expensive. We do this for both
Xe1/2 and Xe3+ for consistency.
Signed-off-by: Kevin Chuang <kaiwenjon23@gmail.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33047 >
2025-04-21 20:10:45 +00:00
Sagar Ghuge
afc23dffa4
intel/compiler: Update MemHit data structure to 64-bit version
...
Rework (Kevin):
- Fix inst leaf ptr
- Handle 24bit unorm barycentric coord
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Kevin Chuang <kaiwenjon23@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33047 >
2025-04-21 20:10:45 +00:00
Kevin Chuang
40fb95d51a
intel/compiler: Use 24bits for hit_kind on Xe3+
...
For Xe3+, the upper 8 bits of the second dword of a potential hit is
used to store hitGroupIndex0, which is stuffed by the HW. This
hitGroupIndex0 will later be used by the HW again to reconstruct the
whole hitGroupIndex when driver issues a TRACE_RAY_COMMIT.
We were corrupting this hitGroupIndex0 at the driver by setting the
whole dword to hit_kind, which will cause the HW to read a wrong
hitGroupIndex and therefore invoke a wrong closest hit shader. The
behavior can be seen in
dEQP-VK.ray_tracing_pipeline.pipeline_no_null_shaders_flag.gpu.boxes.\*
and dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.\*
This commit changes the driver to only use lower 24bits to store the
hit_kind, and leave the upper 8bits as it.
Signed-off-by: Kevin Chuang <kaiwenjon23@gmail.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33047 >
2025-04-21 20:10:45 +00:00
Sagar Ghuge
64fd66407b
intel/compiler: Pass around intel_device_info parameter in helper
...
This will help us to handle code path separately for Xe3+ for updated
64bit memory data structure for RT.
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Kevin Chuang <kaiwenjon23@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33047 >
2025-04-21 20:10:45 +00:00
Sagar Ghuge
6deb1950a4
anv: Update RT dispatch globals to use 64bit data structure
...
Rework (Kevin)
- Fix Hit/Miss/Resume shader group table value
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Kevin Chuang <kaiwenjon23@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33047 >
2025-04-21 20:10:45 +00:00
Sagar Ghuge
fcd5fe4a75
intel/genxml/xe3: Update 3STATE_BTD field
...
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Kevin Chuang <kaiwenjon23@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33047 >
2025-04-21 20:10:45 +00:00
Mary Guillemard
92afeb37bf
panfrost: Take tiler memory budget into account in pan_select_tiler_hierarchy_mask
...
On v12+, the hardware report support for 8 levels but
effectively only support up to 4 levels.
In case more than 4 levels are used, it will default to 0xAA when
tile_size is 32x32 or lower, otherwise 0xAC when the tile_size is greater than 32x32.
This patch makes it that we now ensure that the bins can fit inside out
tiler budget and otherwise drop levels until it fit.
This also allows the hardware to decide the hierarchy on v12+
if we know it will fit.
This fixes "dEQP-GLES31.functional.fbo.no_attachments.maximums.all" and
dEQP-GLES31.functional.fbo.no_attachments.maximums.size" on v12+ but
also likely more if we were exhausting the memory budget.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Backport-to: 25.1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34559 >
2025-04-21 19:55:59 +02:00
Eric Engestrom
c643f62633
ci: bump to fedora 42
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34626 >
2025-04-21 16:05:11 +00:00
Eric Engestrom
2bcb55f3f6
aco: help clang 20 do some additions and subtractions
...
clang 20 complains:
../src/amd/compiler/aco_assembler.cpp:837:28: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=]
837 | vaddr[num_vaddr + i] = reg(ctx, instr->operands.back(), 8) + i + 1;
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/amd/compiler/aco_assembler.cpp:832:12: note: at offset 5 into destination object ‘vaddr’ of size 5
832 | uint8_t vaddr[5] = {0, 0, 0, 0, 0};
| ^~~~~
../src/amd/compiler/aco_assembler.cpp:837:28: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=]
837 | vaddr[num_vaddr + i] = reg(ctx, instr->operands.back(), 8) + i + 1;
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/amd/compiler/aco_assembler.cpp:832:12: note: at offset 6 into destination object ‘vaddr’ of size 5
832 | uint8_t vaddr[5] = {0, 0, 0, 0, 0};
| ^~~~~
../src/amd/compiler/aco_assembler.cpp:837:28: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=]
837 | vaddr[num_vaddr + i] = reg(ctx, instr->operands.back(), 8) + i + 1;
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/amd/compiler/aco_assembler.cpp:832:12: note: at offset 7 into destination object ‘vaddr’ of size 5
832 | uint8_t vaddr[5] = {0, 0, 0, 0, 0};
| ^~~~~
But `i < MIN2(instr->operands.back().size() - 1, 5 - num_vaddr)` means `i` is
at most `5 - num_vaddr - 1`, which means `vaddr[num_vaddr + i]` =>
`vaddr[num_vaddr + 5 - num_vaddr - 1]` => `vaddr[5 - 1]` => `vaddr[4]` which
is within the valid indices.
For some reason, using signed `int` instead allows clang to figure this
out, so let's do that since we don't need the extra range.
While at it, use ARRAY_SIZE(vaddr) instead of hard-coding the same `5`
in several places.
Backport-to: 25.0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34625 >
2025-04-21 15:16:02 +00:00
Eric Engestrom
b59b53e824
ci: uprev vkd3d-proton
...
078f07f588...7eef0a64e3
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34356 >
2025-04-21 11:50:57 +00:00
Eric Engestrom
55199d988a
turnip/ci: drop skip of test_vrs_depth_write_dxbc as it no longer hangs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34356 >
2025-04-21 11:50:57 +00:00
Eric Engestrom
fec01a11d4
ci/vkd3d: drop unused 32-bit build
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34356 >
2025-04-21 11:50:57 +00:00
David Rosca
5ccf28ce1b
radeonsi/uvd_enc: Move all code to radeon_uvd_enc.c
...
Also get rid of function pointers.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34450 >
2025-04-21 10:43:04 +00:00
David Rosca
d9f214001b
radeonsi/vce: Move all code to radeon_vce.c
...
Also get rid of function pointers and remove dump_feedback.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34450 >
2025-04-21 10:43:03 +00:00
David Rosca
b0b52d4922
radeonsi/vcn: Fix decode target index for H264 interlaced streams
...
With H264 the target surface can also be in the reference list for
current frame, so it can only be inserted into the DPB list after
iterating over all references.
Fixes: 0e68a2655f ("radeonsi/vcn: Rework decode ref handling")
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34527 >
2025-04-21 10:00:29 +00:00
Job Noorman
bde3ab4cd3
ir3/isa: add nop encoding for bary.f/flat.b
...
We already use it in legalize but the disassembler didn't display it
yet.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34618 >
2025-04-21 08:20:49 +00:00
Faith Ekstrand
cd953a7dfa
nak/sm20: Use the immediates instead of rZ in OpShfl
...
For some reason, shfl doesn't seem to like rZ. I have no idea why but
shfl.up pt, r5, r5, r3, 0x0
works fine but
shfl.up pt, r5, r5, r3, rz
does not. Fortunately, this is pretty easy to handle in the generator
by just using `as_u32()` instead of the AluSrc hack I did before.
Fixes: 608eef01d6 ("nak/sm20: Add subgroup ops")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34624 >
2025-04-20 13:43:24 -05:00
Faith Ekstrand
0b8359e159
nak/sm20: Fix legalization of float source types
...
Fixes: 142fb563c4 ("nak/sm20: Improve folding of ffma and dfma")
Fixes: a3330f1d46 ("nak/sm20: Add float ops")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34622 >
2025-04-20 09:45:43 -05:00
Faith Ekstrand
a2caf95c50
nak: Handle OpFRnd in is_fp64()
...
Fixes: b27fc463da ("nak: Record and set DOES_FP64 in the SPH")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34622 >
2025-04-20 09:45:43 -05:00
Marek Olšák
4a51089f30
radv: fix incorrect patch_outputs_read for TCS with dynamic state
...
Fixes: 8c2f9f0665 - radv: switch to the new TCS LDS/offchip size computation
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544 >
2025-04-19 22:55:00 -04:00
Marek Olšák
2948f7ce96
ac/gpu_info: rename tess ring variables, fold double_offchip_wg
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544 >
2025-04-19 22:55:00 -04:00
Marek Olšák
d2e016c37d
ac/nir: don't store tess levels for TES in TCS if no_varying is set
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544 >
2025-04-19 22:55:00 -04:00
Marek Olšák
be8977811b
ac/nir: remove shader_info parameter from ac_nir_compute_tess_wg_info
...
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/34544 >
2025-04-19 22:55:00 -04:00
Marek Olšák
6d9e708642
ac/gpu_info: reduce the tess offchip ring size and compute it proportionately
...
.. to the CU count. We allocated too much.
This reduces the tess offchip ring size as follows (examples):
- GFX11-12:
- Navi31, Navi33, and Navi48 get 75% decrease.
- Navi32 gets 68.75% decrease.
- Phoenix gets 81.25% decrease.
- Phoenix2 gets 93.75% decrease.
- GFX10.3:
- Navi21 and Navi22 get 37.5% decrease.
- Navi23 and Navi24 get 50% decrease.
- Rembrandt gets 62.5% decrease.
- VanGogh gets 75% decrease.
- Raphael gets 93.75% decrease.
- GFX8-9:
- Vega10 gets 0% decrease.
- Vega20 gets 49.6% decrease.
- Raven gets 65.3% decrease.
- Raven2 gets 93.7% decrease.
- Stoney gets 81% decrease.
No difference in performance was measured.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544 >
2025-04-19 22:55:00 -04:00
Marek Olšák
9333c0a1ed
ac/gpu_info: compute the tess factor ring size proportionately to the CU count
...
No change in the size on GPUs with 16 CUs per SE such as Navi31 and Navi48.
Navi21 and Navi32 get 25% increase. (20 CUs per SE)
APUs get a significant decrease. For example:
- Phoenix gets 25% decrease
- Vangogh gets 50% decrease
- Phoenix2 gets 75% decrease
- Raphael and Stoney get 87.5% decrease
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544 >
2025-04-19 22:55:00 -04:00
Marek Olšák
5fb2de9454
ac/nir: don't include TCS offchip size in LDS_SIZE
...
This drastically reduces LDS usage for TCS.
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/34544 >
2025-04-19 22:55:00 -04:00
Marek Olšák
b8f2fb81f6
ac/gpu_info: print tessellation ring info
...
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/34544 >
2025-04-19 22:55:00 -04:00
Marek Olšák
b8d15fee3d
ac: minor cleanup of ac_compute_num_tess_patches
...
No change in behavior.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544 >
2025-04-19 22:55:00 -04:00
Marek Olšák
a905a17f39
ac: use HS offchip wg size from radeon_info in ac_compute_num_tess_patches
...
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/34544 >
2025-04-19 22:55:00 -04:00
Marek Olšák
d82eda72a1
ac/gpu_info: move HS info into radeon_info
...
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/34544 >
2025-04-19 22:55:00 -04:00
Marek Olšák
ea294349bd
radv: move the tess factor ring after the tess offchip ring
...
to match radeonsi
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544 >
2025-04-19 22:54:59 -04:00
Marek Olšák
c057d9105f
ac/gpu_info: add total_tess_ring_size
...
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/34544 >
2025-04-19 22:54:59 -04:00
Marek Olšák
97119d980c
ac/gpu_info: clean up ac_get_hs_info, use standard terms like workgroup
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544 >
2025-04-19 22:54:59 -04:00
Pierre-Eric Pelloux-Prayer
ac6351fd23
radeonsi/tests: use proper skip file
...
gbm-skips.txt has been renamed all-skips.txt in f9564e1754
("ci/piglit: Consolidate identical skip lists for X11 and gbm")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544 >
2025-04-19 22:54:59 -04:00
Janne Grunau
3d3ca9b65e
venus: virtgpu: Require stable wire format
...
When VMMs do not support VIRTGPU_DRM_CAPSET_VENUS the capset data
remains zeroed. By requiring the stable wire_format_version 1 this can
be detected early without initialising the renderer.
Avoids triggering `assert(capset->supports_blob_id_0);` in debug builds
under such circumstances.
Cc: mesa-stable
Signed-off-by: Janne Grunau <j@jannau.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34613 >
2025-04-19 21:02:17 +00:00
Yiwei Zhang
2a4675ee9f
venus: fix missing renderer destructions
...
With failed compatibility check, the created renderer must be destroyed
within vn_instance_init_renderer.
Cc: mesa-stable
Fixes: 25b8f4f714 ("venus: handle device probing properly.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34613 >
2025-04-19 21:02:17 +00:00
Janne Grunau
39e4fd98ce
venus: Do not use instance pointer before NULL check
...
Fixes: a753f50668 ("venus: break up vn_device.c")
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Signed-off-by: Janne Grunau <j@jannau.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34613 >
2025-04-19 21:02:17 +00:00
Faith Ekstrand
7d3a99a46c
nak/sm20: Use the correct index field for OpS2R
...
It's 10 bits, not 6.
Fixes: 078ffb860b ("nak/sm20: Add initial SM20 encoding")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34619 >
2025-04-19 14:58:35 -05:00
Lorenzo Rossi
4d8d6a28c8
nak: Use s2r for SV_CLOCK on Kepler
...
cs2r is new starting with Maxwell. Prior to that we need to use s2r
which still works just fine, it's just slower.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34619 >
2025-04-19 14:58:35 -05:00
Faith Ekstrand
142fb563c4
nak/sm20: Improve folding of ffma and dfma
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34619 >
2025-04-19 11:06:19 -05:00
David Heidelberg
9855467ed0
docs: Rename distro to distribution
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32880 >
2025-04-19 15:52:17 +02:00
David Heidelberg
5251c82404
docs: Drop distro unmaintained and deprecated file.
...
Pretty much useless.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32880 >
2025-04-19 15:52:12 +02:00
Sushma Venkatesh Reddy
4084527876
intel/compiler: Always run opt_algebraic after descriptor_lowering
...
This change ensures that `brw_opt_algebraic` is always executed after
`brw_lower_send_descriptors` in `brw_opt.cpp`. By doing so, redundant
logical operations are optimized, resulting in cleaner and more
compact assembly output.
fossil-db results on LNL:
- Totals:
- Instructions: 215857290 -> 215857028 (-0.00%)
- Cycle count: 32008929636 -> 32008935384 (+0.00%); split: -0.00%, +0.00%
- Max live registers: 66940643 -> 66940557 (-0.00%)
- Affected shaders (104 out of 713963):
- Instructions: 31090 -> 30828 (-0.84%)
- Cycle count: 5955908 -> 5961656 (+0.10%); split: -0.16%, +0.26%
- Max live registers: 10888 -> 10802 (-0.79%)
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34615 >
2025-04-19 07:05:54 +00:00
Faith Ekstrand
c0f56fc64c
nvk: Return an error for Kepler storage images instead of asserting
...
This lets us fail without restarting dEQP, making CTS runs faster.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34616 >
2025-04-19 03:40:08 +00:00
Faith Ekstrand
f6b9d13a15
nak/sm20: Implement OpBar
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34616 >
2025-04-19 03:40:08 +00:00
Faith Ekstrand
8401a60840
nak/sm20: Add double ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34616 >
2025-04-19 03:40:08 +00:00
Faith Ekstrand
608eef01d6
nak/sm20: Add subgroup ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34616 >
2025-04-19 03:40:08 +00:00
Faith Ekstrand
5a140e7c3e
nak/sm20: Add more memory ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34616 >
2025-04-19 03:40:08 +00:00
Arunpravin Paneer Selvam
84f18f31ad
amdgpu: Add queue id support to the user queue wait IOCTL
...
Add queue id support to the user queue wait IOCTL
drm_amdgpu_userq_wait structure.
This is required to retrieve the wait user queue and maintain
the fence driver references in it so that the user queue in
the same context releases their reference to the fence drivers
at some point before queue destruction.
Otherwise, we would gather those references until we
don't have any more space left and crash.
Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com >
Suggested-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34493 >
2025-04-18 21:55:53 +00:00
Iván Briano
949d2e507d
anv: expose promoted KHR_depth_clamp_zero_one
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34614 >
2025-04-18 21:31:37 +00:00
Lorenzo Rossi
ddbf2ec883
nak: Add a new OpFSwz and use it for derivatives on Kepler
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540 >
2025-04-18 19:30:41 +00:00
Faith Ekstrand
309c48cbb7
nak/sm20: Add texture ops
...
The current NIR lowering is good for at least SM30+. When someone
decides to enable Fermi, we'll have to add lowering for it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540 >
2025-04-18 19:30:41 +00:00
Faith Ekstrand
8d41221158
nak/nir: Use Kepler texture source ordering on SM30
...
SM30 (i.e. Kepler A) has Fermi's instruction encoding but it uses the
same texture source ordering as Kepler B. It also supports bindless,
unlike Fermi.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540 >
2025-04-18 19:30:41 +00:00
Lorenzo Rossi
b8c7d937fe
nak: Add OpTexDepBar
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540 >
2025-04-18 19:30:41 +00:00
Faith Ekstrand
043995220a
nak/sm20: Add control-flow ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540 >
2025-04-18 19:30:41 +00:00
Faith Ekstrand
9a62a76c46
nak/sm20: Add shader I/O ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540 >
2025-04-18 19:30:41 +00:00
Faith Ekstrand
bdbe6447ed
nak/nir: Use Maxwell input interpolation for SM20+
...
It appears to be the same at least as far back as Kepler A.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540 >
2025-04-18 19:30:41 +00:00
Faith Ekstrand
0105a75c53
nak/sm20: Add conversion ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540 >
2025-04-18 19:30:41 +00:00
Faith Ekstrand
b27fc463da
nak: Record and set DOES_FP64 in the SPH
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540 >
2025-04-18 19:30:41 +00:00
Faith Ekstrand
d249e7ddac
nak: Lower 64-bit shifts in NIR on Kepler A and earlier
...
SHF is introduced on Kepler B. Without it, there's nothing we can do
that's more efficient than NIR's lowering.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540 >
2025-04-18 19:30:41 +00:00
Faith Ekstrand
9fbf63b584
nak/sm20: Add integer ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540 >
2025-04-18 19:30:41 +00:00
Faith Ekstrand
a3330f1d46
nak/sm20: Add float ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540 >
2025-04-18 19:30:41 +00:00
Faith Ekstrand
078ffb860b
nak/sm20: Add initial SM20 encoding
...
This is enough to get all the hardware unit tests passing and run
dEQP-VK.api.smoke.triangle.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540 >
2025-04-18 19:30:41 +00:00
Alyssa Rosenzweig
84505c5d99
asahi: fix possible null deref
...
with indirect non-indexed draws.
Backport-to: 25.1
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34612 >
2025-04-18 18:34:55 +00:00
Alyssa Rosenzweig
b756e7da65
agx: delete more inots
...
noticed in dEQP-GLES31.functional.geometry_shading.input.basic_primitive.triangles
total instrs in shared programs: 2852257 -> 2850958 (-0.05%)
instrs in affected programs: 291488 -> 290189 (-0.45%)
total alu in shared programs: 2335534 -> 2334236 (-0.06%)
alu in affected programs: 236924 -> 235626 (-0.55%)
total fscib in shared programs: 2333895 -> 2332597 (-0.06%)
fscib in affected programs: 236924 -> 235626 (-0.55%)
total code size in shared programs: 20529508 -> 20520338 (-0.04%)
code size in affected programs: 2074254 -> 2065084 (-0.44%)
total gprs in shared programs: 901327 -> 901307 (<.01%)
gprs in affected programs: 756 -> 736 (-2.65%)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34612 >
2025-04-18 18:34:55 +00:00
Alyssa Rosenzweig
e541ffcbe8
hk: fix patch count = 0 handling
...
fixes fault in dEQP-VK.tessellation.misc_draw.triangles_no_patches
Backport-to: 25.1
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34612 >
2025-04-18 18:34:55 +00:00
Daniel Lang
21b12b540f
etnaviv: hwdb: update gc_feature_database from NXP
...
Updates the existing gc_feature_database.h file with changes from
https://github.com/nxp-imx/linux-imx/blob/lf-6.12.y/drivers/mxc/gpu-viv/hal/kernel/inc/gc_feature_database.h
git commit: 1bb08951917684136bf0c61ce7391902b2d6518b
Removed fields:
- NN_ZDP18
- NN_TP_SYSTEM_FIX
- DPP_SUPPORT_REF_OUTPUT_CROPING
- RGB_TO_RAW
Renamed fields:
- SHADER_TRIGGER_NN -> TC_SHADER_TRIGGER_NN
Signed-off-by: Daniel Lang <dalang@gmx.at >
Acked-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34608 >
2025-04-18 19:07:52 +02:00
Daniel Lang
d7c957c474
etnaviv: hwdb: update gc_feature_database from ST
...
Updates the existing gc_feature_database.h file with changes from
https://github.com/STMicroelectronics/gcnano-binaries/blob/gcnano-6.4.19-binaries/gcnano-driver-stm32mp/hal/kernel/inc/gc_feature_database.h
git commit: 359d5007ef19575f6b8ca3071cf90d3848778ae7
Removed fields:
- NN_TP_SYSTEM_FIX
- NN_ZDP18
- NN_FP8
New entry for CNANOULTRA31_VIP2 (GC8000 rev 6205) with EcoID set to 1.
Signed-off-by: Daniel Lang <dalang@gmx.at >
Acked-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34608 >
2025-04-18 19:07:20 +02:00
Job Noorman
e7c6037d12
ir3: use opt_shrink_vectors
...
This is useful to remove unused components from IO loads. This is not
only helpful for reducing the size of memory loads, but also for reducing
register pressure (as we need smaller vector registers).
Totals from 55567 (33.76% of 164575) affected shaders:
MaxWaves: 665780 -> 666690 (+0.14%); split: +0.15%, -0.01%
Instrs: 30850106 -> 30825516 (-0.08%); split: -0.33%, +0.25%
CodeSize: 62502952 -> 62336580 (-0.27%); split: -0.42%, +0.15%
NOPs: 5468972 -> 5463654 (-0.10%); split: -1.39%, +1.30%
MOVs: 1078607 -> 1060627 (-1.67%); split: -3.48%, +1.81%
Full: 807907 -> 805134 (-0.34%); split: -0.49%, +0.15%
(ss): 755846 -> 747963 (-1.04%); split: -2.51%, +1.46%
(sy): 367032 -> 363947 (-0.84%); split: -1.88%, +1.04%
(ss)-stall: 2907874 -> 2900183 (-0.26%); split: -1.97%, +1.71%
(sy)-stall: 10812082 -> 10599944 (-1.96%); split: -3.43%, +1.47%
STPs: 23062 -> 22980 (-0.36%)
LDPs: 35076 -> 32286 (-7.95%)
Preamble Instrs: 6668422 -> 6612037 (-0.85%); split: -1.35%, +0.51%
Early Preamble: 36055 -> 36169 (+0.32%); split: +0.32%, -0.01%
Cat0: 6015654 -> 6009409 (-0.10%); split: -1.29%, +1.18%
Cat1: 1631110 -> 1610537 (-1.26%); split: -2.54%, +1.28%
Cat2: 11783599 -> 11783634 (+0.00%); split: -0.02%, +0.02%
Cat3: 8198147 -> 8198526 (+0.00%); split: -0.00%, +0.01%
Cat5: 968517 -> 967899 (-0.06%); split: -0.06%, +0.00%
Cat6: 349200 -> 351795 (+0.74%); split: -0.01%, +0.75%
Cat7: 1009072 -> 1008909 (-0.02%); split: -0.58%, +0.56%
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34600 >
2025-04-18 15:56:02 +00:00
Job Noorman
f269c7b3b5
nir/opt_shrink_vectors: enable for load_ubo_vec4
...
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34600 >
2025-04-18 15:56:02 +00:00
Samuel Pitoiset
792c30dd32
radv/meta: remove redundant parameter to blit_surf_for_image_level_layer()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34558 >
2025-04-18 17:21:24 +02:00
Samuel Pitoiset
a3f2c5f05e
radv/meta: remove unnecessary radv_meta_blit2d_buffer::bs
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34558 >
2025-04-18 17:21:24 +02:00
Samuel Pitoiset
78c2feed00
radv/meta: rename more buffer->memory for fill/copy/update operations
...
Recently, I renamed most of the helpers for future work but I forgot
few things like meta keys, etc.
This is for consistency.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34558 >
2025-04-18 17:21:24 +02:00
Samuel Pitoiset
43c8cb1ae2
radv/meta: remove unused functions/prototypes
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34558 >
2025-04-18 17:21:24 +02:00
Samuel Pitoiset
78f03dcf70
radv/meta: simplify dealing with image layouts for blits/resolves
...
This doesn't do anything useful.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34558 >
2025-04-18 17:21:24 +02:00
Alyssa Rosenzweig
0140b7ba57
agx: remove silly cls argument
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34595 >
2025-04-18 13:39:27 +00:00
Alyssa Rosenzweig
b1e86b3eae
agx: early-kill sources only if it won't shuffle
...
rather than always early killing and then hitting pathological shuffle
situations, only early-kill when we can prove that we won't need to shuffle. it
turns out that's most of the time.
even with this heuristic, we still get hurt bad in shader-db due to extra moves.
but hopefully, the #s here are small enough that we can move on with our lives
and fix this source of known unsoundness.
this is tagged for backport as it's needed to avoid a perf regression with the
previous patch.
combined stats from this commit and the previous commit:
total instrs in shared programs: 2846065 -> 2852257 (0.22%)
instrs in affected programs: 618734 -> 624926 (1.00%)
total alu in shared programs: 2329477 -> 2335534 (0.26%)
alu in affected programs: 508119 -> 514176 (1.19%)
total gprs in shared programs: 894762 -> 901327 (0.73%)
gprs in affected programs: 36946 -> 43511 (17.77%)
Backport-to: 25.1
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34595 >
2025-04-18 13:39:27 +00:00
Alyssa Rosenzweig
b88fe9b0c5
agx: late-kill sources
...
shader-db stats combined with next commit. this is the rip off the bandaid, next
is the optimize. split to enable bisecting.
the code we have to shuffle clobbered killed sources is broken and, after
thinking about that for a Long time, I don't see a reasonable way to fix it. But
if we late-kill sources - or model our calculations as-if we were late-killing
souces - we never have to shuffle onto a killed source and the problem goes away
entirely.
this is similar in spirit to what NAK does. it's not "optimal", but it's sane.
Backport-to: 25.1
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34595 >
2025-04-18 13:39:27 +00:00
Alyssa Rosenzweig
7fad96d194
agx: model sources as late-kill in demand calcs
...
This hurts us in two ways:
* slightly more spilling (not actually a big problem)
* slightly worse occupancy (the shaders that are "helped" here are from trying
less hard to fit at higher occupancy levels)
However, in exchange we get a LOT more flexibility in the RA.
total instrs in shared programs: 2847015 -> 2846065 (-0.03%)
instrs in affected programs: 84134 -> 83184 (-1.13%)
total alu in shared programs: 2330406 -> 2329477 (-0.04%)
alu in affected programs: 62305 -> 61376 (-1.49%)
total code size in shared programs: 20497326 -> 20491690 (-0.03%)
code size in affected programs: 586664 -> 581028 (-0.96%)
total gprs in shared programs: 894202 -> 894762 (0.06%)
gprs in affected programs: 8900 -> 9460 (6.29%)
total scratch in shared programs: 13292 -> 13304 (0.09%)
scratch in affected programs: 2924 -> 2936 (0.41%)
total threads in shared programs: 27819712 -> 27814272 (-0.02%)
threads in affected programs: 55296 -> 49856 (-9.84%)
total spills in shared programs: 907 -> 914 (0.77%)
spills in affected programs: 419 -> 426 (1.67%)
total fills in shared programs: 857 -> 862 (0.58%)
fills in affected programs: 389 -> 394 (1.29%)
Backport-to: 25.1
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34595 >
2025-04-18 13:39:27 +00:00
Danylo Piliaiev
cc7aa31b30
ir3,tu,freedreno: Allow more tex coord interpolations for prefetch
...
FS tex prefetch reads tex coords from r0.x, and it doesn't care
what interpolation they have. Thus we can allow all interpolations
which HLSQ_CONTROL_3_REG/HLSQ_CONTROL_4_REG support. Which would
be: (pixel, centroid, sample) x (nopersp, persp). So all but FLAT
are supported.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34422 >
2025-04-18 13:12:03 +00:00
Danylo Piliaiev
c4c7482a90
ir3: Move nir_intrinsic_barycentric_sysval to common ir3
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34422 >
2025-04-18 13:12:03 +00:00
Eric Engestrom
33caee7dfe
glx: drop dead GL_LIB_NAME define
...
Fixes: 5b89be3545 ("glx: Don't try to dlopen ourselves")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34602 >
2025-04-18 12:14:11 +00:00
Rohan Garg
a5033c54e7
anv: use the common function for detecting a mesh shader stage
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34604 >
2025-04-18 10:08:22 +00:00
Rohan Garg
9b477eea19
intel/compiler: use a immediate when doing the shift
...
We can pass immediates to SHL and don't need to allocate a separate
register here.
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34604 >
2025-04-18 10:08:22 +00:00
Yogesh Mohan Marimuthu
e63b24bee8
ac,radeonsi: clear_state is not supported in user queue
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34370 >
2025-04-18 07:45:33 +00:00
Yogesh Mohan Marimuthu
61fd80a42e
ac,winsys/amdgpu: get userq_ip_mask supported from kernel info ioctl
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34370 >
2025-04-18 07:45:33 +00:00
Yogesh Mohan Marimuthu
b9054115d4
amd: update amdgpu_drm.h for userq info
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34370 >
2025-04-18 07:45:33 +00:00
Adam Jackson
5b89be3545
glx: Don't try to dlopen ourselves
...
The intention here, long ago, was to ensure that any symbols the DRI
driver needed from libGL were available. We don't have this problem
anymore, libgallium does not import any symbols from the GLX frontend
(or any other one for that matter).
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30417 >
2025-04-18 07:14:56 +00:00
Adam Jackson
9a610c5ab9
loader: Use RTLD_LOCAL not RTLD_GLOBAL
...
The gallium driver does not expose any symbols that anybody else wants
to see. But if we load it with RTLD_GLOBAL that's what happens, along
with all the symbols in the libraries it depends on.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30417 >
2025-04-18 07:14:56 +00:00
Samuel Pitoiset
bc811a602e
radeonsi: fix configuring compute scratch
...
Missed the two different variables for graphics vs compute.
Fixes: e433a57650 ("ac,radeonsi: rework computing scratch wavesize and tmpring register")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34586 >
2025-04-18 06:50:16 +00:00
Valentine Burley
6b1f30f359
ci: Fix Android container structured tagging checks
...
Structured tagging is used to verify the checksum of the component we're
building. In Android's case, this is currently only used for ANGLE.
Move the build-time check to the debian/x86_64_test-android container,
where ANGLE is built.
Previously, having this definition in .android-variables meant that every
Android test job inherited the ANGLE_TAG variable, making it impossible to
use Mesa as the GLES driver in CI.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34572 >
2025-04-18 06:13:13 +00:00
Valentine Burley
b2490e5816
ci: Uncollapse yaml-toml-shell-py-test log sections
...
This job checks for errors in various scripts and files, so show its
output in the logs for easier debugging.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34572 >
2025-04-18 06:13:11 +00:00
Eric Engestrom
519e329cd6
ci: bump apitrace
...
More dlopen fixes for !30417 .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34599 >
2025-04-18 05:24:38 +00:00
Juston Li
762b749f9f
driconf: enable custom_border_colors_without_format for ANGLE-on-anv
...
custom_border_colors_without_format was disabled on android for anv to
add support for VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT.
See https://gitlab.freedesktop.org/mesa/mesa/-/issues/12511#note_2749432
ANGLE's vulkan backend needs custom_border_colors_without_format for
EXT_texture_border_clamp which is required for
GL_ANDROID_extension_pack_es31a so enable it when run under ANGLE which
doesn't utilize VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT.
Signed-off-by: Juston Li <justonli@google.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34490 >
2025-04-17 22:14:57 +00:00
GKraats
995dc61bf5
EGL: legacy-x11=dri2 should support hardware driver
...
Since MR !33891 EGL only supports a software driver (LLVM).
Routine dri3_x11_connect at
src/egl/drivers/dri2/platform_x11.c fails if DRI3 is not
available. So at that location variable *allow_dri2 should be set.
Looking at the major codition, we see it is not executed
if LIBGL_DRI3_DISABLE is set. In that case the hardware driver
is activated as desired. Previously this was not needed.
Also it is not practical, and not necessary.
I do not understand the major condition, so I did not change it.
This causes some duplicate coding.
Fixes: 323bad6b18 ("egl/x11: split out dri2 init entirely")
Signed-off-by: GKraats <vd.kraats@hccnet.nl >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34530 >
2025-04-17 21:37:58 +00:00
Konstantin Seurer
76031ba53d
radv: Optimize the gfx12 encode shader
...
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Konstantin Seurer
97f6287827
radv: Use the BVH8 format on GFX12
...
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Konstantin Seurer
95e7343a7d
radv/bvh: Add helpers for encoding
...
The build and update paths can use the same code.
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Konstantin Seurer
3af19f336c
radv/bvh: Document GFX12 BVH encoding
...
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Konstantin Seurer
2942e3affb
radv/rra: Set rra_accel_struct_header::rtip_level
...
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Konstantin Seurer
fa99eeb2b4
radv/rra: Move gfx10_3 specific code to a new file
...
gfx12 needs completely different code and having them in different files
is cleaner.
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Konstantin Seurer
9d157173b2
radv: Refactor create_bvh_descriptor
...
Make it a bit more extendable since GFX12 introduced more fields.
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Konstantin Seurer
978e9b670e
aco,nir: Add support for new GFX12 ray tracing instructions
...
Adds image_bvh_dual_intersect_ray and image_bvh8_intersect_ray which can
handle the new BVH format. Both instructions write up to 10 VGPRs so
they need to use a vec16 definition in nir.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Natalie Vock
ee0f784858
aco/ra: Don't consider precolored ops/defs in get_reg_impl
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Natalie Vock
b9e506afd4
aco: Add support for multiple definitions in emit_mimg
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Natalie Vock
f309d76aab
aco: Add support for multiple ops fixed to defs
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Konstantin Seurer
fe739a2da2
ac: Add rt_version
...
rt_version describes which generation of RT capabilities a chip has.
This matches what PAL does.
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Konstantin Seurer
c33e598f39
vulkan: Add vk_ir_header::dst_leaf_node_offset
...
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Konstantin Seurer
2dee1117b7
vulkan: Add a vk_device parameter to get_encode_key
...
Useful for selecting different encoding options based on hardware
generation.
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Konstantin Seurer
0cc9443e9b
util: Add BITSET_EXTRACT
...
Extracts a <=32 bit range from a bitset.
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34273 >
2025-04-17 20:20:40 +00:00
Eric Engestrom
c37a468a8a
pick-ui: make Backport-to: 25.0 backport to 25.0 *and more recent release branches*
...
It is what developers expect, so make the code match it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34580 >
2025-04-17 20:13:41 +00:00
Jesse Natalie
37e6a8b57f
d3d12: Minor fixes to residency algorithm when eviction is needed
...
Always reset batch_count and batch_memory_size. Proceed to eviction
only if we stopped before filling up the batch.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34562 >
2025-04-17 19:51:15 +00:00
Jesse Natalie
565980f3c0
d3d12: Add tc memory throttles
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34562 >
2025-04-17 19:51:15 +00:00
Caio Oliveira
43e521f7a5
hk: Don't expect garbage on shared_size
...
Talking to Alyssa this looks like an artifact of old ways that the
shader was being produced, so get rid of that zeroing. Add an
assert as a canary for any problems we might be missing.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34139 >
2025-04-17 19:13:18 +00:00
Caio Oliveira
33295b2249
spirv, nir: Allow non-Aliased workgroup memory blocks
...
Allocate space for the aliased region first, then allocate the
non-Aliased blocks in sequence after that.
SPV_KHR_workgroup_memory_explicit_layout extension added support for
having Blocks of workgroup (shared) memory, which include layout
decoration. For that extension all such blocks must be decorated with
Aliased.
SPV_KHR_untyped_pointers extension lifts that requirement, allowing
blocks that don't alias in workgroup memory. They are still explicitly
laid out.
The motivation is that untyped pointers provide a different
mechanism to obtain the same effect as the Aliased blocks. Instead of
having two Aliased variables with different types, have a single
variable and use an untyped pointer with a different type to access it.
This patch is a preparation for supporting untyped pointers.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34139 >
2025-04-17 19:13:18 +00:00
Caio Oliveira
fd0a7efb5a
spirv, nir: Delay calculation of shared_size when using explicit layout
...
Move the calculation to nir_lower_vars_to_explicit_types(). This
consolidates the check of shader_info::shared_memory_explicit_layout
in a single place instead of in all drivers.
This is motivated by SPV_KHR_untyped_pointers. Before that extension
we had essentially two modes for shared memory variables
- No layout decorations in the SPIR-V, and both internal layout and
driver location was _given by the driver_.
- Explicitly laid out, i.e. they are blocks, and decorated with Aliased.
Because they all alias, we could assign them driver location directly
to the start of the shared memory.
With the untyped pointers extension, there's a third option, to be added
by a later commit
- Explicitly laid out, i.e. they are blocks, and NOT decorated
with Aliased. Driver location is _given by the driver_. Blocks
with and without Aliased can be mixed.
The driver location of multiple blocks that don't alias depend on
alignment that is driver-specific, which we can more easily do from
the nir_lower_vars_to_explicit_types() that already has access to
a function to obtain such value.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io > (hk)
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com > (v3dv)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com > (anv/hasvk)
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com > (panvk)
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com > (radv)
Reviewed-by: Rob Clark <robdclark@gmail.com > (tu)
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34139 >
2025-04-17 19:13:17 +00:00
Eric Engestrom
adfe29cb46
ci: give high priority to post-merge jobs as well
...
Right now, `deploy-docs` (updating the docs.mesa3d.org website) is the
only job that can exist in that pipeline (along with `alpine/x86_64_build`,
but that job is always a no-op).
Right now this job can get stuck for a long time waiting for a runner,
but it's very short, and we kinda want the website to be updated quickly.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34554 >
2025-04-17 18:39:34 +00:00
José Roberto de Souza
a96e280dfe
intel: Program XY_FAST_COLOR_BLT::Destination Mocs for gfx12
...
Copy engine is not used in gfx12 platforms on ANV but that is possible
in Iris.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34560 >
2025-04-17 18:11:44 +00:00
Alyssa Rosenzweig
8b068ef6c1
hk: handle HIC with twiddled
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:06 +00:00
Alyssa Rosenzweig
88bdc27342
asahi: let booleans be your guide
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:06 +00:00
Alyssa Rosenzweig
551355d4e5
asahi,hk: factor out zls_control pack helper
...
makes both drivers a lot more readable, but especially gl
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:06 +00:00
Alyssa Rosenzweig
3a560dd32b
asahi: identify ZLS compress load/store bits
...
obvious in retrospect!
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:06 +00:00
Alyssa Rosenzweig
9757185153
hk: plumb ZLS tiling
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:06 +00:00
Alyssa Rosenzweig
454a90eaa8
asahi: plumb ZLS tiling bits
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:06 +00:00
Alyssa Rosenzweig
715f6b3b33
asahi: identify ZLS tiling bits
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:06 +00:00
Alyssa Rosenzweig
0dca602aff
asahi: generalize compression check
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:06 +00:00
Alyssa Rosenzweig
72f3dcc8da
asahi: generalize tiling checks
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:06 +00:00
Alyssa Rosenzweig
c4130af883
asahi: extend tile width/height in texture desc
...
we need to support up to 16384x16384 for atomics on twiddled images.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:06 +00:00
Alyssa Rosenzweig
f21dc4d0cf
asahi: pack sample count in s/w texture descriptor
...
not needed for non-msaa case, and this lets us free up 2 bits.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:06 +00:00
Alyssa Rosenzweig
8f57b5187f
ail: support twiddled
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:05 +00:00
Alyssa Rosenzweig
6fdad684da
ail: generalize ail_space_bits
...
for full twiddling.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:05 +00:00
Alyssa Rosenzweig
e5006dc6ae
hk: fill sparse.write with nonzero values
...
fuzz for bugs.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:05 +00:00
Alyssa Rosenzweig
ffac153bcf
hk: reindent/unscope
...
no functional change, split because the diff is all spacing changes.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:05 +00:00
Alyssa Rosenzweig
86d3489c35
hk: drop FS null checks
...
these are all dead now.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:05 +00:00
Alyssa Rosenzweig
3ab8ce8579
hk: fix null FS corner cases
...
this fixes null FS + cull distance/API sample mask, which require a prolog.
fixes upcoming CTS.
Backport-to: 25.1
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:05 +00:00
Alyssa Rosenzweig
d959557669
hk: fix tessellation + clipper queries
...
fixes upcoming cts
Backport-to: 25.1
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34585 >
2025-04-17 17:54:05 +00:00
Rhys Perry
427479c040
aco: remove va_vdst/vm_vsrc/sa_sdst variables
...
Use the "wait" variable instead.
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/34529 >
2025-04-17 17:28:22 +00:00
Rhys Perry
3d6fa6996c
aco: init vm_vsrc/sa_sdst from depctr_wait
...
fossil-db (navi31):
Totals from 5805 (7.31% of 79377) affected shaders:
Instrs: 14229621 -> 14207115 (-0.16%); split: -0.16%, +0.00%
CodeSize: 75358724 -> 75268624 (-0.12%); split: -0.12%, +0.00%
Latency: 133637034 -> 133624262 (-0.01%); split: -0.01%, +0.00%
InvThroughput: 22067819 -> 22066213 (-0.01%); split: -0.01%, +0.00%
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/34529 >
2025-04-17 17:28:22 +00:00
Rhys Perry
ce2be5ab8e
aco: combine VALU lanemask hazard into VALUMaskWriteHazard
...
This is now basically the same as the original VALUMaskWriteHazard, except
it now considers both VALU and SALU writes.
Now that it's a part of VALUMaskWriteHazard, differences from the original
VALU lanemask workaround are:
- it includes SALU reads after the write
- it includes VALU writes and SALU/VALU reads after the write which are
not lanemasks
- it combines s_waitcnt_depctr instructions when it's a read after both a
SALU write and a VALU write
- non-exec VALU SGPR reads reset the SGPRs read by VALU as a lanemask
- exec SGPRs are ignored
resolve_all_gfx11() is also finished.
fossil-db (navi31):
Totals from 21538 (27.13% of 79377) affected shaders:
Instrs: 27628855 -> 27552972 (-0.27%); split: -0.30%, +0.03%
CodeSize: 145968448 -> 145667616 (-0.21%); split: -0.23%, +0.02%
Latency: 209537805 -> 209509519 (-0.01%); split: -0.02%, +0.00%
InvThroughput: 36304270 -> 36301624 (-0.01%); split: -0.01%, +0.00%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12623
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11480
Backport-to: 25.0
Backport-to: 25.1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34529 >
2025-04-17 17:28:22 +00:00
Mel Henning
eee3c8eab8
nak: Handle idp4 ureg latencies
...
Fixes: 6b8a4e6bb7 ("nak: Add Turing latency information")
Fixes: 7a01953a39 ("nak: Add Ampere and Ada latency information")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12993
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34563 >
2025-04-17 17:10:40 +00:00
Mel Henning
de1ed48325
nak/spill_values: Spill constants across edges if needed
...
In a previous iteration of the spilling code, we added an extra check to
only spill across edges if the value being spilled is in the W set.
This was due to a misunderstanding of the modeling of S and W in Braun
and Hack. In the current implementation, we maintain the invariant that
every live value is in at least one of S or W so we don't need that
check but it was left in by mistake.
One exception to this rule was added when we special-cased constant
values. Now the invariant is that every live value is in S, in W, or is
a constant. When we made this change, the check we accidentally left in
bit us because now if a value is constant but not in W, it wasn't
getting spilled across the edge. This can result in a value getting
filled later which was never spilled, leading to undefined values.
Fixes: 7b82e26e3c ("nak: Don't spill/fill const values")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12993
Co-authored-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34563 >
2025-04-17 17:10:40 +00:00
Eric Engestrom
8744c98fa9
meson: remove duplicate deprecated for power8 option
...
Fixes: c4b305079d ("meson: Simplify the power8 optimization logic")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34565 >
2025-04-17 14:43:30 +00:00
Eric Engestrom
b9472db496
meson: remove duplicate deprecated for gallium-xa option
...
Fixes: cf40099730 ("meson: deprecate gallium-xa")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34565 >
2025-04-17 14:43:30 +00:00
Rohan Garg
cbc1ec4f73
anv: re enable compression for CPS surfaces on platforms other than Xe
...
I accidentally disabled compression on CPS surfaces marked as storage or
color attachment for all platforms, when this should only be limited to
Xe.
Fixes: 80f9b6 ('anv: CPB surfaces that are used as color attachments or for stores cannot be compressed')
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34297 >
2025-04-17 14:24:11 +00:00
Rhys Perry
4fcf2eb1d7
aco/gfx12: VOPD src0/1 are src bank compatible if they are the same vgpr
...
fossil-db (gfx1201):
Totals from 66518 (83.80% of 79377) affected shaders:
Instrs: 36939667 -> 36656685 (-0.77%); split: -0.79%, +0.02%
CodeSize: 220575208 -> 220201764 (-0.17%); split: -0.21%, +0.04%
Latency: 258919732 -> 258137974 (-0.30%); split: -0.35%, +0.05%
InvThroughput: 49911351 -> 49643836 (-0.54%); split: -0.55%, +0.02%
VClause: 788661 -> 788430 (-0.03%); split: -0.04%, +0.01%
SClause: 1176416 -> 1176263 (-0.01%); split: -0.02%, +0.01%
VALU: 18014058 -> 17818119 (-1.09%); split: -1.10%, +0.01%
VOPD: 4926983 -> 5122922 (+3.98%); split: +4.01%, -0.04%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34246 >
2025-04-17 14:00:29 +00:00
Rhys Perry
3446f2059d
aco/gfx12: assume VOPD with two v_mov_b32 are src bank compatible
...
fossil-db (gfx1201):
Totals from 10576 (13.32% of 79377) affected shaders:
(no stats changed)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34246 >
2025-04-17 14:00:29 +00:00
Rhys Perry
1bd5ae7b14
aco: refactor can_use_vopd so that it returns flags
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34246 >
2025-04-17 14:00:29 +00:00
Rhys Perry
d4b418bbb9
aco: add are_src_banks_compatible helper for VOPD creation
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34246 >
2025-04-17 14:00:29 +00:00
Rhys Perry
4b0da5b51f
aco: rename is_opy_only to can_be_opx
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34246 >
2025-04-17 14:00:29 +00:00
Rhys Perry
408fa33c09
aco/gfx12: don't use second VALU for VOPD's OPX if there is a WaR
...
fossil-db (gfx1201):
Totals from 38908 (49.02% of 79377) affected shaders:
Instrs: 30268107 -> 30268131 (+0.00%); split: -0.00%, +0.00%
CodeSize: 180843648 -> 180843640 (-0.00%); split: -0.00%, +0.00%
Latency: 224905962 -> 224906072 (+0.00%); split: -0.00%, +0.00%
InvThroughput: 44322988 -> 44323004 (+0.00%)
VALU: 15124145 -> 15124167 (+0.00%)
VOPD: 4018504 -> 4018482 (-0.00%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Backport-to: 25.0
Backport-to: 25.1
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34246 >
2025-04-17 14:00:29 +00:00
Tomeu Vizoso
a9fde960e6
etnaviv/ml: Support FullyConnected with signed weights
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34545 >
2025-04-17 13:30:21 +00:00
Tomeu Vizoso
9615d44d6e
teflon: Skip unsupported FullyConvolution operations
...
Drivers don't support these combinations yet.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34545 >
2025-04-17 13:30:21 +00:00
Tomeu Vizoso
9409595c32
etnaviv/ml: All tensors are now 4D, adapt to it
...
After "teflon: Set unused dimensions to 1", all tensors have 4
dimensions, so change the dim index accordingly.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34498 >
2025-04-17 13:13:09 +00:00
Tomeu Vizoso
c728e73d65
etnaviv/ml: Track memory layout of tensors
...
Improve the decision on when to add transpose and detranspose jobs by
tracking the memory layout that a tensor is in.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34498 >
2025-04-17 13:13:09 +00:00
Tomeu Vizoso
c4a5f8d665
teflon: Set unused dimensions to 1
...
So drivers don't need to superfluously watch out for zeroes when
multiplying among dimensions.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34498 >
2025-04-17 13:13:09 +00:00
Tomeu Vizoso
23ae1c3bff
teflon: Actually accept concatenations with different number of channels
...
It is supported now by Etnaviv.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34498 >
2025-04-17 13:13:09 +00:00
Tomeu Vizoso
bde0e69bcd
etnaviv/ml: Consolidate transpose/detranspose
...
To simplify things, state that all operations as implemented expect
their input tensors to be in the channel order that the hardware
supports, and that the output tensors will be in that same order as
well.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34498 >
2025-04-17 13:13:09 +00:00
Tomeu Vizoso
e06265ed3a
teflon: Only mark integers as signed
...
As these are the types that need special handling, eg. not
kTfLiteFloat32.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34498 >
2025-04-17 13:13:09 +00:00
Samuel Pitoiset
209a0ede98
radv: add a function to emit meshlet registers on GFX11+
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34518 >
2025-04-17 12:49:47 +00:00
Samuel Pitoiset
836757bec3
radv: tidy up radv_emit_ps_epilog_state()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34518 >
2025-04-17 12:49:47 +00:00
Samuel Pitoiset
dca35b7226
radv: tidy up radv_emit_geometry_shader()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34518 >
2025-04-17 12:49:47 +00:00
Samuel Pitoiset
d999afeb7a
radv: tidy up radv_emit_vertex_shader()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34518 >
2025-04-17 12:49:47 +00:00
Samuel Pitoiset
85fdf69027
radv: simplify combining TES/VS+GS config registers
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34518 >
2025-04-17 12:49:47 +00:00
Samuel Pitoiset
0dd9833348
radv: remove redundant assertion when emitting PS epilog state
...
It's already checked by radv_emit_32bit_pointer().
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34518 >
2025-04-17 12:49:47 +00:00
Samuel Pitoiset
a230d2daa3
radv: use radeon_set_sh_reg() for only 1 DWORD
...
It's just shorter to write.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34518 >
2025-04-17 12:49:47 +00:00
Antonio Ospite
4dabc7776f
ci/android: show how to add more Android CTS test cases
...
Show how to add more Android CTS tests cases, using --include-filters
Only CtsNativeHardwareTestCases and CtsSkQPTestCases are actually
enabled for now, because the android-angle-lavapipe-cts job is part of
the pre-merge pipeline and these modules would not be too expensive to
run.
The container size increases by about 60Mb and the test time from 4m to
7 min on a local system, so it's an acceptable compromise to show how
multiple modules can be tested.
A similar mechanism will be used to add CtsDeqpTestCases tests in the
future, probably in nightly or weekly jobs, because that would require
more space in the containers and a lot more time to run the tests.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34479 >
2025-04-17 11:50:07 +00:00
Antonio Ospite
fbc715200e
ci/android: strip tailing spaces in Android CTS expectation files
...
Trailing spaces in include and exclude filters can confuse cts-tradefed,
so make sure to strip those from the lines in Android CTS expectation
files, since those are used to build the filter arguments.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34479 >
2025-04-17 11:50:07 +00:00
Antonio Ospite
8f41667b37
ci/android: specify EXCLUDE_FILTERS after INCLUDE_FILTERS when launching Android CTS
...
Specify EXCLUDE_FILTERS after INCLUDE_FILTERS when launching Android
CTS, to make it clearer that exclude filters take the precedence on
include filters.
This change is not strictly necessary, according to the documentation
exclude filters take the precedence anyway, see
https://source.android.com/docs/core/tests/tradefed/testing/through-suite/option-passing#pass_filters_to_the_suite
So this change is added only to document the behavior rather then to
control it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34479 >
2025-04-17 11:50:07 +00:00
Antonio Ospite
af96ed09f0
ci/deqp: force overwriting exiting files when compressing with zstd
...
This does not change the behavior in CI runs where the files are always
created from scratch, but it helps on local invocations when running the
command multiple times on the same rootfs.
It prevents build-deqp.sh to stop at the command line prompt for
questions like:
-----------------------------------------------------------------------
zstd: mustpass/egl-main.txt.zst already exists; overwrite (y/n) ? y
zstd: mustpass/gles2-khr-main.txt.zst already exists; overwrite (y/n) ? y => 5%
zstd: mustpass/gles2-main.txt.zst already exists; overwrite (y/n) ? y => 6%
-----------------------------------------------------------------------
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34468 >
2025-04-17 11:07:17 +00:00
Antonio Ospite
3e2f43bb13
ci/android: only use custom kernel for venus GPU_MODEs
...
The venus GPU_MODEs require some patches to the Android 14 kernel to
work, so custom built bzImage and initramfs.img need to be passed to
launch_cvd.
However specifying a custom kernel triggers some image repacking which
is quite expensive in terms of I/O; so, since the custom kernel is only
needed for the venus GPU_MODEs, avoid specifying it for the other modes
to speed up launching cuttlefish in those cases.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34468 >
2025-04-17 11:07:17 +00:00
Antonio Ospite
725acc0b74
meson: bump default value of platform-sdk-version to Android 14
...
Bump default value of platform-sdk-version to 34 which is Android 14.
This is the API version recommended by Google for new app development
since 31 August 2024, but it does not hurt to strongly suggest it for
mesa as well.
Developers who need to build for older Android SDK versions can always
pass `platform-sdk-version` when configuring the build.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34468 >
2025-04-17 11:07:17 +00:00
Samuel Pitoiset
11e8a96495
radv: use common scratch tmpring size programming
...
No logical changes.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34549 >
2025-04-17 10:35:40 +00:00
Samuel Pitoiset
710d7ea8b8
radv: compute the optimal scratch wavesize
...
This might increase the scratch BO sizes but it's supposed to be
faster because scratch waves would be distributed among memory channels.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34549 >
2025-04-17 10:35:40 +00:00
Samuel Pitoiset
e433a57650
ac,radeonsi: rework computing scratch wavesize and tmpring register
...
To be re-used by RADV.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34549 >
2025-04-17 10:35:40 +00:00
Samuel Pitoiset
d94f8b4460
ac/gpu_info,radv: add scratch_wavesize_granularity info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34549 >
2025-04-17 10:35:40 +00:00
Icenowy Zheng
82dda21806
zink: Do not use demote on IMG blobs
...
The implementation of demote in IMG blobs seems to be a piece of hack,
and the current use of it in Zink leads to assertion failure with
information "Uniflex does not support demote and terminate in the same
shader".
Disable usage of demote for IMG blobs.
Signed-off-by: Icenowy Zheng <uwu@icenowy.me >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33051 >
2025-04-17 10:14:45 +00:00
Daniel Stone
8d08cde667
ci/piglit: Use structured tagging for Piglit
...
Structured tagging (cf. mesa/mesa!33421 ) captures a checksum of the
thing we think we're building, and verifies this through the chain.
When we run container builds, we check that the tag we've captured in
the CI variables matches the calculated checksum, to make sure the
declared tags are consistent and we always have traceability.
When we run tests, we check the tags again between what was declared in
the CI variables and what we're actually running from the test
container. This makes sure that we're always testing what we think we're
testing.
As a side advantage, the rule inheritance we need to make this work
means that we can start doing more optional downloads via overlays,
instead of pulling a whole container full of stuff we might not ever
use.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34539 >
2025-04-17 09:22:39 +00:00
Samuel Pitoiset
e616761fb2
radv: re-introduce the compute vs CP DMA heuristic for copy/fill operations
...
This caused a -5% performance regression in Control because using
compute always eats resources.
This new approach introduces a flag called RADV_COPY_FLAGS_DEVICE_LOCAL
which can be used to indicate if the underlying memory is device local.
This should also help for future work.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12639
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34556 >
2025-04-17 08:59:58 +00:00
Samuel Pitoiset
5e2508e7c4
radv: simplify radv_fill_xxx() helpers
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34556 >
2025-04-17 08:59:58 +00:00
Samuel Pitoiset
8ba94d8263
radv: add radv_fill_image() helper
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34556 >
2025-04-17 08:59:58 +00:00
Samuel Pitoiset
0fa43b5bfb
radv: use radv_fill_memory() in the accel struct path
...
It's now possible to remove the NULL BO check.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34556 >
2025-04-17 08:59:58 +00:00
Tapani Pälli
6d70ec449f
iris: make sure to not mix compressed vs non-compressed
...
This commit implements the following requirement:
"Keep any UMD-recycling of compression-enabled/disabled
memory separate."
As additional info there are 2 related wa's for the issue:
Wa_14018443005
Wa_18038669374
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34499 >
2025-04-17 06:17:53 +00:00
Tapani Pälli
c2a4657862
iris: force reallocate on eglCreateImage with GFX >= 20
...
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34499 >
2025-04-17 06:17:53 +00:00
Tomeu Vizoso
aa73767f5e
etnaviv/ml: Support per-channel quantized weights
...
Dequantize the weights, calculate new quantization values based on the
minimum and maximum values and requantize again.
This causes a loss of accuracy when compared to proper per-axis
quantization as we don't have the original data from training any more.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34497 >
2025-04-17 05:25:49 +00:00
Philipp Zabel
ce9030740a
teflon: Allow per-axis quantization
...
Allow per-axis quantization in the output channel dimension.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34497 >
2025-04-17 05:25:49 +00:00
Tomeu Vizoso
7dfcca9007
etnaviv/ml: Fix zero point values for signedness
...
Take into account the signedness for FullyConnected.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34497 >
2025-04-17 05:25:49 +00:00
Tomeu Vizoso
d88f0b8f3c
etnaviv/ml: Reorder dimensions in convolutions
...
The blob does this, and doesn't seem to just be for performance as I see
some tests being fixed by it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34497 >
2025-04-17 05:25:49 +00:00
Thomas H.P. Andersen
d55a69e769
nak: make is_fneg_zero detect -rZ
...
fold_imm starts with this check:
let SrcRef::Imm32(mut u) = self.src_ref else {
return *self;
};
For -rZ we thus return early and the matching in is_fneg_zero does not
find it. This MR adds a match for SrcRef::Zero + SrcMod::FNeg.
This lets copy propagation fold this:
r3 = shfl.bfly r2 0x2 0x1c03
r3 = fswzadd.ftz r3 r2 [sub, sub, subr, subr]
r3 = fadd.ftz -rZ |r3|
r16 = shfl.bfly r2 0x1 0x1c03
r16 = fswzadd.ftz r16 r2 [sub, subr, sub, subr]
r16 = fadd.ftz -rZ |r16|
r3 = fadd.ftz r16 r3
into:
r3 = shfl.bfly r2 0x2 0x1c03
r3 = fswzadd.ftz r3 r2 [sub, sub, subr, subr]
r16 = shfl.bfly r2 0x1 0x1c03
r16 = fswzadd.ftz r16 r2 [sub, subr, sub, subr]
r3 = fadd.ftz |r16| |r3|
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12480
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33107 >
2025-04-17 02:22:02 +00:00
Faith Ekstrand
47fc468944
nak/sm70: Fix the bit74_75_ar_mod assert
...
It's used for src2, not src0.
Fixes: 40422927dc ("nak: Pass has_mod to all form of src2 requiring it")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33107 >
2025-04-17 02:22:02 +00:00
Faith Ekstrand
328112c6bc
nak/legalize: Take a RegFile in copy_alu_src_and_lower_ineg()
...
Fixes: af6093a712 ("nak/legalize: Add a helper for lowering ineg")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33107 >
2025-04-17 02:22:02 +00:00
Faith Ekstrand
22a30bfa4f
nak/legalize: Take a RegFile in copy_alu_src_and_lower_fmod
...
Otherwise, we'll screw up uniform GPRs.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33107 >
2025-04-17 02:22:02 +00:00
Eric Engestrom
269b09c449
docs: add sha sum for 25.0.4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34564 >
2025-04-17 02:22:24 +02:00
Eric Engestrom
71c1acfaf2
docs: add release notes for 25.0.4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34564 >
2025-04-17 02:22:24 +02:00
Eric Engestrom
f74a585dbb
docs: update calendar for 25.0.4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34564 >
2025-04-17 02:22:23 +02:00
Caio Oliveira
d5ad798140
spirv, radv, intel: Add NIR intrinsic for cmat conversion
...
A cooperative matrix conversion operation was represented in NIR by the
cmat_unary_op intrinsic with an nir_alu_op as extra parameter,
that was already lowered to a specific conversion operation
based on the matrix types.
Instead of that, add a new intrinsic `cmat_convert` that is specific
for that conversion. In addition to the src/dst matrix descriptions
already available, also include the signedness information in the
intrinsic (reuse nir_cmat_signed for that). This is needed because
different Convert operations define different interpretations for
integers, regardless their original type.
In this patch, both radv and intel were changed to use the same logic
that was previously used to pick the lowered ALU op.
This change will help represent cmat conversions involving BFloat16,
because it avoids having to create new NIR ALU ops for all the
combinations involving BFloat16.
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34511 >
2025-04-16 23:13:36 +00:00
Valentine Burley
2f02fa5db4
intel/ci: Start using the new 6.14 kernel on JSL
...
The new 6.14 kernel in gfx-ci linux is now stable on Jasper Lake, so drop
the kernel override from the anv-jsl-vk job.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34553 >
2025-04-16 22:13:19 +00:00
Valentine Burley
da71656dd9
ci/lava: Merge and deduplicate log sections
...
Drop the duplicated rootfs preparation sections, and combine the
TEST_SUITE and TEST_DUT_SUITE sections.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34523 >
2025-04-16 21:34:35 +00:00
Valentine Burley
70b033d2ad
ci/lava: Don't include the timeout in the log sections
...
Reduces visual clutter in the job logs.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34523 >
2025-04-16 21:34:35 +00:00
Valentine Burley
f7224dd159
ci/lava: Collapse more log sections
...
These sections were not collapsed, causing the setup sections to clutter
the job logs.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34523 >
2025-04-16 21:34:35 +00:00
Patrick Lerda
60a31156b0
mesa_interface: fix legacy dri2 compatibility
...
These values are shared with xcb/dri2.h, and can't be changed
without breaking the legacy dri2 compatibility. This change
reverses partially the update done by 3b603d1646 .
For instance this issue is triggered on dri2 i915 with
"piglit/bin/glx-copy-sub-buffer -auto" or
"piglit/bin/hiz-depth-read-window-stencil0 -auto".
Fixes: 3b603d1646 ("mesa_interface: remove unused stuff")
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34561 >
2025-04-16 20:19:14 +00:00
Mike Blumenkrantz
de6efc01c1
zink: verify that surface exists when adding implicit feedback loop
...
this can be null if multiple contexts are in use
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34557 >
2025-04-16 18:26:32 +00:00
Tomeu Vizoso
251d1e2551
etnaviv/ml: Use etna_buffer_resource instead of etna_resource
...
Otherwise we hit an assert in newly added code.
Fixes: d738b3ea2b ("etnaviv: split PIPE_BUFFER resources from other types of resources")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34481 >
2025-04-16 17:53:39 +00:00
Tomeu Vizoso
1f5bc6ddbf
etnaviv/tests: Add comment on why the SSDLite MobileDet test fails
...
So we don't waste time debugging it again.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34481 >
2025-04-16 17:53:39 +00:00
Tomeu Vizoso
0213eef3b3
teflon/tests: Dump output buffers to disk
...
It can be convenient to compare the outputs from the CPU, proprietary
driver and Mesa to check for convergence.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34481 >
2025-04-16 17:53:39 +00:00
Tomeu Vizoso
80e09e9b1f
teflon/tests: Divide the tolerance level by a constant
...
A final tolerance of 0.6 seems to be about right for big models with
per-channel quantization.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34481 >
2025-04-16 17:53:39 +00:00
Tomeu Vizoso
15a8c49ad5
teflon/tests: Print shorter negative INT8s
...
As we know that only the last 8 bits are relevant.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34481 >
2025-04-16 17:53:39 +00:00
Tomeu Vizoso
554fb8af11
teflon/tests: Take into account signedness when checking the output tensors
...
Otherwise, it won't be able to apply the tolerance in all cases.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34481 >
2025-04-16 17:53:39 +00:00
Tomeu Vizoso
b3746305ea
teflon/tests: Test all models in /models
...
It was becoming quite tedious to add models to testing.
This will also make it easier to locally test with non-redistributable
models.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34481 >
2025-04-16 17:53:39 +00:00
Tomeu Vizoso
68200ac961
teflon/tests: Use a single tolerance value
...
We have improved our accuracy and can use just a tolerance of 2 for all
the tests we currently have.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34481 >
2025-04-16 17:53:39 +00:00
Jesse Natalie
7ca4e4d34b
microsoft/compiler: Force load_output => undef in tess_ctrl main func
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34541 >
2025-04-16 16:02:07 +00:00
José Roberto de Souza
ab591dc642
iris: Fix IRIS_HEAP_SYSTEM_MEMORY_CACHED_COHERENT slab parent allocation
...
It was using the same switch case from IRIS_HEAP_SYSTEM_MEMORY_UNCACHED
allocating both as uncached.
Cc: stable
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34533 >
2025-04-16 15:43:15 +00:00
Alyssa Rosenzweig
9b55451ea7
hk: fix underbinding scratch
...
need to round up to page size (minimally) or we assert out. hit in vulkaninfo
of all things.
Fixes: 678134add5 ("hk: implement sparse")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34526 >
2025-04-16 15:24:37 +00:00
Eric Engestrom
dbe6c39270
docs: update calendar for 25.1.0-rc1
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34555 >
2025-04-16 15:11:40 +00:00
Mike Blumenkrantz
5844dea316
delete clover
...
there comes a time when a project has to be declared unfit to remain
in the tree
this frontend hasn't seen actual development in about 6 years
if someone has a pressing need to continue development, there's no
blocker to un-deleting it, but unless that happens, there's now a
more featureful, more conformant, more active CL frontend in the tree
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19385 >
2025-04-16 10:01:44 -04:00
Pierre-Eric Pelloux-Prayer
555821ff93
winsys/amdgpu: disable VM_ALWAYS_VALID
...
The referenced commit has been identified as the root cause of
graphic artifacts / hangs on some APUs.
For now disable AMDGPU_GEM_CREATE_VM_ALWAYS_VALID on all chips
except when user queues are used.
See https://gitlab.freedesktop.org/mesa/mesa/-/issues/12809 .
Fixes: 8c91624614 ("winsys/amdgpu: use VM_ALWAYS_VALID for all VRAM and GTT allocations")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34547 >
2025-04-16 13:22:16 +00:00
Eric Engestrom
3f7345a0ce
docs: reset new_features.txt
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34552 >
2025-04-16 14:30:26 +02:00
Eric Engestrom
b8968276e6
VERSION: bump to 25.2
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34552 >
2025-04-16 14:30:14 +02:00