Commit graph

196971 commits

Author SHA1 Message Date
Eric Engestrom
54d8f2a1cf llvmpipe/ci: document fixed tests
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37575>
2025-09-25 17:07:59 +00:00
Antonio Ospite
613bfe0b8b device-select: fix build errors on some stricter build configurations
After commit 45eb3bfd32 (device-select: only try wayland/x11 if the
required vars are set, 2024-10-18), building `device_select_layer.c` can
results in compiler errors on some stricter build configurations
(-Werror,-Wunused-variable):

-----------------------------------------------------------------------
../src/vulkan/device-select-layer/device_select_layer.c:149:9: error: unused variable 'has_wayland' [-Werror,-Wunused-variable]
  149 |    bool has_wayland = getenv("WAYLAND_DISPLAY") || getenv("WAYLAND_SOCKET");
      |         ^~~~~~~~~~~
../src/vulkan/device-select-layer/device_select_layer.c:150:9: error: unused variable 'has_xcb' [-Werror,-Wunused-variable]
  150 |    bool has_xcb = !!getenv("DISPLAY");
      |         ^~~~~~~
2 errors generated.
-----------------------------------------------------------------------

So guard the declarations of the `has_wayland` and `has_xcb` variables
behind `VK_USE_PLATFORM_WAYLAND_KHR` and `VK_USE_PLATFORM_XCB_KHR`
respectively, just like the user code.

Note: the declarations are still kept outside of the loop body, in order
to assign the variables once and for all.

Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37571>
2025-09-25 16:36:35 +00:00
Silvio Vilerino
d4f44edbff mediafoundation: Use d3d12 extension set_video_encoder_max_async_queue_depth to save memory in low latency (no async/in flight frames)
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37565>
2025-09-25 16:17:28 +00:00
Silvio Vilerino
d7c4131963 d3d12: Fix video encoder async depth fence wait off by one bug
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37565>
2025-09-25 16:17:28 +00:00
Silvio Vilerino
b8f2c41581 d3d12: Allow frontends to set_video_encoder_max_async_queue_depth() to manage encoder memory overhead
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37565>
2025-09-25 16:17:28 +00:00
Silvio Vilerino
b2b009fc29 d3d12: Use lower size estimations for compressed output bitstream sizes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37565>
2025-09-25 16:17:28 +00:00
Silvio Vilerino
0395dca6d6 mediafoundation: Use lower size estimations for compressed output bitstream sizes
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37565>
2025-09-25 16:17:27 +00:00
Job Noorman
30703e1d7d freedreno/computerator: disable disk cache
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Fixes a crash during startup because `build_id_find_nhdr_for_addr`
returns null. Besides that, using the compiler cache is meaningless for
computerator.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37572>
2025-09-25 16:01:04 +00:00
Georg Lehmann
cf30742a66 radv,aco: don't end monolithic ray tracing with unconditional terminate
The terminate requires more code and blocks us from deallocating VGPRs early.

Foz-DB Navi31:
Totals from 63 (0.08% of 80273) affected shaders:
Instrs: 3372702 -> 3372467 (-0.01%)
CodeSize: 17441676 -> 17440736 (-0.01%)
Latency: 19763447 -> 19763288 (-0.00%)
InvThroughput: 3860502 -> 3860478 (-0.00%)
Branches: 96204 -> 96141 (-0.07%)
SALU: 406648 -> 406549 (-0.02%)

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37542>
2025-09-25 15:35:55 +00:00
Marek Olšák
a441a30921 radeonsi: compute blake3 hashes of internal shaders if they are not set
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37566>
2025-09-25 14:22:57 +00:00
Marek Olšák
e018b916d1 radeonsi/ci: primitive_counter failures are no longer reproducible on gfx12
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37566>
2025-09-25 14:22:57 +00:00
Marek Olšák
6d88d2c2c3 radeonsi: switch VBO descriptor uploads from u_upload_alloc_ref to u_upload_alloc
This is cleaner. No effect on behavior.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37566>
2025-09-25 14:22:57 +00:00
Marek Olšák
cc29c41f06 radeonsi: don't ref and unref an index buffer uploaded from a user buffer
This replaces u_upload_data_ref with u_upload_data.

No effect since TC ensures we don't get user buffers.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37566>
2025-09-25 14:22:57 +00:00
Marek Olšák
f140b96edc radeonsi: remove recursion from si_set_constant_buffer
Instead of calling self to bind NULL on user buffer upload failure,
upload sooner and set input = NULL on failure.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37566>
2025-09-25 14:22:57 +00:00
Marek Olšák
1a8088d62b radeonsi: if rebinding the same constbuf, don't update refcount with atomics
It was decrementing and then incrementing the refcount in that case.

If buffers->buffers[slot] == buffer, there are no atomics.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37566>
2025-09-25 14:22:57 +00:00
Marek Olšák
cfeccfbb3a radeonsi: inline si_upload_const_buffer
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37566>
2025-09-25 14:22:57 +00:00
Marek Olšák
baa7a5fd80 radeonsi: always set TC_L2 for CP DMA on GFX12
TC_L2 likely means MALL, though it could also have no meaning.
CP never uses L2 on GFX12.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37566>
2025-09-25 14:22:56 +00:00
Zan Dobersek
45dcbcfc02 tu: limit query pool types logged into RMV
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
RMV only supports logging three types of query pools as created resources.
Filtering unsupported ones will avoid asserts when these tokens are
processed during RMV trace output.

Signed-off-by: Zan Dobersek <zdobersek@igalia.com>
Reviewed-by: Karmjit Mahil <karmjit.mahil@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37560>
2025-09-25 11:00:20 +00:00
Christian Gmeiner
e39ba2f6e8 etnaviv: Fix util_blitter_save_so_targets(..) call
The current code was conditionally passing empty streamout targets to
util_blitter_save_so_targets() only when ETNA_DBG_DEQP was enabled.

Since etnaviv supports hardware streamout on some GPUs, we should
always pass the actual streamout state to properly save and restore
it during blitter operations.

Fixes: 52bc3c2d20 ("etnaviv: Implement stream output target management")
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37564>
2025-09-25 10:44:37 +00:00
Erik Faye-Lund
eadc0416b9 pvr: wire up version-overriding
Not a whole lot of applications supports Vulkan 1.0, so let's wire up
support for MESA_VK_VERSION_OVERRIDE so we can easily override the
version when testing.

While we're at it, let's switch to VK_MAKE_API_VERSION, as
VK_MAKE_VERSION is deprecated now.

Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Simon Perretta <simon.perretta@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37556>
2025-09-25 10:20:55 +00:00
Erik Faye-Lund
c5fc1f3e90 pvr: report vulkan 1.4 to the loader
These bits aren't about the API version supported, but the version of
the loader interface supported. We support Vulkan 1.4 in that regard,
so let's report that.

Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Simon Perretta <simon.perretta@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37556>
2025-09-25 10:20:55 +00:00
Boris Brezillon
adcd8411df panvk: Don't expose low/high priority queues on Bifrost
The JM backend logic is not ready for that yet.

Fixes: f04dbf0bc0 ("pan/kmod: query and cache available context priorities from KMD")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37480>
2025-09-25 10:03:06 +00:00
Boris Brezillon
971e068762 panvk: Fix ordering in prepare_draw()
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
panvk_draw_prepare_attributes() depends on VS descriptors sets being
up-to-date which implies calling cmd_prepare_shader_desc_tables()
before. panvk_draw_prepare_vs_copy_desc_job() depends on img_attrib_table,
which can be set in panvk_draw_prepare_vs_attributes().

Signed-off-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/37501>
2025-09-25 10:50:34 +02:00
Caio Oliveira
f011e5707d brw: Identify if/break/endif special case before emission
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37147>
2025-09-25 06:36:10 +00:00
Caio Oliveira
f00fca998e intel/mda: Add MDA_FILTER to select which archives to generate
Matches if names contains the filter value, multiple values separated by
commas.

Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29146>
2025-09-24 23:08:45 -07:00
Caio Oliveira
34198545aa intel/mda: Use archive filename as directory name instead of hardcoded "mda/"
This changes debug_archiver to create files inside a directory named
after the archive filename (e.g., "debug.anv.mda/") instead of the
hardcoded "mda/" directory.  This prevents conflicts if multiple
mda.tar files are extracted in the same location.

Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29146>
2025-09-24 23:08:45 -07:00
Caio Oliveira
3ff37e97a0 intel/mda: Allow more toplevel directory names inside mda.tar files
Will allow generate anv.tar with unique "first directory name" instead
of always "mda/", avoiding overlaps if user untars the files.  The name
still must end with "mda/".

Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29146>
2025-09-24 23:08:45 -07:00
Caio Oliveira
a1d66c18c9 intel/mda: If MDA_PREFIX=timestamp use the actual timestamp as a prefix
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29146>
2025-09-24 23:08:45 -07:00
Caio Oliveira
c21494576e intel/mda: Add MDA_OUTPUT_DIR and MDA_PREFIX environment variable support
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29146>
2025-09-24 23:08:45 -07:00
Caio Oliveira
dfdc883833 intel/mda: Add pager support
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29146>
2025-09-24 23:08:45 -07:00
Caio Oliveira
ceb1baf939 intel/mda: Handle non-contiguous object versions in mda.tar files
Allow archives to have interleaved entries where different object
versions don't appear together.  This gives more flexibility to the
drivers when producing the mda.tar files.

Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29146>
2025-09-24 23:08:45 -07:00
Caio Oliveira
38b462e09a intel/mda: Add -U and -Y diff options
Make more ergonomic to use the common unified and side-by-side diffs,
and also optionally set the context lines (for -U) and the width (for -Y).
This should cover most common cases.  MDA_DIFF_COMMAND is still available
for full control.

Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29146>
2025-09-24 23:08:45 -07:00
Caio Oliveira
ef3cafe44e intel/mda: Add search/searchall commands
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29146>
2025-09-24 23:08:45 -07:00
Caio Oliveira
44f39eea55 intel/mda: Add tool to inspect mesa debug archives
The debug archive files are regular tar files, so can be
inspected by tar, and also used direct by file managers and editors.
However a few common tasks are worth having already set up in the
repository.

This tool adds convenience to some of those tasks, including

- Print last version of a shader representation;
- Print a `git-log`-like view of the changes of a shader;
- Comparing two shaders, e.g. SIMD8 and SIMD16 shaders in
  Intel;
- Comparing two specific versions of any shaders.

See the "manual" inside the commit for more details.

Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29146>
2025-09-24 23:08:45 -07:00
Caio Oliveira
dedbe0e826 iris: Create archive file when using INTEL_DEBUG=mda
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29146>
2025-09-24 23:08:45 -07:00
Caio Oliveira
6c90a9c8e3 anv: Create archive file when using INTEL_DEBUG=mda
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29146>
2025-09-24 23:08:45 -07:00
Caio Oliveira
bce2cb1e24 anv: Refactor anv_shader_compile result handling
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29146>
2025-09-24 23:08:45 -07:00
Caio Oliveira
9f6155e47d brw: Also include the final disassembly in the debug archive
This doesn't replace existing support for INTEL_DEBUG=shaders -- so both
`shaders` and `mda` can be used.

Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29146>
2025-09-24 23:08:45 -07:00
Caio Oliveira
cdef824b7a brw: Include some NIR states in the debug archive
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29146>
2025-09-24 23:08:45 -07:00
Caio Oliveira
f82d85a685 brw: Use debug archive file with INTEL_DEBUG=mda
Instead of dumping multiple files with the optimizer passes, write a single
archive file with all the contents.  The actual file is created
by the drivers, so later commits will actually enable the feature in
anv and iris.

This removes the use of INTEL_DEBUG=optimizer (and the corresponding
enum value) in brw.  That environment variable is still used by ELK --
which currently doesn't support mda.

Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29146>
2025-09-24 23:08:45 -07:00
Caio Oliveira
bccc0fa984 intel/mda: Add code to produce mesa debug archives
Uses the tar format to collect multiple output files.  It can
be inspected using the regular UNIX tools, but a later commit
will add a specialized tool to perform common tasks.

The tar implementation is enough to fulfill the current needs
without adding a dependency.  There's also a small test mostly
to ensure scaffolding is there in case we need to expand the
implementation.

Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29146>
2025-09-24 23:08:45 -07:00
Iván Briano
186cd59cf2 anv: use the color_map if present for calculating color_mask
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
If the FS has writes to multiple color outputs, but there are not enough
color attachments for them all, we may optimize out the exceeding ones.
With VK_KHR_dynamic_rendering_local_read, we were not respecting the
mapping from output to attachment set by the application, and the wrong
writes were getting eliminated.

Fixes future CTS tests: dEQP-VK.renderpasses.dynamic_rendering.primary_cmd_buff.local_read.remap_single_attachment*

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37531>
2025-09-24 21:47:42 +00:00
Iván Briano
66fcae5b1b anv: fix FS output <-> attachment map building
The arrays is first memset to OUTPUT_DISABLED, but if we iterate over
MAX_RTS instead of the actual attachment count, we end up resetting any
values not set by the application to the, probably identity, that comes
from the state.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37531>
2025-09-24 21:47:42 +00:00
Caio Oliveira
9f979776ed egl: Don't maintain a list of AtExit functions
Dynamically adding to the list is not used anymore, so
just inline the calls in the atexit callback and remove
_eglAddAtExitCall().

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37518>
2025-09-24 21:16:02 +00:00
Caio Oliveira
8435837a5b egl: Set atexit() handler during initialization
This ensure that the default handlers enumerated in
eglGlobal will be called.  Historically the atexit() would
be set when adding a new handler, but as the code moved on
the handlers were included by default and the function
that added them is not being called anymore.

This fixes memory leaks like

```
==37635== 144 bytes in 1 blocks are still reachable in loss record 2,416 of 2,428
==37635==    at 0x48463F3: calloc (vg_replace_malloc.c:1675)
==37635==    by 0x7D13686: ??? (in /usr/lib64/libdrm.so.2.125.0)
==37635==    by 0x7D13A13: ??? (in /usr/lib64/libdrm.so.2.125.0)
==37635==    by 0x7D18310: drmGetDevices2 (in /usr/lib64/libdrm.so.2.125.0)
==37635==    by 0x4FFC411: _eglDeviceRefreshList (egldevice.c:431)
==37635==    by 0x4FF079A: eglInitialize (eglapi.c:672)
==37635==    by 0x40078F: main (main.c:75)
```

and

```
==37664== 2,680 bytes in 1 blocks are still reachable in loss record 2,423 of 2,428
==37664==    at 0x48463F3: calloc (vg_replace_malloc.c:1675)
==37664==    by 0x4FFCDF3: _eglFindDisplay (egldisplay.c:270)
==37664==    by 0x4FEED00: eglGetDisplay (eglapi.c:418)
==37664==    by 0x501464E: __eglGLVNDGetPlatformDisplay (eglglvnd.c:67)
==37664==    by 0x488170D: ??? (in /usr/lib64/libEGL.so.1.1.0)
==37664==    by 0x40075C: main (main.c:68)
```

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37518>
2025-09-24 21:16:02 +00:00
Faith Ekstrand
0f7e0f79ad vulkan/queue: Move shared binary semaphores to temps
If a client creates a semaphore, exports it, and then re-imports it back
into the device, this can trick our semaphore reset logic.  When this
happens, we end up with two different vk_sync structs that have the same
underlying payload so if one is used as the signal and one is used as
the wait of the same submit, we'll end up resetting it because we think
they're different, causing us to lose the signal.

We already have the ability to handle this for the threaded case by
moving the semaphore payload into a new vk_sync which we then destroy
after we're done submitting to the driver.  Use this path for shared
semaphores in the immediate case so we can just wait and signal without
worrying about the reset.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13805
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37149>
2025-09-24 20:38:13 +00:00
Eric Engestrom
e4edf9203b meson: use vcs_tag() instead of custom script
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/37337>
2025-09-24 18:49:37 +00:00
Yonggang Luo
00783d821d meson/util: Define _GNU_SOURCE for mingw
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13944
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13906

Even though use -Dc_std=gnu18 -Dcpp_std=gnu++20 can also compile with mingw,
but for not bothering user, let's us define _GNU_SOURCE for mingw, and it's also
expose more functional that exists in mingw

As it's not a fixes just a improve so have no fixes in commit message

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Tested-by: Vinson Lee <vlee@freedesktop.org>
Tested-by: Prodea Alexandru-Liviu <liviuprodea@yahoo.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37514>
2025-09-24 18:13:03 +00:00
Yiwei Zhang
e4b524709f panvk: fix image/buffer destroy to use MODE_IMMEDIATE for unmap
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The TYPE_UNMAP was falsely passed as mode, and got mapped to MODE_ASYNC.
This change fixes that.

Fixes: 86068ad1ee ("panvk: implement sparse resources")
Reviewed-by: Caterina Shablia <caterina.shablia@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37539>
2025-09-24 17:55:43 +00:00
Yiwei Zhang
807bb875d6 panvk: fix blackhole bo error path to use MODE_IMMEDIATE for unmap
The TYPE_UNMAP was falsely passed as mode, and got mapped to MODE_ASYNC.
This change fixes that.

Fixes: 7f263dd2fb ("panvk: add blackhole bo")
Reviewed-by: Caterina Shablia <caterina.shablia@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37539>
2025-09-24 17:55:43 +00:00