Valentine Burley
ad22f2419a
ci/android: Make Vulkan driver replacement conditional
...
This avoids hard-coding Vulkan drivers that are not part of the arm64
Mesa build archive.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37738 >
2025-10-08 09:25:24 +00:00
Valentine Burley
1bca7ca3e0
ci: Rename ANDROID_GPU_MODE to CUTTLEFISH_GPU_MODE
...
Makes the variable name more clear.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37738 >
2025-10-08 09:25:24 +00:00
Rhys Perry
c63c695149
radv: move nir_opt_algebraic loop for NGG culling earlier
...
Totals from 6913 (8.66% of 79825) affected shaders: (Navi21)
Instrs: 5373319 -> 5358717 (-0.27%); split: -0.30%, +0.03%
CodeSize: 27448536 -> 27345464 (-0.38%); split: -0.41%, +0.03%
SpillSGPRs: 982 -> 998 (+1.63%)
Latency: 22998827 -> 23011602 (+0.06%); split: -0.13%, +0.19%
InvThroughput: 4663749 -> 4664809 (+0.02%); split: -0.00%, +0.03%
VClause: 120845 -> 120461 (-0.32%); split: -0.49%, +0.17%
SClause: 119068 -> 116064 (-2.52%); split: -2.71%, +0.18%
Copies: 456590 -> 456450 (-0.03%); split: -0.19%, +0.16%
Branches: 145555 -> 145559 (+0.00%); split: -0.00%, +0.01%
PreSGPRs: 300465 -> 301154 (+0.23%); split: -0.01%, +0.24%
VALU: 3064127 -> 3064210 (+0.00%); split: -0.00%, +0.00%
SALU: 891257 -> 886368 (-0.55%); split: -0.71%, +0.16%
SMEM: 190500 -> 184624 (-3.08%); split: -3.11%, +0.02%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36936 >
2025-10-08 08:54:11 +00:00
Marek Olšák
3fe651f607
nir: remove load_smem_amd
...
replaced by load_global_amd + ACCESS_SMEM_AMD
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36936 >
2025-10-08 08:54:11 +00:00
Daniel Schürmann
3ae2f12eb4
ac/nir: switch load_smem_amd to use load_global
...
Totals from 24920 (31.21% of 79839) affected shaders: (Navi48)
Instrs: 22044185 -> 22413945 (+1.68%); split: -0.01%, +1.68%
CodeSize: 117211728 -> 118623656 (+1.20%); split: -0.01%, +1.21%
VGPRs: 1199008 -> 1198948 (-0.01%)
SpillSGPRs: 7421 -> 7365 (-0.75%); split: -0.78%, +0.03%
SpillVGPRs: 2177 -> 2184 (+0.32%); split: -0.09%, +0.41%
Scratch: 7037952 -> 7038208 (+0.00%)
Latency: 155140452 -> 155530877 (+0.25%); split: -0.02%, +0.27%
InvThroughput: 23601713 -> 23634131 (+0.14%); split: -0.01%, +0.15%
VClause: 458456 -> 458575 (+0.03%); split: -0.09%, +0.11%
SClause: 651928 -> 649405 (-0.39%); split: -1.26%, +0.87%
Copies: 1681110 -> 1677057 (-0.24%); split: -0.42%, +0.17%
Branches: 515419 -> 515322 (-0.02%); split: -0.02%, +0.00%
PreSGPRs: 992903 -> 990545 (-0.24%); split: -0.24%, +0.00%
VALU: 11971995 -> 11967962 (-0.03%); split: -0.04%, +0.00%
SALU: 3247576 -> 3476720 (+7.06%); split: -0.03%, +7.08%
VMEM: 821046 -> 821056 (+0.00%); split: -0.00%, +0.00%
SMEM: 988476 -> 988779 (+0.03%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36936 >
2025-10-08 08:54:11 +00:00
Daniel Schürmann
2622a3bc47
radv,radeonsi: call ac_nir_lower_global_access and nir_lower_int64 for gs copy shaders
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36936 >
2025-10-08 08:54:08 +00:00
Daniel Schürmann
a02eb9a360
radeonsi: delay nir_lower_global_access
...
Also delay lower_int64 in order to improve offset parsing.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36936 >
2025-10-08 08:54:08 +00:00
Daniel Schürmann
50fcfe6bd8
radv: delay nir_opt_shrink_vectors
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36936 >
2025-10-08 08:54:05 +00:00
Daniel Schürmann
fdd6bdf03d
ac/nir_lower_global_access: don't assume pack_64_2x32 is the same as u2u64
...
It might also be the expanded base address.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36936 >
2025-10-08 08:53:58 +00:00
Daniel Schürmann
0209065229
ac/nir_lower_global_access: require no_unsigned wrap when extracting from 32-bit additions
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36936 >
2025-10-08 08:53:58 +00:00
Daniel Schürmann
7593667b0a
nir/divergence_analysis: check ACCESS_SMEM_AMD
...
Revert "nir/divergence: make smem load_global_amd uniform"
This reverts commit 2d0f93631c .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36936 >
2025-10-08 08:53:55 +00:00
Daniel Schürmann
c82d70d3ec
radv: delay lowering int64
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36936 >
2025-10-08 08:53:53 +00:00
Daniel Schürmann
eda8fc1e90
radv: delay lowering global access
...
Totals from 21 (0.03% of 79839) affected shaders: (Navi48)
Instrs: 30258 -> 30249 (-0.03%); split: -0.05%, +0.02%
CodeSize: 159660 -> 159552 (-0.07%); split: -0.07%, +0.01%
Latency: 188154 -> 188131 (-0.01%); split: -0.02%, +0.00%
SClause: 251 -> 252 (+0.40%)
SMEM: 619 -> 598 (-3.39%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36936 >
2025-10-08 08:53:53 +00:00
Daniel Schürmann
cacb390ec9
nir/load_store_vectorize: Fix parsing offsets through u2u64
...
Fixes: cfba417316 ('nir/load_store_vectorize: optimize accesses with u2u64(ishl.nuw(iadd))')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36936 >
2025-10-08 08:53:51 +00:00
David Rosca
d896c490df
radeonsi/vpe: Fix transfer function mapping to vpelib
...
Cc: mesa-stable
Reviewed-by: Peyton Lee <peytolee@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37759 >
2025-10-08 08:33:22 +00:00
Frank Binns
793abd9741
pvr: advertise VK_EXT_zero_initialize_device_memory
...
The kernel driver zero initialises device memory allocations for us, so all that
needs to be done is to advertise support for the extension.
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Karmjit Mahil <karmjit.mahil@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37732 >
2025-10-08 08:25:20 +01:00
Yiwei Zhang
3418076fab
panvk: adopt PANVK_DEBUG(category)
...
This change also cleans up redundant local variables (mostly just
panvk_instance), struct fields and function args.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37752 >
2025-10-08 06:50:52 +00:00
Yiwei Zhang
93cd8bf098
panvk: add PANVK_DEBUG(category) to simplify debug control
...
In general, the debug flags are served once per proc invocation. So we
can make panvk debug flags global and clean up the existing codes in the
next change. Meanwhile, this changes improves branch prediction on user
builds and logs the enabled debug options when startup is used.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37752 >
2025-10-08 06:50:52 +00:00
Vinson Lee
77f6753d68
gfxstream: Fix build error
...
../src/gfxstream/guest/vulkan_enc/ResourceTracker.cpp:40:10: fatal error: perfetto/tracing.h: No such file or directory
40 | #include <perfetto/tracing.h>
| ^~~~~~~~~~~~~~~~~~~~
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13939
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Gurchetan Singh <gurchetansingh@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37699 >
2025-10-08 05:38:19 +00:00
Vinson Lee
69becc0509
panfrost: Remove duplicate variable ret
...
Fix defect reported by Coverity Scan.
Evaluation order violation (EVALUATION_ORDER)
write_write_typo:
In ret = ret = ({...; drmIoctl(panfrost_device_fd(dev), 3221775434UL, &args);}),
ret is written twice with the same value.
Fixes: e9aedfe508 ("panfrost: Support JM context creation and destruction")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37708 >
2025-10-08 05:18:35 +00:00
Tapani Pälli
cb822a323f
anv/blorp: add missing cs stall on compute pipe control
...
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37715 >
2025-10-08 04:49:27 +00:00
Tapani Pälli
c15b8329fd
anv: add cs stall for any pipe control on compute
...
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37715 >
2025-10-08 04:49:27 +00:00
Tapani Pälli
5115d69f1c
iris: add a check if blorp can support blitter copy
...
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13915
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37731 >
2025-10-08 04:26:46 +00:00
Tapani Pälli
e2697d717f
intel/blorp: add restriction for gfx12
...
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37731 >
2025-10-08 04:26:46 +00:00
Connor Abbott
59815642eb
freedreno: Don't stomp VSC registers
...
These registers are shared between BR and BV. This means they can only
be written in BV or in BR during a special "disable binning" section
which synchronizes BR and BV. The register stomping infrastructure isn't
aware of this, so disable stomping for VSC.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37722 >
2025-10-08 03:59:34 +00:00
Iván Briano
a9ea7c542c
anv: report maint5::earlyFragment*SampleCounting correctly
...
The HW bug was fixed on Xe2, report so accordingly.
Can test behavior with dEQP-VK.fragment_operations.early_fragment.*_maintenance5
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37730 >
2025-10-07 22:21:48 +00:00
Paulo Zanoni
b75e0462ec
intel: unify parameters for the exec ioctl retries
...
Add the common magic numbers in a header file and make the functions
use them.
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37559 >
2025-10-07 19:48:36 +00:00
Paulo Zanoni
6d6b22b734
intel/xe: unify behavior with i915.ko regarding ENOMEM on DRM_IOCTL_XE_EXEC
...
When the system is under memory pressure (which can happen, for
example, during CI runs), don't immediately give up the exec ioctl
(which, for Vulkan, will result in the device being declared lost).
Instead, retry a little bit just like we do for i915.ko.
This is a trade-off.
One of the reasons to *not* have unified behavior regarding ENOMEM
between i915.ko and xe.ko is the fact that xe.ko uses vm_bind, so if
the user tried to bind more memory than it is able to, we'll just keep
getting ENOMEM as long as we retry the ioctl. We now have a retry
limit, so we'll eventually return the error.
On the other hand, if the problem is other applications consuming all
the memory, having the retry loop may really help avoid unnecessarily
marking the device as lost, since one of our retries may eventually
succeed.
I believe the tradeoff of "we'll now eventually succeed in some cases
where it's possible to succeed, at the expense of retrying for a few
seconds until giving up in cases where we would never be able to
succeed" is an improvement.
If xe.ko ever gives us a way to differentiate between the two
different reasons for ENOMEM, we'll be able to make things much
better. We can also tune our timeouts if needed.
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37559 >
2025-10-07 19:48:36 +00:00
Paulo Zanoni
680daeea63
intel/i915: warn the user about repeated execbuf ENOMEM after ~2s
...
By this point, the user may have noticed their game is not drawing any
new frames, so perhaps an error message might help.
This would also, of course, help identifying ENOMEM problems in our CI
runs.
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37559 >
2025-10-07 19:48:36 +00:00
Paulo Zanoni
dc1877a0a1
intel/i915: give up the execbuf ioctl after ~16s of ENOMEMs
...
If nothing has freed memory until that point, return the error, which
may make the upper layers report the device as lost. It could be that
the system is under very very heavy swapping and that waiting a little
more would make it work, but let's try 16s for now.
v2: Bring down the timeout from ~60s to ~16s (José).
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37559 >
2025-10-07 19:48:36 +00:00
Paulo Zanoni
7b1e9af900
intel/i915: sleep a little bit between retries of the execbuf ioctl
...
If the ioctl is returning ENOMEM, incessantly retrying does not seem
to be the best way to proceed. After the second retry, sleep 0.1ms,
then more each time, giving the CPU some time to run the other threads
and processes, in the hope that whatever is eating all the memory
might eventually return it.
If the problem is the current thread, then busy looping won't help
either, so here we at least save some power before the user kills the
app.
v2: Adjust the control flow and the sleep time.
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37559 >
2025-10-07 19:48:36 +00:00
Paulo Zanoni
d19a051714
intel/i915: add i915_gem_execbuf_ioctl()
...
Unify the common code for i915.ko execbuf submission between Iris and
Anv. I plan to add more code to this function in the next patches.
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37559 >
2025-10-07 19:48:36 +00:00
Paulo Zanoni
0c638d08e5
anv: we never set I915_EXEC_FENCE_OUT
...
Don't check something that will never be there, just assert() it.
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37559 >
2025-10-07 19:48:36 +00:00
Paulo Zanoni
5e67acbedc
anv/xe: set the queue as lost instead of the device on execbuf failure
...
The i915.ko backend calls vk_queue_set_lost(), let's unify behavior.
v2: Adjust patch due to series reordering.
Reviewed-by: Rohan Garg <rohan.garg@intel.com > (v1)
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37559 >
2025-10-07 19:48:36 +00:00
Paulo Zanoni
0176c877d5
anv/i915: rework set_lost handling in anv_gem_execbuffer()
...
Move the handling to inside anv_gem_execbuffer(), and also rework
things in a way where we can tell from which caller the error is
coming from.
v2: properly return VkResult (José).
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37559 >
2025-10-07 19:48:36 +00:00
Paulo Zanoni
0932d0c7e0
anv/xe: rework set_lost handling in xe_exec_ioctl()
...
Move the handling to inside xe_exec_ioctl() and also rework things in
a way where we can tell from which caller the error is coming from.
v2:
- properly return VkResult (José).
- adjust the patch due to reordering the series.
Reviewed-by: Rohan Garg <rohan.garg@intel.com > (v1)
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37559 >
2025-10-07 19:48:36 +00:00
Paulo Zanoni
e694c7e84e
anv/xe: extract xe_exec_ioctl()
...
For now, this just simplifies checking for devinfo->no_hw, but we're
planning to add more code that everybody calling the XE_EXEC ioctl
will run.
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37559 >
2025-10-07 19:48:36 +00:00
Paulo Zanoni
bca75a8484
anv/i915: bring info->no_hw handling to anv_gem_execbuffer()
...
Every single caller does the same check.
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37559 >
2025-10-07 19:48:36 +00:00
Paulo Zanoni
caca0b0e29
iris: devinfo->no_hw is unlikely
...
This is one of those places where we can very safely add
likely/unlikely.
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37559 >
2025-10-07 19:48:35 +00:00
Paulo Zanoni
258eae939f
iris/xe: move error checking to inside the devinfo->no_hw case
...
This check is for the command submission return.
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37559 >
2025-10-07 19:48:35 +00:00
Paulo Zanoni
cb796839cd
iris: fix indentation during command submission
...
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37559 >
2025-10-07 19:48:35 +00:00
Christian Gmeiner
30f12ceadb
etnaviv/ci: Add per-gpu GLES2 extension lists
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37739 >
2025-10-07 19:34:29 +00:00
Mike Blumenkrantz
3cd3195d31
zink: always add mutable to transient surface creation when needed
...
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37743 >
2025-10-07 19:16:49 +00:00
Mike Blumenkrantz
3d90a95ad3
zink: strip dmabuf bind flags when creating transient image
...
these enforce LINEAR tiling, which is broken with msaa
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37743 >
2025-10-07 19:16:48 +00:00
Mike Blumenkrantz
efe1926cf0
zink: stop using vk lazy allocations / transient attachments
...
this doesn't actually work since it uses multiple renderpasses to do
the replicate operation
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37743 >
2025-10-07 19:16:48 +00:00
Emma Anholt
f16d3bf042
ir3: Avoid O(n^2) behavior in rpt validation.
...
We were walking the instructions in the block for each
first-rpt-instruction in the block. Instead, on the first query per
block, make a set of all the rpts in the block, so we can O(1) check for
the remainder.
shader-db runtime for deadspace3 -7.60909% +/- 2.28996% (n=10) on a
debugoptimized build.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37625 >
2025-10-07 18:55:39 +00:00
Yiwei Zhang
55c355c572
pan/genxml: use process name to distinguish CS dumps
...
Android has to enable dumping globally. There's no per app based env
var at runtime since most apps just fork from Zygote process. So we have
to add process name to the dump file name. Now with pandecode.dump as
the base name, it'll be like below on Android:
- pandecode.dump.com.example.VkCube.ctx-*
- pandecode.dump.com.google.android.apps.nexuslauncher.ctx-*
This can be generally useful on Linux as well when debugging different
things to avoid accidentally touching existing dumps.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37729 >
2025-10-07 18:16:49 +00:00
Yiwei Zhang
55bc8319fd
pan/genxml: fall back to stderr when unable to create CS dump file
...
This avoids native crash on Android when system priviledged process is
involved during app launch animation but does not have specified storage
access (e.g. system_server can't access the common location /sdcard/*).
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37729 >
2025-10-07 18:16:49 +00:00
Yiwei Zhang
8249912d34
pan/genxml: improve pandecode_dump_file_open logging
...
Makes the pandecode_dump_file_open debug and error logs friendly to
Android.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37729 >
2025-10-07 18:16:48 +00:00
Rhys Perry
20af16b4d8
aco: use MTBUF for 64-bit atomic load/store
...
A 64-bit atomic load/store should be considered entirely out-of-bounds if
any part of it is out-of-bounds. Since we implemented these as 32-bit vec2
load/store, it would have been possible for the first half to be in-bounds
while the second half is out-of-bounds.
From 9.6.1. Robust Buffer Access of Vulkan 1.4.324 specification:
> Any non-atomic access to a uniform, storage, uniform texel, or storage
> texel buffer wider than 32-bits may be treated as multiple 32-bit
> accesses that are separately bounds checked.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36602 >
2025-10-07 17:41:31 +00:00