Yiwei Zhang
b9207d3ad9
venus: support VK_EXT_legacy_dithering
...
Test: dEQP-VK.*.dithering.v2.*
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33992 >
2025-03-12 19:41:12 +00:00
Yiwei Zhang
cb5fa89bc4
venus: support VK_EXT_filter_cubic
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33992 >
2025-03-12 19:41:12 +00:00
Yiwei Zhang
89ec6c4d8f
venus: add a few more trivial extensions
...
Below are added:
1. VK_GOOGLE_decorate_string
2. VK_GOOGLE_hlsl_functionality1
3. VK_GOOGLE_user_type
4. VK_EXT_display_control
5. VK_EXT_hdr_metadata
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33992 >
2025-03-12 19:41:12 +00:00
Yiwei Zhang
9e01731bc9
venus: sync latest protocol for more extension support
...
This sync also drops redundant vn_call_* helpers.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33992 >
2025-03-12 19:41:12 +00:00
Yiwei Zhang
e2c5435808
venus: drop vn_call usage on apis without any returns
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33992 >
2025-03-12 19:41:12 +00:00
Alyssa Rosenzweig
ac0ca63b9d
v3dv: use the stats framework
...
This doesn't "go all the way", ideally we'd plumb stats into the broadcom
compiler and then reuse the generated code for GL. See
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33921 for an
example of that. But this is a step in the right direction by itself.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33922 >
2025-03-12 16:49:46 +00:00
John Anthony
8a47ae456c
panvk: Avoid division by zero for vkCmdCopyQueryPoolResults
...
Stride can be zero if there are less than two queries to copy.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Fixes: 7755c41b3e ("panvk/csf: Rework the occlusion query logic to avoid draw flushes")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34020 >
2025-03-12 14:22:39 +00:00
David Rosca
43c99d3928
frontends/va: Don't filter supported formats according to config RT format
...
This matches Intel driver. Chromium always sets RT format to YUV420
which would cause us to not report other formats as supported.
Only check that the RT format is actually supported when creating
config, but don't limit supported surface formats.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34001 >
2025-03-12 13:57:54 +00:00
David Rosca
47a9312a5d
frontends/va: Use ARGB as default fourcc for RGB32 RT format
...
This matches Intel driver and is what Chromium expects.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34001 >
2025-03-12 13:57:54 +00:00
David Rosca
f87d72152c
frontends/va: Support A8R8G8B8 format for processing
...
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34001 >
2025-03-12 13:57:54 +00:00
Ella Stanforth
332b313547
v3d: enable framebuffer fetch
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33766 >
2025-03-12 13:28:16 +00:00
Ella Stanforth
6023a46d02
v3d/compiler: Implement load_output
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33766 >
2025-03-12 13:28:16 +00:00
Lionel Landwerlin
de2a65ade6
anv: fix non page aligned descriptor bindings on <Gfx12.0
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: ab7641b8dc ("anv: implement descriptor buffer binding")
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33911 >
2025-03-12 12:23:24 +00:00
Yiwei Zhang
06369caa40
pan/kmod: set DRM_RDWR for exported dma-bufs
...
This allows the exported fds to be mapped for writing. This is needed
for virtgpu native ctx support where the fds are mapped rw when the
mappings are added to the guest by kvm. This aligns with other mesa
drivers, and unblocks the extended testing with venus on top.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34017 >
2025-03-12 11:54:22 +00:00
Georg Lehmann
cac4287aab
aco/validate: fix scalar source validation for DPP and gfx11+ VINTERP
...
Acked-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33969 >
2025-03-12 11:31:54 +00:00
Georg Lehmann
3b5e537b09
aco/gfx11.5: remove vinterp ddx/ddy path
...
While the idea to take advantage of the higher throughput wasn't bad,
the hardware wasn't design with this in mind and doesn't behave like expected
with constant sources.
Fixes: bee487df48 ("aco/gfx11.5+: use vinterp for fddx/fddy")
Acked-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33969 >
2025-03-12 11:31:54 +00:00
Antonio Ospite
bac77bb30d
ci/android: add a job using android-cts instead of deqp-runner
...
We also want to run Android CTS in the Android jobs.
Since the Android CTS is quite large, download it and strip it down to
only contain the interesting tests, so to reduce the space taken in the
container image.
Eventually we might want to have android-cts be run via deqp-runner
itself, but for now add a proof-of-concept mechanism which calls the
android-cts directly and uses an ad-hoc handling of expectations.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33499 >
2025-03-12 10:29:17 +00:00
Antonio Ospite
a6a38667f9
ci/android: add an android-deqp-runner.sh script
...
To run deqp-runner in cuttlefish we do something similar to
deqp-runner.sh but adapted to be used on Android via adb.
Isolate those adapted commands in an android-deqp-runner.sh script so
that in the future it will be easier to compare with deqp-runner.sh and
evaluate if deqp-runner.sh and android-deqp-runner.sh could be possibly
consolidated into a single script.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33499 >
2025-03-12 10:29:17 +00:00
Antonio Ospite
e3a941720e
ci/android: move all dEQP handling in one place in cuttlefish-runner.sh
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33499 >
2025-03-12 10:29:17 +00:00
Antonio Ospite
ef496469bf
ci/android: pass -vsock_guest_cid to launch_cvd
...
This reduces the risk of conflicting ports on the host system.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33499 >
2025-03-12 10:29:17 +00:00
Antonio Ospite
074297aea1
ci/android: push /deqp-gles/mustpass/egl-main.txt.zst
...
Push /deqp-gles/mustpass/egl-main.txt.zst instead of the uncompressed
version which also have a version number in the path.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33499 >
2025-03-12 10:29:17 +00:00
Antonio Ospite
ae574a08c6
ci/android: use an x86_64_only cuttlefish image
...
In .gitlab-ci/cuttlefish-runner.sh 32bit libraries were removed but they
were not being replaced with newer ones, however this caused some
problems because by default the x86_64 target in AOSP is still
multi-library and for example the 32bit zygote process ended up crashing
because of the missing 32bit libraries, causing a general system
instability.
Since the CI is only building 64bit libraries for the android target,
use an x86_64_only cuttlefish product which only has components and
libraries built for the 64bit target, this avoids dealing with 32bit
EGL/Vulkan libraries at all, preventing any possible cause of
instability.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33499 >
2025-03-12 10:29:17 +00:00
Antonio Ospite
3520ed0f2c
ci/android: bump CUTTLEFISH_BUILD_NUMBER
...
Bump CUTTLEFISH_BUILD_NUMBER to get a newer version that fixes some
issues with the `mesa_swrast_guest_angle` GPU_MODE.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33499 >
2025-03-12 10:29:17 +00:00
Antonio Ospite
7b4aa9cf80
ci/android: increase the waiting time to stop the cuttlefish launcher
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33499 >
2025-03-12 10:29:17 +00:00
Antonio Ospite
0a267694db
ci/android: stop cuttlefish before copying the logs, to log everything
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33499 >
2025-03-12 10:29:17 +00:00
Antonio Ospite
6d4ebb3ff4
ci/android: disable modem simulator in cuttlefish, it is not needed
...
Disable the modem simulator in cuttlefish, it is not needed for testing
the graphics subsystem and avoids opening a few vsock ports which
reduces the chance of collisions in case of multiple instances of
cuttlefish running concurrently.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33499 >
2025-03-12 10:29:17 +00:00
Antonio Ospite
e9b98b53b4
ci/android: disable audio in cuttlefish, it is not needed
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33499 >
2025-03-12 10:29:17 +00:00
Antonio Ospite
a8f98befe3
ci/android: don't set HOME globally in cuttlefish-runner.sh
...
Having HOME defined globally could mess up other things like adb config
files.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33499 >
2025-03-12 10:29:16 +00:00
Antonio Ospite
f8fc7297cb
ci/android: don't do unnecessary cleanup
...
Cleaning up and stopping cuttlefish before launching it is not strictly
necessary when using gitlab shared runners.
This can be added back later when we have a better justification.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33499 >
2025-03-12 10:29:16 +00:00
Konstantin Seurer
fc12fafb1d
radv/meta: Change the return type of get_r32g32b32_format to VkFormat
...
Gets rid of some compiler warnings.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33983 >
2025-03-12 10:07:37 +00:00
Lionel Landwerlin
29865b41fb
anv: simplify internal blorp helper
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33909 >
2025-03-12 09:37:50 +00:00
Lionel Landwerlin
900483f13f
anv: use addresses for buffer<->image copies
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33909 >
2025-03-12 09:37:50 +00:00
Lionel Landwerlin
02bbe2f9c5
anv: track protection on anv_address
...
This simplifies the propagation of the protection value, we just set
it on buffer->address at creation time and forget about it.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33909 >
2025-03-12 09:37:50 +00:00
Lionel Landwerlin
648d843813
anv: move xfb buffer storage to 64bit address + mocs
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33909 >
2025-03-12 09:37:50 +00:00
Lionel Landwerlin
3c0dcfeb0f
anv: move vertex buffer storage to 64bit address + mocs
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33909 >
2025-03-12 09:37:50 +00:00
Lionel Landwerlin
d254dc4eaf
anv: move index buffer entry point out of genX code
...
Take the opportunity to move to 64bit address + mocs.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33909 >
2025-03-12 09:37:50 +00:00
Samuel Pitoiset
60b2e6f8ac
radv/tests: add few tests that verify drirc options
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33875 >
2025-03-12 09:07:16 +00:00
Samuel Pitoiset
8abe6beb3c
radv/tests: add a test to verify that pipeline hash matches RGP<->Fossilize
...
Very useful to get the fossil from one RGP capture.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33875 >
2025-03-12 09:07:16 +00:00
Samuel Pitoiset
3da9d6dac9
radv/tests: add a test to verify that pipelineCacheUUID is invariant
...
This was recently broken because pipelineCacheUUID was computed using
the physical device cache key. This caused SteamOS precompilation to
not happen for games that have shaders-based drirc.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33875 >
2025-03-12 09:07:16 +00:00
Samuel Pitoiset
19e62c7abc
radv: add a small framework for RADV specific tests
...
There are a lot of things that can't be tested outside of the driver,
like drirc workarounds, RADV_DEBUG options and debugging stuff.
Writing RADV specific tests would help to avoid introducing regressions.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33875 >
2025-03-12 09:07:16 +00:00
Samuel Pitoiset
b8e3f66328
radv/winsys: enable has_timeline_syncobj for the null winsys
...
For testing the dedicated sparse queue drirc with the null winsys.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33875 >
2025-03-12 09:07:16 +00:00
Samuel Pitoiset
511d2a9c2e
ci: enable build-radv-tests for debian-clang and debian-vulkan
...
Similar to ACO tests.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33875 >
2025-03-12 09:07:15 +00:00
Samuel Pitoiset
5fe5fb147e
meson: add build-radv-tests option
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33875 >
2025-03-12 09:07:15 +00:00
Valentine Burley
4a4e0c833c
ci: Enable Perfetto in debian-no-libdrm for Turnip build testing
...
This ensures that the Perfetto-enabled Turnip build is tested, helping to
catch potential breakages that would otherwise go unnoticed.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33999 >
2025-03-12 07:11:06 +00:00
Lionel Landwerlin
4082e22676
anv: fill runtime buffer device_address field
...
Might be useful if the runtime starts using that field.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33917 >
2025-03-12 06:39:10 +00:00
Mike Blumenkrantz
73da0dcddc
gallium: eliminate frontend refcounting from samplerviews
...
A significant CPU performance bottleneck in mesa GL is refcounting atomics:
even with the current pinning attempts, eliminating them can yield huge
performance gains (easily verified by running drawoverhead with return false at the top of pipe_reference_described()).
This is a proof of concept for removing refcounts from gallium objects,
namely sampler views and resources. Sampler views were smaller in scope,
so I started there. This MR alone is not expected to noticeably affect
performance, though if applied to all drivers/frontends,
it would enable a bunch of code deletion for crazy samplerview
refcounting hacks currently used to try circumventing the existing overhead.
Co-authored-by: Karol Herbst <kherbst@redhat.com
Co-authored-by: David Rosca <david.rosca@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33813 >
2025-03-12 01:37:28 +00:00
Mike Blumenkrantz
f47da0caef
st/drawpixels: move sv unref out to callers
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33813 >
2025-03-12 01:37:28 +00:00
Mel Henning
8d4a3729a3
vulkan: Relax bda assert for zero-size buffers
...
Fixes: 73da18b956 ("vulkan: Add device address helpers to vk_buffer")
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33988 >
2025-03-12 01:09:54 +00:00
Tapani Pälli
de367eec07
intel/dev: reduce warning noise from urb settings II
...
In 4064b5546b , the idea was to have the minimum value as if all
stages are active, however hwconfig does not follow that for the
tessellation control stage. Ignore min values from hwconfig.
Fixes: 4064b5546b ("intel/dev: reduce warning noise from urb settings");
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33554 >
2025-03-12 00:29:05 +00:00
Maaz Mombasawala
f04287c0be
svga: Check float type when emitting atomic instructions
...
When translating atomic instructions, the base type of the imageView can be
float only for image_atomic_exchange. If a float type image is used with other
atomic instructions the results are undefined.
Enforce this check in the shader translator and don't emit any instruction if
it fails.
Fixes crash in piglit test arb_shader_image_load_store@invalid.
Signed-off-by: Maaz Mombasawala <maaz.mombasawala@broadcom.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33749 >
2025-03-11 23:28:33 +00:00