Commit graph

211313 commits

Author SHA1 Message Date
Samuel Pitoiset
41ad7e6eaf radv: do not trigger PATCH_CONTROL_POINTS_STATE on GFX12
The number of patch control points is emitted as part of VGT_PRIM_STATE.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37022>
2025-09-01 08:53:00 +00:00
Samuel Pitoiset
47d2af814f radv: pre-compute tessellation num patches/lds size earlier
This will also pre-compute when the state is static but I think it's
less error prone like this and also more consistent.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37022>
2025-09-01 08:52:59 +00:00
Samuel Pitoiset
51d16e9aec radv: dirty the raster state when setting the primitive topology
Instead of the dynamic state which is equivalent but abusing
dirty_dynamic for stuff like that isn't a good idea.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37022>
2025-09-01 08:52:59 +00:00
Samuel Pitoiset
0e398ddc43 radv: cleanup configuring AUTO_RESET_CNTL
There is already a different branch for >= GFX12 and older gens.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37022>
2025-09-01 08:52:58 +00:00
Samuel Pitoiset
93d3427543 radv: emit BREAK_BATCH when the PS changes also for ESO
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37022>
2025-09-01 08:52:58 +00:00
Samuel Pitoiset
93ffb0db03 radv: add an early return to radv_flush_vertex_descriptors()
To prevent mesh shaders to potentially crash. Also remove the assertion
which is now useless.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37022>
2025-09-01 08:52:57 +00:00
Samuel Pitoiset
be8ccf6378 radv: use radv_get_vgt_outprim_type() for the NGG SGPRs state
Shouldn't change anything either but vgt_outprim_type will be
pre-computed later.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37022>
2025-09-01 08:52:56 +00:00
Samuel Pitoiset
d14ff3eafe radv: use radv_get_vgt_outprim_type() to disable NGGC for points/lines
This shouldn't change anything because NGGC for points/lines are
disabled at compile time for TES/GS. It's only unconditionally enabled
for VS because with fast-GPL/ESO, the driver might not know the
primitive topology at compile time and it must be disabled dynamically
later.

Note that NGGC supports culling lines now, so it could be enabled.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37022>
2025-09-01 08:52:56 +00:00
Samuel Pitoiset
4cbadc85e0 radv: clear dynamic states earlier
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37022>
2025-09-01 08:52:55 +00:00
Samuel Pitoiset
12d618ef64 radv: split RADV_CMD_DIRTY_NGGC_STATE in two states
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37022>
2025-09-01 08:52:55 +00:00
Samuel Pitoiset
bc9a020dd3 radv: rename NGG culling user SGPRs
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37022>
2025-09-01 08:52:55 +00:00
Ashley Smith
b35bb9f5c7 panfrost: Enable shader_atomic_int64 for gallium
Vulkan support was added previously, enable gallium support.

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Acked-by: Mary Guillemard <mary.guillemard@collabora.com>
Signed-off-by: Ashley Smith <ashley.smith@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37051>
2025-09-01 08:22:10 +00:00
Valentine Burley
3fc973f6ca ci/crosvm: Retry all curl errors when downloading kernel
`--retry-connrefused` didn’t catch cases where the download started but
failed midway. `--retry-all-errors` will cover those too.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13800
Fixes: d527da301f ("ci: Don't include the kernel in test-base image")
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37109>
2025-09-01 07:47:24 +00:00
Samuel Pitoiset
0c6b39d4fb radv: add RADV_GFX12_HIZ_WA to select the HiZ wa behavior on GFX12
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Will be useful for benchmarking.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36839>
2025-09-01 07:02:24 +00:00
Samuel Pitoiset
e4ef804013 radv: allow to select a different HiZ workaround on GFX12
And describe all of them better.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36839>
2025-09-01 07:02:24 +00:00
Samuel Pitoiset
4ce8d471b5 radv: fix setting VBO misaligned mask in graphics pipelines
Typo.

Fixes: 3eed98d122 ("radv: move VBO misaligned/unaligned info to radv_vertex_input_state")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37078>
2025-09-01 06:24:55 +00:00
Yiwei Zhang
6e1c2e4d83 vulkan: handle wsi private data properly
On Android, Vulkan loader implements KHR_swapchain and owns both surface
and swapchain handles. On non-Android, common wsi implements the same and
owns the same. So for both cases, the drivers are unable to handle
vkGet/SetPrivateData call on either a surface or a swapchain.

Inspired by https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37043

Cc: mesa-stable
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Ryan Zhang <ryan.zhang@nxp.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37064>
2025-09-01 05:44:40 +00:00
Olivia Lee
564b6fd7f4 vulkan: move internal vulkan pseudo-extensions to a common file
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This makes it easier to see what all of the assigned values are to check
for collisions, and allows using them in vulkan/util.

Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37045>
2025-09-01 03:50:12 +00:00
Yiwei Zhang
14ce38143d v3dv: use stack image for v3dv_GetDeviceImageSubresourceLayout
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This follows the same with v3dv_GetDeviceImageMemoryRequirements.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37103>
2025-08-31 17:31:21 +00:00
Job Noorman
135ce96669 freedreno/computerator: fix cs builder conversion errors
Fix two small errors that slipped in during the conversion to the new cs
builders.

Writing CP_EVENT_WRITE_0_TIMESTAMP caused hangs on a6xx.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Fixes: 2bff78dcab ("freedreno/computerator: Convert to new cs builders")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37107>
2025-08-31 16:59:44 +00:00
Lionel Landwerlin
07ffdf47f5 intel: update code owners
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37102>
2025-08-31 15:38:27 +00:00
Job Noorman
07150f9067 ir3: use shared masks for cov when scalar ALU is supported
Whenever cov doesn't work and we have to use a mask instead, the mask
was created as a non-shared immediate, preventing the use of the scalar
ALU for the and instruction. Fix this by creating a shared immediate
when the scalar ALU is supported.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37104>
2025-08-31 14:42:47 +00:00
Karol Herbst
24c7e247af rusticl: implement cl_khr_external_semaphore
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36007>
2025-08-31 13:12:17 +00:00
Karol Herbst
daf777df8c rusticl: implement cl_khr_semaphore
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36007>
2025-08-31 13:12:17 +00:00
Karol Herbst
99bf8fc4a8 rusticl: add stubs for semaphores and external_memory
The OpenCL CTS are using some of them without their related extension
advertised. Just stub them all out so it's all there.

Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36007>
2025-08-31 13:12:17 +00:00
Karol Herbst
389577c8bb radeonsi: implement pipe_screen::semaphore_create
Acked-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/36007>
2025-08-31 13:12:16 +00:00
Karol Herbst
51d03ba1b9 zink: implement pipe_screen::semaphore_create
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36007>
2025-08-31 13:12:16 +00:00
Karol Herbst
129f22140c zink: factor out fence creation function
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36007>
2025-08-31 13:12:16 +00:00
Karol Herbst
64fb3c81af rusticl/mesa: wire up semaphores
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36007>
2025-08-31 13:12:16 +00:00
Karol Herbst
cc32c5c2eb gallium: add pipe_screen::semaphore_create
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36007>
2025-08-31 13:12:16 +00:00
Karol Herbst
9bacd232b8 gallium/noop: add fence_server_signal
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36007>
2025-08-31 13:12:16 +00:00
Karol Herbst
712734d600 rusticl/util: add MultiValProperties
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36007>
2025-08-31 13:12:16 +00:00
Karol Herbst
5d29acf23d rusticl/event: fix create_and_queue for deps in error states
Cc: mesa-stable
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36007>
2025-08-31 13:12:16 +00:00
Karol Herbst
7154180b67 docs/gallium: Clarify ordering requiremenets on fence_server_signal and fence_server_sync
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36007>
2025-08-31 13:12:16 +00:00
Karol Herbst
a7966f693b rusticl/device: add DeviceCaps::has_create_fence_fd and use it
Device::is_gl_sharing_supported was calling helper_ctx() but that can
block randomly for any reason, so let's not do that.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36007>
2025-08-31 13:12:16 +00:00
Olivia Lee
9a03aee703 editorconfig: move OpenCL configuration to root
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
All of the OpenCL files in mesa use 3-space indentation. Move the
editorconfig configuration for this to the root so that supported
editors will pick this up automatically.

Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Reviewed-by: Mary Guillemard <mary@mary.zone>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37046>
2025-08-30 22:49:08 -07:00
Marek Olšák
9e16ed7a13 ac/nir: switch nir_load_smem_amd uses to ac_nir_load_smem wrapper
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
ac_nir_load_smem will use load_global_amd

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37101>
2025-08-30 15:04:32 -04:00
Marek Olšák
4c87d002e3 aco,radeonsi: expand 32-bit shader arg pointers to 64 bits for ACO
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37101>
2025-08-30 15:04:32 -04:00
Marek Olšák
9a33c03654 ac/llvm: port load_smem_amd behavior to load_global_amd
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37101>
2025-08-30 15:04:32 -04:00
Marek Olšák
f5ba2d3e8f ac/llvm: fix handling COHERENT and VOLATILE flags for global access
Fixes: c181db0660 - ac/llvm: rewrite global & shared stores to share code

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37101>
2025-08-30 15:04:32 -04:00
Marek Olšák
7d5288b5b7 aco: check that global addresses are 64bit, apply_nuw_to_ssa to global_amd/smem
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37101>
2025-08-30 15:04:32 -04:00
Rhys Perry
2d0f93631c nir/divergence: make smem load_global_amd uniform
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37101>
2025-08-30 14:55:13 -04:00
Marek Olšák
25294f3dd4 nir/opt_move_to_top: handle load_global_amd with ACCESS_SMEM_AMD
to match the behavior of load_smem_amd

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37101>
2025-08-30 14:55:13 -04:00
Marek Olšák
48050dbef6 nir/opt_sink: handle load_global_amd
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37101>
2025-08-30 14:55:13 -04:00
Marek Olšák
219fcd4b32 nir/opt_call: handle load_global(_amd) with SPECULATE as rematerializable
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37101>
2025-08-30 14:55:13 -04:00
Seán de Búrca
70794de792 rusticl/kernel: delay calculation of CSO info until kernel creation
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37036>
2025-08-30 09:59:54 -07:00
Eric Engestrom
ba292ac34a zink+radv/ci: add traces job on gfx1201
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/37010>
2025-08-30 14:53:55 +00:00
Eric Engestrom
e0417ea468 zink+radv/ci: add traces job on vangogh
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37010>
2025-08-30 14:53:55 +00:00
Karol Herbst
0478d83eae rusticl/kernel: rework KernelExecBuilder::get_resources_and_globals to reduce allocations
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36917>
2025-08-30 14:36:53 +00:00
Karol Herbst
0b80bf3ee0 rusticl/kernel: allocate the full input buffer at creation time
This should save us random reallocations of the input buffer lowering
kernel launch overhead by a bit.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36917>
2025-08-30 14:36:53 +00:00