Commit graph

210774 commits

Author SHA1 Message Date
Guilherme Gallo
76c16c4480 ci/radeonsi: Document a new flake
`spec@!opengl es 3.0@gles-3.0-transform-feedback-uniform-buffer-object`
is showing flake behavior.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36908>
2025-08-22 07:35:15 +00:00
Collabora's Gfx CI Team
62f39fca25 Uprev Piglit to 28d1349844eacda869f0f82f551bcd4ac0c4edfe
c3a3e29d59...28d1349844

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36908>
2025-08-22 07:35:15 +00:00
Collabora's Gfx CI Team
640e2eddea Uprev ANGLE to 995c4c4d89ed6a5c28b210e9c0f83eb4f8b6e2f5
6a04a50f98...995c4c4d89

- Skip tests failing on all drivers due to a CTS bug
- Disable clang options not supported by the 'unbundled' toolchain

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36908>
2025-08-22 07:35:15 +00:00
Job Noorman
24cdb0b636 ir3: emit descriptor prefetch in block dominated by its sources
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Descriptor prefetches may be generated for instructions in control flow.
This means we cannot simply emit prefetches at the end of the preamble
because that may not be dominated by all their sources. This commit uses
the helpers introduced by e7ac1094f6 ("ir3: rematerialize preamble defs
in block dominated by sources") to find the correct block to insert
prefetches.

Fixes NIR validation errors in Dying Light 2.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Fixes: 4e2a0a5ad0 ("ir3: Add descriptor prefetching optimization on a7xx")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36885>
2025-08-22 05:21:25 +00:00
Qiang Yu
dbbb46aa38 nir: compute io base for fragment shader inputs which maybe per primitive
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Some inputs is per vertex while vertex pipeline, and per primitive
when mesh pipeline. Put these inputs after other inputs to share
the same fragment shader code for two pipelines.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36749>
2025-08-22 02:42:57 +00:00
Qiang Yu
7c3f7e1046 nir: lower io support task and mesh shader
mesh shader does not have input, and we skip task shader
IO lowering like compute shader.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36749>
2025-08-22 02:42:57 +00:00
Yonggang Luo
dda1692484 util: Implement p_atomic_read for C++ properly.
../src/compiler/glsl/ast_function.cpp
..\src\util/u_cpu_detect.h(168): error C2220: the following warning is treated as an error
..\src\util/u_cpu_detect.h(168): warning C4197: 'uint32_t *volatile ': top-level volatile in cast is ignored
[325/1703] Compiling C++ object src/compiler/glsl/libglsl.a.p/builtin_functions.cpp.obj

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36863>
2025-08-22 02:05:57 +00:00
Yonggang Luo
de1a2a3537 util: Remove the __declspec(dllexport) on win32 for PUBLIC export macro
As on Windows, all DLLs are exported use def files, there is no need do __declspec(dllexport) on the function marker.

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36863>
2025-08-22 02:05:57 +00:00
Yonggang Luo
39e20ad563 docs: Update requirement for MSVC
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36767>
2025-08-22 01:28:23 +00:00
Yonggang Luo
a34756bbed Revert "nir: Temporarily disable optimizations for MSVC ARM64"
This reverts commit 55d153b9f5.

The msvc bug is https://developercommunity.visualstudio.com/t/Stack-overflow-compiling-C-code-to-ARM64/916235

and Fixed In: Visual Studio 2022 version 17.7

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36767>
2025-08-22 01:28:23 +00:00
Yonggang Luo
85310e912c Revert "glsl: Work around MSVC arm64 optimizer bug"
This reverts commit 86b5c9278c.

As bug https://developercommunity.visualstudio.com/t/Incorrect-ARM64-codegen-with-optimizatio/10564605

is fixed in VS 17.8.6

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36767>
2025-08-22 01:28:23 +00:00
Emma Anholt
1c0c3a2375 ir3: Don't try to use indirect access in the alias table.
Fixes validation failures about missing instr->address in gravitymark
ultra.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36896>
2025-08-22 01:04:23 +00:00
Mike Blumenkrantz
37701ba6bc glx/kopper: don't call glFlush from swapbuffers
this is redundant and leads to extra glthread syncs

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36887>
2025-08-22 00:42:28 +00:00
Mike Blumenkrantz
40b3479635 glx/egl/kopper: explicitly pass __DRI2_FLUSH_CONTEXT when appropriate
this avoids unnecessary st flushing

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36887>
2025-08-22 00:42:28 +00:00
Mike Blumenkrantz
b799622a41 kopper: don't sync glthread from swapbuffers
dri_flush already does this

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36887>
2025-08-22 00:42:28 +00:00
Guilherme Gallo
7939e43cc8 ci: Disable vmware farm
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
It seems offline, and it is blocking MR pipelines, such as:
- https://gitlab.freedesktop.org/mesa/mesa/-/pipelines/1495481
- https://gitlab.freedesktop.org/mesa/mesa/-/pipelines/1495510

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36922>
2025-08-22 00:10:11 +00:00
Daivik Bhatia
20eddec0bb v3d: remove unused functions from v3d_bufmgr.h
v3d_bo_set_reference, v3d_bo_unreference_locked_timed and
v3d_wait_seqno functions available since first v3d commit
45bb8f2957 ("broadcom: Add V3D 3.3 gallium driver called "vc5",
for BCM7268.") are not used since the beginning or since the
removal of its usage at 85f26828fe ("broadcom: only support
v42 and v71") and b225cdcecc ("broadcom/vc5: Update the UABI
for in/out syncobjs").

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36012>
2025-08-21 23:54:58 +00:00
Martin Roukala (né Peres)
2aaab5369a Revert "ci: disable the valve-kws farm"
This reverts commit d1839f09b1, now that
the gateway is back online.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36920>
2025-08-21 23:11:28 +00:00
Connor Abbott
03388baa6d tu, freedreno: Document GRAS shading rate LUT
Name the register, which is actually an array, and initialize it
programmatically using the same table as the per-primitive case. This
should produce the same value as the old hardcoded constant.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36892>
2025-08-21 22:48:32 +00:00
Connor Abbott
1dff4dcb0b ir3: Use common shading rate lookup table
This should be identical to the old one.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36892>
2025-08-21 22:48:32 +00:00
Connor Abbott
8d9e3bda44 freedreno: Add common VRS helpers
These will be used by ir3 and turnip.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36892>
2025-08-21 22:48:32 +00:00
Connor Abbott
658fe94241 ir3: Simplify and rationalize shading rate LUT
We had an extra 16 entries in the VK-to-HW table that were clearly
unnecessary because Vulkan does not allow values greater than 16 for the
primitive shading rate. This appears to be an extra debug/test thing
added by the blob. Similarly there were unused entries in the HW-to-VK
table that shouldn't be necessary. Delete them.

The HW-to-VK table was also inconsistent about whether invalid values
should be 0 or 11, fix that too.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36892>
2025-08-21 22:48:32 +00:00
Iván Briano
07057e270c anv, hasvk: allow using a 3D image as a resolve target
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This is allowed by the specification, as the following VUIDs state:

   VUID-vkCmdResolveImage-srcImage-04446
   If dstImage is of type VK_IMAGE_TYPE_3D, then for each element of
   pRegions, srcSubresource.layerCount must be 1

   VUID-vkCmdResolveImage-srcImage-04447
   If dstImage is of type VK_IMAGE_TYPE_3D, then for each element of
   pRegions, dstSubresource.baseArrayLayer must be 0 and
   dstSubresource.layerCount must be 1

New tests coming for it: dEQP-VK.pipeline.*.multisample.3d.*

Reviewed-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/36895>
2025-08-21 20:53:42 +00:00
Mike Blumenkrantz
8b2642db84 st/program: stop calling st_finalize_nir() unnecessarily for variants
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
st_finalize_nir() only affects:
* sampling
* uniforms
* shader images

if a nir pass doesn't affect one of these three things or does not
yield progresss, then there is no need to call this

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36879>
2025-08-21 19:24:49 +00:00
Mike Blumenkrantz
45b6aa1eb7 glthread: mark internal bufferobjs for the ctx they belong to
this avoids unlimited unnecessary atomics

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36889>
2025-08-21 18:54:48 +00:00
Samuel Pitoiset
cbe42a4c43 radv: rename RADV_CMD_DIRTY_TESS_STATE to RADV_CMD_DIRTY_TCS_TES_STATE
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36875>
2025-08-21 18:36:35 +00:00
Samuel Pitoiset
3d1efbce98 radv: add a new dirty bit for the rast samples state
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36875>
2025-08-21 18:36:35 +00:00
Samuel Pitoiset
ea6cb5e7bf radv: add a new dirty bit for the FSR state
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36875>
2025-08-21 18:36:35 +00:00
Samuel Pitoiset
604296a282 radv: add a new dirty bit for the ngg culling state
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36875>
2025-08-21 18:36:34 +00:00
Samuel Pitoiset
d9d9052c56 radv: validate dynamic states for the db shader control state earlier
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36875>
2025-08-21 18:36:34 +00:00
Samuel Pitoiset
02ecb70e7f radv: validate dynamic states for the occlusion query state earlier
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36875>
2025-08-21 18:36:33 +00:00
Samuel Pitoiset
81af123ab1 radv: optimize re-emitting the occlusion query state on GFX12
The number of samples is only needed on older generations.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36875>
2025-08-21 18:36:33 +00:00
Samuel Pitoiset
5db8a16053 radv: add a new dirty bit for the binning state
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36875>
2025-08-21 18:36:32 +00:00
Samuel Pitoiset
c4c44187f9 radv: only re-emit needed states when PS inner coverage changes
It's emitted as part of the MSAA state but re-emitting the NGG culling
state isn't necessary because ps.reads_fully_covered isn't used.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36875>
2025-08-21 18:36:32 +00:00
Samuel Pitoiset
fae90ba171 radv: do not emit few RADV_CMD_DIRTY_xxx based on dynamic states
Like RADV_CMD_DIRTY_CB_RENDER_STATE is dirty when the custom blend mode
is updated. Shouldn't fix anything in practice because dynamic_states
is unlikely 0 but better that way.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36875>
2025-08-21 18:36:31 +00:00
Zan Dobersek
1f61867b48 tu: prevent tu_bo unmapping during destruction while being dumped
A tu_bo object can be in the process of being dumped during queue submit
while also being destroyed on a separate thread. During destruction, tu_bo
should be removed from the device's dump_bo_list before unmapping, this
way the mapping of any given tu_bo won't disappear while it's being dumped.

Signed-off-by: Zan Dobersek <zdobersek@igalia.com>
Reviewed-by: Mark Collins <mark@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36904>
2025-08-21 18:16:59 +00:00
Martin Roukala (né Peres)
d1839f09b1 ci: disable the valve-kws farm
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
There will be a ~30 minutes downtime today, while we plug new hardware
to our CI gateway in preparation for plugging more a750 DUTs.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36902>
2025-08-21 18:15:05 +00:00
Caio Oliveira
74a4e7dd4b brw: Fix folding case for MAD instruction with all immediates
Fixes: b605f76b2a ("brw/algebraic: Constant fold multiplicands of MAD")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36867>
2025-08-21 17:19:18 +00:00
Caio Oliveira
eec64c865f brw: Add disabled test for MAD constant folding
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36867>
2025-08-21 17:19:18 +00:00
Gert Wollny
c903f33b36 r600/sfn: preloading sources for fp64 ops with common code path
These ops require more than three source values that could result
in readport conflicts, so check the readport configuration
before issuing alu operations and inject copy operations
when conflicts are identified.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36860>
2025-08-21 17:05:04 +00:00
Gert Wollny
a1b7b524f8 r600/sfn: factor out common code for readport validation
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36860>
2025-08-21 17:05:04 +00:00
Gert Wollny
c4a3e8981d r600/sfn: rework testing readport config for more than one source
When checking the readport config for a number of sources that
would be used in a multi-slot instruction, then return the index
of the source for which readport allocation fails.
With that we can later add a mov instruction to change the source
channels configuration.

In addition pass a std::array instead of a C-array to make the interface
more c++-like and prepare for the next patch.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36860>
2025-08-21 17:05:04 +00:00
Gert Wollny
4c94467e5f r600/sfn: add an unreachable if the creation of a fp64 group fails
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36860>
2025-08-21 17:05:04 +00:00
Gert Wollny
ff6802687a r600/sfn: remove some useless boolean parameters
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36860>
2025-08-21 17:05:04 +00:00
Gert Wollny
273d50fb84 r600/sfn: stop early when looking for ALU vec ready ops
No need to continue the loop if we already know that we will skip

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36860>
2025-08-21 17:05:04 +00:00
Gert Wollny
36c3eb5bce R600/sfn: split one-dest multi-slot ops late when scheduling
This makes it possible to switch the dest channel late and
schedule more than one of these ops into a group.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36860>
2025-08-21 17:05:04 +00:00
Gert Wollny
ebe5765d0a r600/sfn: pass group into AluInstr::split instead of creating it
This is in preparation of splitting multi-slot ops late, when scheduling.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36860>
2025-08-21 17:05:03 +00:00
Connor Abbott
2797069e9a tu: Enable LRZ with FDM
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36475>
2025-08-21 16:42:19 +00:00
Connor Abbott
b34b089ca1 tu: Use GRAS bin offset registers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36475>
2025-08-21 16:42:19 +00:00
Connor Abbott
10e7f63734 tu: Add documentation for VK_EXT_fragment_density_map
This has gotten complicated enough that we need somewhere outside of the
driver itself to give an overall flow of how the feature is implemented.

This includes a few things that are enabled in the subsequent commits,
specifically the LRZ parts.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36475>
2025-08-21 16:42:18 +00:00