Commit graph

70810 commits

Author SHA1 Message Date
Eric Engestrom
2e26e1e86f zink+radv/ci: deduplicate zink-radv-*-skips.txt lists
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36648>
2025-08-14 16:07:04 +00:00
Eric Engestrom
90d692bd32 zink+radv/ci: set DRIVER_NAME=zink-radv to allow using common expectation files
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36648>
2025-08-14 16:07:04 +00:00
Eric Engestrom
3a211679f7 softpipe/ci: drop asan fails that are already tracked as normal fails
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36648>
2025-08-14 16:07:04 +00:00
Eric Engestrom
6ea6682384 lavapipe/ci: drop asan fails that are already tracked as normal fails
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36648>
2025-08-14 16:07:04 +00:00
Eric Engestrom
1b88e4a262 ci: set DRIVER_NAME in jobs that are implicitly inheriting skip lists
They were getting these through setting `GALLIUM_DRIVER`, which the next
commit removes.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36648>
2025-08-14 16:07:03 +00:00
Eric Engestrom
f6f091b9a6 softpipe/ci: document fixed tests
Unrelated to this MR, just noticed now.

They are likely missed by the current fraction on that job, which is why
this wasn't noticed.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36648>
2025-08-14 16:07:03 +00:00
Mike Blumenkrantz
117ac6ac0a tc: remove user cbuf uploads
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
this is no longer supported (drivers should set prefer_real_buffer_in_constbuf0)

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36715>
2025-08-14 12:47:48 +00:00
Mike Blumenkrantz
b8cd48e8e8 gallium: always upload cbuf0 when cap is set
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36715>
2025-08-14 12:47:47 +00:00
Mike Blumenkrantz
203ac73374 gallium: set prefer_real_buffer_in_constbuf0 for all drivers using tc
this isn't really a functional change since tc was always doing
cbuf uploads anyway

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36715>
2025-08-14 12:47:47 +00:00
Mike Blumenkrantz
04c505c200 zink: destroy u_uploaders earlier in context destroy
these might get defer-deleted onto the batch states, so ensure they
don't leak in that way

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36715>
2025-08-14 12:47:47 +00:00
Mike Blumenkrantz
cbb6e0277f r600: stop using util_set_vertex_buffers
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36715>
2025-08-14 12:47:47 +00:00
Mike Blumenkrantz
2d1758242f r300: stop using util_set_vertex_buffers
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36715>
2025-08-14 12:47:47 +00:00
Mike Blumenkrantz
9fd27814f1 freedreno: stop using util_set_vertex_buffers
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36715>
2025-08-14 12:47:47 +00:00
Mike Blumenkrantz
e4da10b4cb tc: add a function to check the internal buffer lists
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36715>
2025-08-14 12:47:47 +00:00
Mike Blumenkrantz
5d8ccf5986 tc: break out buffer list busy check
no functional changes

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36715>
2025-08-14 12:47:46 +00:00
Mike Blumenkrantz
a7fd3b454b util/tc: don't print END_BATCH in debug
this is a garbage string anyway

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36715>
2025-08-14 12:47:46 +00:00
Gert Wollny
b0468b5560 r600/sfn: remove extra slot of AR use
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Since we split the address load the extra slot reservation
for an address register load is no longer needed.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36742>
2025-08-14 11:58:04 +00:00
Gert Wollny
5d0f212d81 r600/sfn: Fix AR use tracking off-by-one error
The evauation of loading the AR register was off by one, so that
splitting an ALU group could actually happen after AR was loaded
resulting in a failure to lower to assembly.

Fixes: d617052db6 ("r600/sfn: take address loads into account when scheduling")

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36742>
2025-08-14 11:58:04 +00:00
Gert Wollny
63c801e8c2 r600/sfn: When splitting an ALU CF update possible start of next CF
Without this update a very long ALU block may not be splitted as
required and lowering to assembly may fail because the maximum
supported length of a ALU CF is overrun.

Fixes: 6aafa2bb49 ("r600/sfn: Split ALU blocks in scheduler to fit into 128 slots")

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36742>
2025-08-14 11:58:04 +00:00
Eric Engestrom
708e2edc23 llvmpipe/ci: consistently use x11- prefix for deqp-egl-x11
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36759>
2025-08-13 15:12:31 +00:00
Valentine Burley
e4933d1d90 zink/ci: Document recent flakes on TGL
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36409>
2025-08-13 14:48:32 +00:00
Valentine Burley
4ba1128600 zink/ci: Add EGL coverage on lavapipe
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36409>
2025-08-13 14:48:32 +00:00
Valentine Burley
72af71a17a zink/ci: Run full zink-lavapipe job pre-merge
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36409>
2025-08-13 14:48:32 +00:00
Yonggang Luo
e54d5c9c13 virgl: Fixes differs in parameter lists
../src/gallium/drivers/virgl/virgl_context.c(1783): error C2220: the following warning is treated as an error
../src/gallium/drivers/virgl/virgl_context.c(1783): warning C4113: 'void (__cdecl *)(pipe_context *,pipe_fence_handle **,pipe_flush_flags)' differs in parameter lists from 'void (__cdecl *)(pipe_context *,pipe_fence_handle **,unsigned int)'

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36726>
2025-08-13 14:22:19 +00:00
Yonggang Luo
671bd2d7da virgl: Fixes warning: cast to smaller integer type 'unsigned long' from 'void *' [-Wvoid-pointer-to-int-cast]
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36726>
2025-08-13 14:22:19 +00:00
Corentin Noël
f78a52fd0a tgsi: Drop TGSI_SEMANTIC_TESS_DEFAULT_OUTER/INNER_LEVEL
Nothing is emitting this anymore and it is not used by virglrenderer too.

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Acked-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36758>
2025-08-13 13:55:01 +00:00
Roland Scheidegger
67b90113a6 llvmpipe: Fix wrong GS invocation count when using instanced GS
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Each invocation obviously counts toward the total GS invocation count.

Reviewed-by: Brian Paul <brian.paul@broadcom.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36686>
2025-08-13 12:52:42 +00:00
Seán de Búrca
c579b8eff6 rusticl: adjust naming and assert usage for clarity
v2: make naming consistent across functions, incorporate earlier naming
changes

Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36497>
2025-08-13 09:37:45 +00:00
Seán de Búrca
808484041c rusticl: execute program builds as jobs on a worker thread
v2: rework to use Rust closure for worker job function
v3: split preparatory restructuring into separate commit
v4: parallelize link and compile, adjust thread/job count
v5: split out naming changes to later commit, move validation to api/

Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36497>
2025-08-13 09:37:45 +00:00
Seán de Búrca
56cc1b1c96 rusticl: restructure program build to prepare for parallelization
v2: include restructuring of link and compile, break out more functions
v3: split out naming changes to later commit

Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36497>
2025-08-13 09:37:45 +00:00
Seán de Búrca
833481b6ab rusticl: introduce intermediate header object
This lets us take ownership of the header object without worrying about
lifetimes, enabling parallelization.

Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36497>
2025-08-13 09:37:44 +00:00
Seán de Búrca
e6fb1d5d32 rusticl: add abstraction for util_queue
v2: rework to use Rust closures for passed-in job function
v3: drop mutability requirement on queue for adding a job
v4: prevent external creation of fences, return from add_job_sync()
v5: add CPU count utility function based on util_get_cpu_caps()
v6: use &CStr for queue name for convenience
v7: make fence Send + Sync and don't require mutability for waiting

Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36497>
2025-08-13 09:37:44 +00:00
Seán de Búrca
1ac5b99301 rusticl: consolidate linking code
v2: split out functional change to prior commit

Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36497>
2025-08-13 09:37:44 +00:00
Seán de Búrca
a6f96a18d8 rusticl: release borrow on device build before linking
This allows for a later refactor to share linking code between
clBuildProgram and clLinkProgram in which the device build is borrowed
mutably.

Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36497>
2025-08-13 09:37:43 +00:00
Seán de Búrca
8f71f1527a rusticl: clarify naming of program-related structs and fields
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36497>
2025-08-13 09:37:43 +00:00
Seán de Búrca
cc05dc584e rusticl: disentangle ProgramBuild state from kernel compilation
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36497>
2025-08-13 09:37:42 +00:00
Seán de Búrca
5cb328d002 rusticl: move debug logging to the end of the build step
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36497>
2025-08-13 09:37:42 +00:00
Karol Herbst
e31d5bc5a9 zink: set zink_bo is_user_ptr on creation
We need to release user_ptr resources earlier, so we don't keep stale
references around, but for that to happen we also need to know which
resource is a user_ptr one in the first place.

Cc: mesa-stable
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36701>
2025-08-13 08:30:43 +00:00
Karol Herbst
20b2944274 rusticl: silence new warnings from rustc versions above our rustc target
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36747>
2025-08-12 22:37:52 +00:00
Karol Herbst
ea69a01378 rusticl: silence warnings in generated sources
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36747>
2025-08-12 22:37:52 +00:00
David Rosca
09dd2bc388 rusticl/ptr: Fix hidden lifetime warning
error: hiding a lifetime that's elided elsewhere is confusing
   --> ../src/gallium/frontends/rusticl/util/ptr.rs:166:18
    |
166 |     pub fn entry(&mut self, ptr: P) -> Entry<P, T> {
    |                  ^^^^^^^^^             ----------- the same lifetime is hidden here
    |                  |
    |                  the lifetime is elided here

Reviewed-by: Karol Herbst <kherbst@redhat.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36747>
2025-08-12 22:37:52 +00:00
Gert Wollny
8c65da0c9d r600/sfn: cleanup GS shader emission
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Now that we lower all load_per_vertex_input to
r600_load_per_vertex_input we can remove some dead code
and also change the intrinsic to use only one source value.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36488>
2025-08-12 14:30:17 +00:00
Gert Wollny
eccd178f0b r600/sfn: Lower all GS indirect input loads after lowering IO
Extend the lowering of indirect GS array inputs to include
all indirect access. This replaces
   r600_gs_load_deref_io_to_indirect_per_vertex_input
which was restricted to vec4 POS inputs. The
new lowering pass works in all vayings and all types, so we
can also drop the call to nir_lower_indirect_derefs.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36488>
2025-08-12 14:30:16 +00:00
Gert Wollny
356bc41797 r600/sfn: resolve constant indices into local arrays better
When the code is first generated constants are loaded to registers, so to
avoid indirect array register access that can be resolved as a direct direct
access we have to check whether the address register is loaded
with a constant value.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36488>
2025-08-12 14:30:15 +00:00
Gert Wollny
874005aeb7 r00/sfn: Fix copy propagation into buffer load address
A buffer load can not use an indirect register as address.

Fixes: 79ca456b48 ("r600/sfn: rewrite NIR backend")

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36488>
2025-08-12 14:30:14 +00:00
Gert Wollny
39543f6b5c r600/sfn: Handle indirect access to GS input arrays
nir_intrinsic_load_per_vertex_input has two source values, indirect access
by using the first value is already handled, but accessing arrays with
the second index was missing but became relevant with handling most IO
optimizations with nir_opt_varyings.

Fixes: 37ae4df3e4 ("glsl: remove most IO optimizations that are replaced by nir_opt_varyings")

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36488>
2025-08-12 14:30:14 +00:00
Gert Wollny
9c8d8cfa07 r600/sfn: factor out adding an input in GS
This is a preparation for the next patch that will fix
indirect access using the second index of load_per_vertex_input

Fixes: 37ae4df3e4 ("glsl: remove most IO optimizations that are replaced by nir_opt_varyings")

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36488>
2025-08-12 14:30:13 +00:00
Derek Foreman
b94add2977 dril: Skip some pipe formats to avoid breaking X
In the case where gbm fails to init, we use our entire format list. That
became a problem in commit 642c4cf2b2 when some formats were added to the
list that X can't handle. This leads to X crashing when using glx and
trying to use certain visuals.

An easily testable manifestation of this crash is to run piglit's
glx-create-context-ext-no-config-context under Xwayland in a virtual
machine that has no gpu, whilst using zink. Much like our CI does for some
jobs.

Fixes: 642c4cf2b2 ("dril: add BGR{X,A}8888 and RGB{X,A}8888")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36575>
2025-08-12 14:06:05 +00:00
Mike Blumenkrantz
c7045e3e63 perfetto: unify init
util_perfetto_init() was called in some places, util_cpu_trace_init()
was called in other places, and some places used tracing without ever
calling either of them

util_cpu_trace_init() is now guaranteed to be called:
* on gallium screen create
* on VK instance create

thus no driver/frontend/etc should ever need to call this manually

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36628>
2025-08-12 13:17:43 +00:00
Samuel Pitoiset
b2ea120732 ac,radv,radeonsi: fix programming PA_SU_PRIM_FILTER_CNTL on GFX12
GFX12 seems to behave slightly differently. Setting these bits to TRUE
causes zero-area triangles to not pass the primitive clipping stage.
So, the actual number of primitives output by the primitive clipping
stage was wrong.

After digging a lot, it seems PAL doesn't set these bits either on
GFX12.

CC: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36670>
2025-08-12 07:06:36 +00:00