Faith Ekstrand
59f4c8dac2
nak: Use set_ureg_src() for Blackwell texture offsets and handles
...
Also add handles (they're currently missing).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35795 >
2025-06-27 21:23:24 +00:00
Dave Airlie
45bd5502f5
nak: Add misc Blackwell tex encoding bits
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35795 >
2025-06-27 21:23:24 +00:00
Dave Airlie
06e8db646a
nouveau: workaround linear/z rendering interaction
...
nvidia hardware can't render to linear surfaces except under some
very limited circumstances, one of those is if Z is enabled.
However there appears to be some combination of gnome-shell, and
prime (with 2 nouveau cards) where we end up getting through the
GL API to the situation where we try this. This in a production
build causes the kernel to crash with a GR error.
However there existed a period of time where the hw/kernel due to
some other random hw misconfiguration didn't crash when this happened
and doing this was prefect fine. (linear + tiled Z).
This restores the userspace code to do this and just ignores the
Z buffers if we are asked for linear rendering, and seems sufficient
to fix the problem.
I do understand this is a workaround, but I think it's reasonable to
add to the nouveau GL driver at this time since we don't want to
maintain if for ever and it probably should fix a bunch of wierd
user problems with multi gpu and nouveau.
Cc: mesa-stable
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35221 >
2025-06-27 21:09:13 +00:00
Yiwei Zhang
5dc3708e97
panvk: refactor swapchain image alias bind
...
This is to prepare for ANB support.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35779 >
2025-06-27 16:16:31 +00:00
Yiwei Zhang
827108ab7d
panvk: refactor panvk_image to track panvk_device_memory instead of bo
...
Since we have already dropped the refcounting there, replacing with a
back pointer to the device memory makes it clear we don't hold any ref.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35779 >
2025-06-27 16:16:31 +00:00
Alyssa Rosenzweig
1fd993388e
hk: fix gs static topology + indirect draw
...
Fixes: 5640266eb3 ("agx/nir_lower_gs: rework gs rast shape handling")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35797 >
2025-06-27 15:31:49 +00:00
Alyssa Rosenzweig
1c4eb71cbc
libagx: port pre-GS to CL
...
in prep for changing the compile flow for it.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35797 >
2025-06-27 15:31:49 +00:00
Alyssa Rosenzweig
dff1230879
agx/nir_lower_gs: remove random idiv const call
...
should be fixed in the agx backend now
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35797 >
2025-06-27 15:31:49 +00:00
Alyssa Rosenzweig
73659b4f67
agx/nir_lower_gs: CLify more XFB code
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35797 >
2025-06-27 15:31:48 +00:00
Alyssa Rosenzweig
10554ccad2
agx/nir_lower_gs: rework XFB prim calculation
...
significant instr count reduction for many outputs in a buffer.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35797 >
2025-06-27 15:31:48 +00:00
Alyssa Rosenzweig
46e139d453
libagx: optimize xfb offset pointers
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35797 >
2025-06-27 15:31:47 +00:00
Alyssa Rosenzweig
2544259030
asahi,hk,libagx: drop null checks
...
instead require scratch addresses be passed.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35797 >
2025-06-27 15:31:45 +00:00
Alyssa Rosenzweig
222ffc352e
hk: eliminate null_sink
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35797 >
2025-06-27 15:31:45 +00:00
Alyssa Rosenzweig
fa21722f1c
asahi: use zero/scratch page for null textures
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35797 >
2025-06-27 15:31:44 +00:00
Alyssa Rosenzweig
db2891ec5f
hk,asahi: move scratch BO to common
...
gl needs this too.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35797 >
2025-06-27 15:31:44 +00:00
Alyssa Rosenzweig
d3adef3164
agx: defer nir_opt_idiv_const
...
noticed in GS work.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35797 >
2025-06-27 15:31:43 +00:00
David Rosca
53e3e44eb3
frontends/va: Fix SyncSurface when used to sync coded buffer
...
This would skip the coded buffer fence wait if the surface fence is NULL.
Fixes: 0f20a3a4f1 ("frontends/va: Add surface pipe_fence for vl_compositor rendering")
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35782 >
2025-06-27 15:17:08 +00:00
Eric R. Smith
65bc0f715e
panvk: add a driConf to force enable atomics in shaders
...
This is mainly useful for enabling validation layers, but might also
be useful for a few apps that use very basic atomic operations. In
general these operations do not work properly in Bifrost, but they
work well enough to e.g. pass some piglit tests.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35710 >
2025-06-27 14:48:16 +00:00
Erik Faye-Lund
fcd2fbfdfd
panfrost/ci: fix up msaa fails... again
...
I should really have performed a full run here rather than just copying
the failures from a recent run... poorly.
Fixes: 8e646739baf ("panfrost/ci: add new 8x/16x msaa fails on t760")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35716 >
2025-06-27 14:18:39 +00:00
Erik Faye-Lund
345026ebf1
panfrost/ci: bump timeout for panfrost-t760-gles
...
This test regularly takes close to an hour, and sometimes exceeds that.
Let's bump the timeout for it, to give it a better chance to finish.
This job is only run manually, so it shouldn't affect the time it takes
to merge changes.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35716 >
2025-06-27 14:18:39 +00:00
Corentin Noël
c0d1b199ae
venus: Fix leak in syncobj creation failure path
...
CID: 1475984 Resource leak
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35474 >
2025-06-27 13:56:24 +00:00
Yiwei Zhang
6469d7268f
venus: suppress Coverity Uninitialized scalar variable
...
Just false alarm. Adjusted the code to suppress it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35474 >
2025-06-27 13:56:24 +00:00
Corentin Noël
4f8612f568
mesa/st: Fix leak in st_create_fp_variant
...
CID: 1643014 Resource leak
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35474 >
2025-06-27 13:56:24 +00:00
Corentin Noël
c9513782bc
mesa/st: Fix memory leak in st_create_common_variant
...
CID: 1642998 Resource leak
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35474 >
2025-06-27 13:56:24 +00:00
Corentin Noël
ad9db6b259
glx: Free all populated fields of the glx_display on creation failure
...
Add a common path to ensure that there is no copy-paste error.
CID: 1644424,1644409 Resource leak
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35474 >
2025-06-27 13:56:23 +00:00
Corentin Noël
e3829eccc8
egl/wayland: Plug leak when implicit modifiers are unsupported
...
Do not leak modifiers_subset and modifiers_subset_opaque.
CID: 1644433 Resource leak
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35474 >
2025-06-27 13:56:23 +00:00
Corentin Noël
8adb2d4949
virgl: Free resource memory on creation failure
...
CID: 1646975 Resource leak
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Reviewed-by: Feng Jiang <jiangfeng@kylinos.cn >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35474 >
2025-06-27 13:56:23 +00:00
Eric Engestrom
b885e39c63
broadcom/ci: document flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35787 >
2025-06-27 09:09:53 +00:00
Eric Engestrom
6ebef82ae8
zink+lavapipe/ci: document flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35787 >
2025-06-27 09:09:53 +00:00
Eric Engestrom
30f92cff89
zink+nvk/ci: document flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35787 >
2025-06-27 09:09:53 +00:00
Eric Engestrom
39585f9372
zink+radv/ci: document flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35787 >
2025-06-27 09:09:53 +00:00
Eric Engestrom
671a63b0c7
nvk/ci: document flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35787 >
2025-06-27 09:09:52 +00:00
Eric Engestrom
0e78939afb
radv/ci: document flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35787 >
2025-06-27 09:09:52 +00:00
Eric Engestrom
e0e35c051d
radeonsi/ci: document flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35787 >
2025-06-27 09:09:52 +00:00
Eric Engestrom
286318d0f3
radv/ci: sort previously added flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35787 >
2025-06-27 09:09:52 +00:00
Pierre-Eric Pelloux-Prayer
3210484fe2
ac/virtio: fix alignment of metadata command
...
Command size must be aligned to 8.
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Fixes: 22263616ed ("amd: amdgpu-virtio implementation")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:50 +00:00
Pierre-Eric Pelloux-Prayer
7c6fb24067
amd/virtio: clear DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT
...
Calls to radv_amdgpu_cs_submit will come with either no waits
or through vk_queue.
vk_queue uses VK_SYNC_WAIT_PENDING which is translated as
DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE.
WAIT_AVAILABLE will wait for the fence to materialize, so
it means it's safe to pass the syncobj in a
AMDGPU_CHUNK_ID_SYNCOBJ_TIMELINE_WAIT chunk without the
WAIT_FOR_SUBMIT flag.
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:50 +00:00
Pierre-Eric Pelloux-Prayer
f0ab43ec1b
ac/virtio: support timeline syncobj
...
The only missing bit was supporting the timeline chunk_ids
during submit.
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:50 +00:00
Pierre-Eric Pelloux-Prayer
c1fdd540aa
ac/info: add ac_drm_query_pci_bus_info
...
This allows to return dummy values for the vpipe case.
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:50 +00:00
Pierre-Eric Pelloux-Prayer
ddf73e76a9
ac/info: use u_sync_provider instead of DRM_CAP_SYNCOBJ(_TIMELINE)
...
So we get the correct results regardless of the backend (amdgpu,
virtio nctx, vpipe, null).
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:50 +00:00
Pierre-Eric Pelloux-Prayer
df1224c8b2
radv: rework VM_ALWAYS_VALID handling
...
Instead of assuming that VM_ALWAYS_VALID is always available,
make its use conditionnal on its support.
This allows to remove the virtio nctx special case (where
VM_ALWAYS_VALID is only possible with virtio for buffers that
also have the NO_CPU_ACCESS flag since CPU access is implemented
through dmabuf on the host).
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:50 +00:00
Pierre-Eric Pelloux-Prayer
8c529ba58c
radv: disable extension depending on timeline syncobj when missing
...
It was already done through sync_types but we also need to declare
that the extensions are not supported.
Similarly .KHR_present_wait can't be exposed since it requires
timeline support.
This is useful for virtio native context which currently doesn't
support timelines on amdgpu.
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:50 +00:00
Pierre-Eric Pelloux-Prayer
999d5098b4
radv/virtio: support vpipe
...
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:50 +00:00
Pierre-Eric Pelloux-Prayer
a96356b26e
radeonsi/virtio: support vpipe
...
For now use an environment variable to test the virtio code
using vpipe.
Exposing DRM_PRIME_CAP_EXPORT manually is required, otherwise
gbm platform will fallback to dummy buffers which aren't
supported.
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:50 +00:00
Pierre-Eric Pelloux-Prayer
84c137ff14
amd/virtio: add vpipe support
...
When vpipe is used we won't have a valid fd available,
so make sure init doesn't fail.
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:50 +00:00
Pierre-Eric Pelloux-Prayer
5d63d2fb04
ac/drm: replace direct ioctl calls by util_sync_provider
...
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:50 +00:00
Pierre-Eric Pelloux-Prayer
62b9c3eafc
ac/drm: store a util_sync_provider in ac_drm_device
...
util_sync_provider provides a wrapper to manipulate syncobjs.
This allows replacing direct ioctl usages with other functions,
and is going to be used to support vpipe.
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:50 +00:00
Pierre-Eric Pelloux-Prayer
80985767cb
ac/drm: remove ac_drm_cs_create_syncobj
...
ac_drm_cs_create_syncobj2 is a simple replacement and this allows
to remove some code.
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:49 +00:00
Pierre-Eric Pelloux-Prayer
e0bd24672c
ac/virtio: port to vdrm functions
...
Let's use the shared helpers instead of our own version.
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:49 +00:00
Pierre-Eric Pelloux-Prayer
ffdf13bd48
ac/info: rename has_local_buffers into has_vm_always_valid
...
The has_local_buffers name is based on the original name of this
feature (the GEM flag was AMDGPU_GEM_CREATE_LOCAL).
But in v3 the flag was renamed AMDGPU_GEM_CREATE_VM_ALWAYS_VALID,
so it's clearer to have the Mesa flag to match the kernel one.
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:49 +00:00