Commit graph

211282 commits

Author SHA1 Message Date
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
Karol Herbst
cfbe6020dc rusticl/kernel: add KernelExecBuilder::input
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36917>
2025-08-30 14:36:53 +00:00
Karol Herbst
183cbb0862 rusticl/kernel: move workgroup id offset handling into KernelExecBuilder
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36917>
2025-08-30 14:36:52 +00:00
Karol Herbst
3edb4daba2 rusticl/kernel: add KernelExecBuilder::get_resources_and_globals
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36917>
2025-08-30 14:36:52 +00:00
Karol Herbst
89f35e99a4 rusticl/kernel: add KernelExecBuilder::add_zero_padding
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36917>
2025-08-30 14:36:52 +00:00
Karol Herbst
0dc2a8fc01 rusticl/kernel: add KernelExecBuilder::add_values
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36917>
2025-08-30 14:36:51 +00:00
Karol Herbst
f83cfe7b21 rusticl/kernel: move add_sysval into KernelExecBuilder
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36917>
2025-08-30 14:36:51 +00:00
Karol Herbst
955c83992b rusticl/kernel: move add_global into KernelExecBuilder
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36917>
2025-08-30 14:36:50 +00:00
Karol Herbst
a2ffc1db55 rusticl/kernel: move add_pointer into KernelExecBuilder
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36917>
2025-08-30 14:36:50 +00:00
Karol Herbst
fc6f646262 rusticl/kernel: reduce CPU overhead of set_global_binding
This gets rid of the slice conversion we had to do previously.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36917>
2025-08-30 14:36:49 +00:00
Karol Herbst
357299052a rusticl/mesa: add borrow/to_owned semantics to our pipe_resource wrapper
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36917>
2025-08-30 14:36:49 +00:00
Karol Herbst
10b3dcdadf rusticl/mesa: rename PipeResource to PipeResourceOwned
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36917>
2025-08-30 14:36:49 +00:00
Renato Pereyra
443446aa82 anv: Enable anv_emulate_read_without_format for Android 15+
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
shaderStorageImageReadWithoutFormat is required by Android 15+

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37073>
2025-08-29 22:36:12 +00:00
Tim Van Patten
c585341552 intel/ds: Skip expensive timestamp query until necessary
The Xe ioctl DRM_XE_DEVICE_QUERY_ENGINE_CYCLES provides accurate
timestamps correlated between the CPU and GPU. However, it is slow and
impacts performance while collecting Perfetto traces.

Instead, use Perfetto's GetBootTimeNs() to track when to emit the
BUILTIN_CLOCK_BOOTTIME clock sync event so it only occurs every 1
second. This reduces the impact of recording gpu.renderstages from
-8% to -4%.

More concretely, FPS measurements when tracing Unity BoatAttack demo on
an Intel ADL device:

* gpu.renderstages disabled:            48.044293667
* gpu.renderstages enabled:             38.119778333 (-20.66%)
* gpu.renderstages enabeled + this fix: 42.641818333 (-11.24%)

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37095>
2025-08-29 21:34:43 +00:00
Mike Blumenkrantz
352ca665cb zink: set can_bind_const_buffer_as_vertex
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37093>
2025-08-29 21:07:40 +00:00
Mike Blumenkrantz
6c1294ae1c zink: unset validate_all_dirty_states
whatever bug used to exist here with DOOM2016 has since been fixed

ref #8252

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37093>
2025-08-29 21:07:40 +00:00
Sagar Ghuge
90daa80d1d anv: Apply pipe flushes for outstanding PC bits
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Apply any outstanding accumulated PC bits before we proceed on building
Acceleration Structure.

2 reasons for this :
   - some of the data accessed by the build might need to be flushed
     as a result of a previous barrier
   - the scratch buffer might get reused between builds

Cc: mesa-stable
Closes: #13711
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Tested-by: Caleb Callaway <caleb.callaway@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36951>
2025-08-29 20:19:45 +00:00
Rob Clark
e9cd8ebb16 freedreno/a6xx: Require write support for images
is_format_supported() doesn't really differentiate between read and
write.  So require both.

Fixes a bunch of cl cts tests resulting from garbage (uninitialized)
storage_descriptor.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37089>
2025-08-29 19:57:35 +00:00
Mohamed Ahmed
af5a7b0ddf nil: Add missing compressible PTE kinds
We were missing compressible PTE kinds for generic on TU102 and GB202.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37094>
2025-08-29 15:27:50 -04:00
Faith Ekstrand
1b6d6f8e03 nil: Delete some useless image alignment code
This was copied+pasted from the old GL driver but we never use any of
those PTE kinds since they're only for compressed depth pre-Turing.
We've also never provied that this is actually good for anything.  Just
delete it for now.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37094>
2025-08-29 15:27:50 -04:00
Mary Guillemard
b7a0f0215f hk: Return 0 for opaque memory capture replay
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
If implementation does not actually replay the VA, it must return 0
to not violate:

"If the memory object was allocated with a non-zero value of
opaqueCaptureAddress, the return value must be the same address."

Fixes RenderDoc capture replay, which asserts on the this spec rule
being followed.

Signed-off-by: Mary Guillemard <mary@mary.zone>
Fixes: 5bc8284816 ("hk: add Vulkan driver for Apple GPUs")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37090>
2025-08-29 17:11:00 +00:00
Eric Engestrom
159fcfdb2f ci: document what scope the ci_run_n_monitor token needs
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/37083>
2025-08-29 16:18:30 +00:00
Benjamin Otte
4598028fde device_select: Allow shortcut names for device types
Add a bunch of shortcut names to select physical devices by their device
type.
In particular this aims to make switching between igpu and dgpu easy as
well as testing with lavapipe.

v2:
- rebase and reformat
- use strncasecmp and VkPhysicalDeviceType
- only print debug message when enabled

Signed-off-by: Benjamin Otte <otte@redhat.com>
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> (v2)
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36717>
2025-08-29 15:51:06 +00:00
Rhys Perry
dea14578b8 device-select: refactor device_select_get_default
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/36717>
2025-08-29 15:51:06 +00:00
Rhys Perry
7302e839ea device-select: use debug_get_bool_option for FORCE_DEFAULT_DEVICE
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/36717>
2025-08-29 15:51:05 +00:00
Rhys Perry
1ff868adcf device-select: do all getenv during instance creation
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/36717>
2025-08-29 15:51:05 +00:00
Rhys Perry
e15e7738ac device-select: simplify adding/removing instances
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/36717>
2025-08-29 15:51:04 +00:00
Rhys Perry
c1bd371f15 device-select: move get_default_device to it's own file
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/36717>
2025-08-29 15:51:04 +00:00
Rhys Perry
a392a57778 device-select: clang-format
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/36717>
2025-08-29 15:51:03 +00:00
Connor Abbott
d77b066d52 tu: Don't decrement implicit_sync_bo_count with VM_BIND
There are no implicit sync BOs with VM_BIND and this is unused.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37070>
2025-08-29 15:14:40 +00:00
Danylo Piliaiev
0e3654a167 tu: Fix the lack of IB size sanitization in several cases in tu_cs
A BO can be larger than the requested size due to page-size alignment.
Sanitize the IB size derived from the BO at all call sites that create
IBs for CS, so we never exceed the HW limit.

Was found when replaying the following capture:
 Sid Meiers Civilization VI_289070 _dx11_World Map_ultra_720p.rdc

Fixes: aa392e1ec2 ("tu: Align BO size to page size")

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37082>
2025-08-29 14:49:48 +00:00
Alyssa Rosenzweig
b1146e4fd1 mailmap: add Alyssa's Intel e-mail address
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: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37071>
2025-08-29 14:11:10 +00:00