Commit graph

196342 commits

Author SHA1 Message Date
Serdar Kocdemir
1efbfd370b gfxstream: Use KHR version of the line_rasterization extension
Vulkan headers are exposing KHR version of the extension. Without this
change, codegen won't generate the necessary guest code, and the calls
with the extension structures will be skipped, causing dEQP failures.

Test: dEQP-VK.api.info.vulkan1p2_limits_validation*

Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31650>
2024-10-15 04:49:06 +00:00
Marek Olšák
64c4d29e65 nir/opt_vectorize_io: fix stack buffer overflow with 16-bit output stores
uncovered by unrelated work

Fixes: 2514999c9c - nir: add nir_opt_vectorize_io, vectorizing lowered IO

Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31644>
2024-10-15 03:59:17 +00:00
Timothy Arceri
46facf9037 nir/glsl: set cast mode for image during function inlining
Fixes: d681cf96fb ("nir/glsl: set deref cast mode during function inlining")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11980

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31554>
2024-10-15 03:13:24 +00:00
Chia-I Wu
b0a378374b panvk: advertise VK_EXT_physical_device_drm
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31635>
2024-10-15 00:34:04 +00:00
Chia-I Wu
fbea9ab3b8 panvk: query device ids of drm device nodes
They are needed for VK_EXT_physical_device_drm.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31635>
2024-10-15 00:34:04 +00:00
Chia-I Wu
6df3a0af4b panvk: refactor panthor_kmod_dev creation
Move pan_kmod_dev creation code to create_kmod_dev.  It also fixes
double close of render fd on errors, if the render fd ownership has been
transferred to pan_kmod_dev.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31635>
2024-10-15 00:34:04 +00:00
Chia-I Wu
620a2f17d0 panvk: remove unused panvk_physical_device::master_fd
panvk does not and could not support VK_KHR_display.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31635>
2024-10-15 00:34:04 +00:00
José Roberto de Souza
ab12e01af6 intel/perf: Add BMG OA support
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30982>
2024-10-14 23:54:04 +00:00
José Roberto de Souza
aa2f9b72b2 intel/perf: Sync oa-lnl.xml
IGT have sync the oa-lnl.xml with latest OA definitions.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30982>
2024-10-14 23:54:04 +00:00
Alessandro Astone
2c79e01259 panvk: Add missing headers to android platform
Fixes: 2de95773b9 ("panvk: Kill panvk_private.h")

Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31610>
2024-10-14 23:09:03 +00:00
David Heidelberg
321012b95d osmesa: Fix OSMesaGetDepthBuffer() test without depth
Correct copy-paste typo of depth_cpp instead of depth and use nullptr
instead of NULL, as GTest suggest in documentation:

When comparing a pointer to NULL, use EXPECT_EQ(ptr, nullptr) instead of EXPECT_EQ(ptr, NULL).

Fixes: ef9362acb8 ("gallium/osmesa: Return cleanly for OSMesaGetDepthBuffer() with no depth.")
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31606>
2024-10-14 22:10:55 +00:00
Konstantin Seurer
70a1453537 nir/print: Fix the alignment of 8-bit definitions
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31612>
2024-10-14 21:21:04 +00:00
Jordan Justen
0530d4d59d intel/dev: Add 0xb640 ARL PCI id
Backport-to: 24.2
Ref: 35667a0330
Ref: bspec 55420
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31618>
2024-10-14 19:43:35 +00:00
Sergi Blanch Torne
e8e8c17a0c Revert "ci: disable Collabora's farm due to maintenance"
This reverts commit 98f2a55eda.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31620>
2024-10-14 19:02:59 +00:00
Erik Faye-Lund
620739ebc4 panvk: expose KHR_external_fence and KHR_external_fence_capabilities
These seems to already be implemented, let's expose them!

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31487>
2024-10-14 18:33:29 +00:00
Erik Faye-Lund
17b81d1fdc panvk: expose KHR_external_memory and KHR_external_memory_capabilities
Seems to be implemented already, let's expose them!

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31487>
2024-10-14 18:33:29 +00:00
Erik Faye-Lund
f18bab24eb panvk: expose KHR_external_semaphore and KHR_external_semaphore_capabilities
These seem to already be implemented, so let's expose them.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31487>
2024-10-14 18:33:29 +00:00
Erik Faye-Lund
76172b8ebd docs/features: fix bad sorting of drivers
Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31487>
2024-10-14 18:33:29 +00:00
Erik Faye-Lund
c144e065a7 panvk: expose KHR_bind_memory2 support
This seems to already be implemented, so let's expose it...

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31487>
2024-10-14 18:33:29 +00:00
Erik Faye-Lund
1e9788e20f panvk: expose KHR_relaxed_block_layout support
There's nothing that prevents this AFAIK, so let's just expose it.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31487>
2024-10-14 18:33:29 +00:00
Erik Faye-Lund
9940702477 panvk: implement and expose KHR_maintenance2
All we were missing were VK_IMAGE_CREATE_EXTENDED_USAGE_BIT, let's
implement that and enable the extension.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31487>
2024-10-14 18:33:29 +00:00
Samuel Pitoiset
56813236f4 radv: use app names instead of exec name for shader based drirc workarounds
Otherwise, they aren't applied if shaders are pre-compiled using
builders because the executable name would be fossilize-replay.

Using pApplicationName is the correct way to do because it's replayed
by Fossilize correctly.

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31621>
2024-10-14 17:56:20 +00:00
Pavel Ondračka
0a81dc8782 r300/ci: add deqp and piglit on RV410
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30137>
2024-10-14 17:25:53 +00:00
Pavel Ondračka
bb3eb60c0c r300/ci: share some common variables
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30137>
2024-10-14 17:25:53 +00:00
David Heidelberg
d14d3c5bdd amd: Pass addrlib cpp args to the tests
The declaration and definition used by tests otherwise differs from
addrlib.
Found by LTO -Werror=lto-type-mismatch.

Fixes: 1d69c0419b ("amd/addrlib: prevent defining regparm differently")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31613>
2024-10-14 16:52:31 +00:00
Alejandro Piñeiro
e965dfd90b panfrost: make DRM version panfrost/panthor conditional on drm-shim
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31542>
2024-10-14 15:31:36 +00:00
Alejandro Piñeiro
6a6a8c6cff panfrost: add support for DRM_PANTHOR_DEV_QUERY_TIMESTAMP_INFO on drm-shim
In opposite to other DRM_PANTHOR_DEV_QUERY queries, it just fills it
with noop values. Real values doesn't seem relevant on the usual uses
for drm-shim.

This avoids the following error when using shader-db:
  $ ./run shaders/glmark/1-1.shader_test
  Unknown DRM_IOCTL_PANTHOR_DEV_QUERY 2
  MESA: error: DRM_IOCTL_PANTHOR_DEV_QUERY failed (err=2)

As we are here we also add DRM_PANTHOR_DEV_QUERY_GROUP_PRIORITIES_INFO
support.

Fixes: 302127fe9d ("pan/kmod: Add timestamp uapi support")

Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31542>
2024-10-14 15:31:36 +00:00
Sergi Blanch Torne
281d135810 ci: run shellcheck when changes on scripts to check
The 'yaml-toml-shell-test' job has a task to review the CI shell files. So,
we need this job present when there is a change on any of those shells.

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31627>
2024-10-14 13:50:26 +00:00
Sergi Blanch Torne
abb29959ee ci: shellcheck requires better 'boolean or' syntax
Some merge requests are failing due to `.gitlab-ci/run-shellcheck.sh` failing
on the 'yaml-toml-shell-test' because an 'or', on an elif, in the meson's
build needs to be reformulated.

Fixes: afab416be4 ("ci: enable IPO/LTO only for nightly builds")

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Acked-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Reviewed-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31627>
2024-10-14 13:50:26 +00:00
Faith Ekstrand
f33e18ab39 vulkan/queue: Check for _mem_signal_temp before we submit
vk_queue_push_submit() takes ownership of the vk_queue_submit object and
potentially passes it to another thread.  This fixes a race where, if
the other thread processes and deletes the vk_queue_submit before we get
to checking _mem_signal_temp, we may have a use-after-free.

Fixes: c95b646e23 ("vulkan/queue: Use _mem_signal_temp instead of signal_mem_sync")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11988
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31597>
2024-10-14 13:13:15 +00:00
Christian Gmeiner
980d0e2d06 docs: Update the list of drivers with CPU tracepoints
v3d and vc4 gained support for this feature.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31575>
2024-10-14 12:21:51 +00:00
Christian Gmeiner
63f0a2f9a0 vc4: Add a few function traces
Sprinkle around a few traces that were useful in locating submit and
fence waits.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31575>
2024-10-14 12:21:51 +00:00
Christian Gmeiner
cf939334e6 v3d: Add a few function traces
Sprinkle around a few traces that were useful in locating submit and
fence waits.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31575>
2024-10-14 12:21:51 +00:00
Samuel Pitoiset
03b4477c8f radv: fix returning non-zero captured address without binding
The Vulkan spec says:
    "If the buffer was created with a non-zero value of
    VkBufferOpaqueCaptureAddressCreateInfo::opaqueCaptureAddress or
    VkBufferDeviceAddressCreateInfoEXT::deviceAddress, the return
    value will be the same address that was returned at capture time."

My interpretation is that you can get the buffer device address before
binding if you passed a non-zero address during buffer creation. The
returned BDA would be similar if a memory object is bound to the
buffer later.

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31145>
2024-10-14 07:37:00 +00:00
Sergi Blanch Torne
98f2a55eda ci: disable Collabora's farm due to maintenance
Planned downtime in the farm:
* Start: 2024-10-14 07:00 UTC
* End: 2024-10-14 13:00 UTC

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31603>
2024-10-14 05:59:01 +00:00
Rob Clark
c7b126f627 freedreno: Balance out u_blitter cb0 save/restore
Fixes: 5de33f3d3e ("freedreno: Implement stencil blit fallback")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31569>
2024-10-13 15:18:40 +00:00
Pavel Ondračka
cc14d40239 r300: remove gl_ClipVertex early
There is no HW support, but in some cases the shaders mostly work even
if we ignore it, and so far we have just done so. However since the
driver didn't know to what output position in the PVS we should
redirect it, it ended in the first slot. Importantly, if the
CLIP_VERTEX output would be written after position (which actually
belongs in the first slot) it would overwrite it and things blow up.

So just remove it early, and also improve the warning a bit, including
the part that we could use draw module to actually emulate the feature.

Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11856
Fixes: 5dcef1e7b8
Reviewed-by: Filip Gawin <filip@gawin.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31547>
2024-10-13 05:47:17 +00:00
GKraats
a2b97b7b56 i915g: fix GL_TEXTURE_BASE_LEVEL MAX_LEVEL MIN_LOD and MAX_LOD
Since opengl 1.4 i915g should support GL_TEXTURE_BASE_LEVEL,
GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_MIN_LOD and GL_TEXTURE_MAX_LOD.
This MR fixes it.
See also check at tests/texturing/tex-miplevel-selection.c at piglit.

Signed-off-by: GKraats <vd.kraats@hccnet.nl>
Tested-by: Patrick Lerda <patrick9876@free.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31073>
2024-10-12 23:38:04 +00:00
David Heidelberg
3c0bf42381 util: add aarch64 fast half-float to float conversion
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31564>
2024-10-12 22:05:01 +00:00
Bas Nieuwenhuizen
c8c354d9c3 radv: Disable EXT BDA capture and replay.
Spec allows calling VkBufferGetDeviceAddressInfo without binding to memory:

VUID-VkBufferDeviceAddressInfo-buffer-02600
If buffer is non-sparse and was not created with the VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT flag, then it must be bound completely and contiguously to a single VkDeviceMemory object

Which  we can only do by making it sparse unconditionally, which feels very wrong to me for a capture & replay extension as that significantly impacts execution.

Current theory is that this was only intended for the EXT and not the core functionality. As such, let's disable capture using the EXT.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31140>
2024-10-11 22:17:33 +00:00
Ian Forbes
40557383dd driconf: Re-enable GLX_EXT_buffer_age on vmwgfx
Now that distributions are no longer installing device specific Xorg
drivers by default we have to rely on the modesetting driver which
currently does not work with glXCopySubBuffer. Both kwin and mutter prefer
using glXSwapBuffers over glXCopySubBuffer if GLX_EXT_buffer_age is present.
Therefore we want to ensure that it is available in order to avoid using
the broken glXCopySubBuffer.

Signed-off-by: Ian Forbes <ian.forbes@broadcom.com>
Reviewed-by: Neha Bhende <neha.bhende@broadcom.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31565>
2024-10-11 21:27:48 +00:00
Konstantin Seurer
d975d23cd8 radv/meta: Do not pass NULL to vk_texcompress_astc_finish
The pointer can be NULL if initialization fails.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11953
Fixes: f97b449 ("radv: integrate meta astc compute decoder to radv")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31505>
2024-10-11 20:56:21 +00:00
Vignesh Raman
8d5c67c937 ci: prepare-artifacts-python: copy if src dir exist
prepare-artifacts-python.sh fails in drm-ci, since
src directory is not present in linux. So copy files
only if src directory is present.

Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31586>
2024-10-11 20:10:20 +00:00
Satadru Pramanik
fa9cd89a85 Update lp_bld_misc.cpp to support llvm-19+.
Fixes #11896.
cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31533>
2024-10-11 18:21:47 +00:00
Adam Jackson
605d6aaf13 vtn: Handle SPV_INTEL_optnone
We don't advertise this in rusticl (and probably shouldn't, at least
until we can honor the request) but DPC++ emits this regardless so we
may as well ignore it.

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31592>
2024-10-11 15:39:45 +00:00
Mike Blumenkrantz
f87072f5b0 gallium/sw: make llvmpipe the "default" sw driver
if GALLIUM_DRIVERS isn't set, this string can be "", which fails
to load any driver

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31546>
2024-10-11 14:47:12 +00:00
David Rosca
6a598cccc3 radeonsi/vcn: Select layer for rate control
This makes the per-layer rate control work. Previously it would always
use rate control params for last configured layer.

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31148>
2024-10-11 13:55:54 +00:00
David Rosca
d2ad188915 radeonsi/vcn: Implement per-layer rate control for HEVC
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31148>
2024-10-11 13:55:54 +00:00
David Rosca
5b157d4ad0 frontends/va: Calculate VBV params for other layers relative to base layer
VAAPI only gives these parameters for base layer, but we need them for
other layers too.

Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31148>
2024-10-11 13:55:54 +00:00
David Rosca
c56fc312a8 frontends/va: Parse H264 prefix for temporal_id
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31148>
2024-10-11 13:55:54 +00:00