Commit Graph

184774 Commits

Author SHA1 Message Date
Corentin Noël b7a4e78071 util: Avoid the use of MESA_TRACE_BEGIN/END
Switch the last occurrences of it to the MESA_TRACE_SCOPE macro which is
easier to use.

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25308>
2023-10-23 17:20:03 +00:00
Corentin Noël bf1a68833b venus: Change the only occurrence of VN_TRACE_BEGIN/END to VN_TRACE_SCOPE
This is the only part of venus using this macro, let's replace it with the scope
one.

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25308>
2023-10-23 17:20:03 +00:00
Corentin Noël c637901392 aux/tc: Use MESA_TRACE_SCOPE instead of _BEGIN/_END
The MESA_TRACE_SCOPE macro is an exact replacement for this.

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25308>
2023-10-23 17:20:03 +00:00
Corentin Noël 57c6e79db5 tu: Use MESA_TRACE_SCOPE instead of _BEGIN/_END
The MESA_TRACE_SCOPE macro is an exact replacement for this.

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25308>
2023-10-23 17:20:03 +00:00
Corentin Noël f60a9d89c1 freedreno/drm/virtio: Use MESA_TRACE_SCOPE instead of _BEGIN/_END
The MESA_TRACE_SCOPE macro is an exact replacement for this.

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25308>
2023-10-23 17:20:03 +00:00
Karol Herbst e0301659f1 zink: fix zink_destroy_screen for early screen creation fails
Fixes crashes on at least my system with multiple GPUs.

Fixes: 0c2045553f ("zink: use screen destructor for creation fails")
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25844>
2023-10-23 16:52:15 +00:00
Christian Gmeiner 90cd5f3799 etnaviv: Skip 'empty' cmd streams
Make use of etna_cmd_stream_mark_end_of_context_init(..) to mark the
end of context init states. If the cmd stream is untouched until
etna_cmd_stream_flush(..) gets called the drm layer will downgrade this
specific cmd stream to a noop.

This safes us from calling into the kernel with an 'empty' cmd stream.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25849>
2023-10-23 14:56:48 +00:00
Christian Gmeiner 4c8fad4fd8 etnaviv: drm: Be able to mark end of context init
Add etna_cmd_stream_mark_end_of_context_init(..) which stores the current
offset of the cmd stream as offset_end_of_context_init. This information
will be used to downgrade a cmd stream flush to a noop.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25849>
2023-10-23 14:56:48 +00:00
Karmjit Mahil 2c62fdc8a7 pvr: Only setup the bgobj to load if we have a load_op
We only need to setup the background object if we have a load_op,
to perform the loads/clears.

This fixes segfaults for cases where we don't have a load_op.

Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25703>
2023-10-23 08:18:33 +00:00
Eric Engestrom fc62df19b7 ci/b2c: change artifacts path to match baremetal and LAVA
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25815>
2023-10-22 21:23:01 +00:00
Helen Koike 9f4f52f4f3 ci/ci_run_n_monitor: keep monitoring if a job is still running
When running multiple targets, the script was returning if any of the
targets failed.
But sometimes some of the targets are still running and we want to
monitor it until it finishes, even if some of the targets failed.

So check if any targeted jobs are in pending or running before deciding
to finish.

Signed-off-by: Helen Koike <helen.koike@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25826>
2023-10-22 09:30:56 +00:00
David Heidelberg 59ee87b606 ci/freedreno: disable Adreno 660 Vulkan pre-merge
No need to move it to manual/nightly - we already run full runs there.

Revert when Adreno 660 gets stable again!

Reported-by: Helen Koike <helen.koike@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25839>
2023-10-22 10:49:10 +02:00
Saroj Kumar db5fc29116 radeonsi: fixes compilaton error when perfetto is disabled
Signed-off-by: Saroj Kumar <saroj.kumar@amd.com>

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25827>
2023-10-22 05:43:59 +00:00
David Heidelberg 5d87cd4e51 ci/freedreno: fix copy paste causing a618_gl being run only in manual pipeline
Fixes: 9d442b459a ("ci/freedreno: handle disabling farm properly for each FD/Collabora farm")
Closes: #9992

Acked-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25816>
2023-10-21 15:36:16 +02:00
Maaz Mombasawala f4e7aefe07 svga: Unify gmr and mob surface pool managers
The svga driver contains several buffer managers with gmr* and mob* prefixes,
but they are of similar functionality. The underlying vmwgfx kernel driver
allocates memory of one type - mobs if supported by the virtual hardware,
and gmrs otherwise - and returns an opaque pointer to userspace, so several
managers are reduntant.

This patch reduces the number of buffer managers by unifying similar managers
and performing refactors where necessary.

Signed-off-by: Maaz Mombasawala <mombasawalam@vmware.com>

Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Zack Rusin <zackr@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25832>
2023-10-20 22:01:04 +00:00
Maaz Mombasawala 354f0b5b02 svga: Make surfaces shareable at creation.
There is no need to have a separate shareable pool of surfaces, we can make
all surfaces shareable.
This change makes all surfaces shareable when creating them.

Signed-off-by: Maaz Mombasawala <mombasawalam@vmware.com>
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Martin Krastev <krastevm@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25832>
2023-10-20 22:01:04 +00:00
Yiwei Zhang b0100d23fb ci/venus: mark more flaky tests after recent cts uprev
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25799>
2023-10-20 21:33:22 +00:00
Helen Koike 46fc9decad ci/marge_queue: add missing python-dateutils to requirements.txt
marge_queue.py requires python-dateutils to run, so add it.

Signed-off-by: Helen Koike <helen.koike@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25828>
2023-10-20 18:27:44 +00:00
Lucas Stach f8753a542b mesa: add GL_APPLE_sync support
This extension is a backport of GL_ARB_sync to GLES 1.1 and 2.0
and reuses token IDs and entry point prototypes from that extension,
so adding support is pretty trivial.

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25789>
2023-10-20 17:20:11 +00:00
Karol Herbst c3516861e8 zink: properly alias shared memory
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25763>
2023-10-20 18:49:47 +02:00
Karol Herbst 389b0ce604 zink: wrap shared memory blocks in a struct
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25763>
2023-10-20 18:49:38 +02:00
David Rosca 2c1dff3851 frontends/va: Fix locking in vlVaBeginPicture
The assert in vlVaSetSurfaceContext would very rarely fail because
the mutex was already unlocked when calling this function from
vlVaBeginPicture.

Keep the lock until returning from vlVaBeginPicture, as that's what
other functions are already doing.

Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25823>
2023-10-20 15:14:41 +00:00
Vlad Schiller c70687afe7 pvr: Implement VK_EXT_host_query_reset
Signed-off-by: Vlad Schiller <vlad-radu.schiller@imgtec.com>
Reviewed-by: Matt Coster <matt.coster@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25783>
2023-10-20 14:58:12 +00:00
Vlad Schiller 649ebbb0fb pvr: Implement VK_EXT_texel_buffer_alignment
This commit will implement the VK_EXT_texel_buffer_alignment
extension and add the texture_baseaddress_byte_aligned feature.

Signed-off-by: Vlad Schiller <vlad-radu.schiller@imgtec.com>
Reviewed-by: Matt Coster <matt.coster@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25781>
2023-10-20 14:42:05 +00:00
Vlad Schiller ea59d61294 pvr: Enable VK_KHR_bind_memory2 extension
The two functions 'vkBindBufferMemory2' and 'vkBindImageMemory2' are aleady
implemented, and it seems that the flag does not need to be enabled for the
tests to pass.

Signed-off-by: Vlad Schiller <vlad-radu.schiller@imgtec.com>
Reviewed-by: Matt Coster <matt.coster@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25779>
2023-10-20 14:26:36 +00:00
Vlad Schiller 1f056f229a pvr: Implement VK_KHR_external_semaphore
In order for the tests to pass, this commit also enables
the VK_KHR_external_semaphore_fd extension.

Signed-off-by: Vlad Schiller <vlad-radu.schiller@imgtec.com>
Reviewed-by: Matt Coster <matt.coster@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25784>
2023-10-20 13:58:07 +00:00
Vlad Schiller 89f9724b1a pvr: Implement VK_KHR_external_fence
In order for the tests to pass, this commit also enables
the VK_KHR_external_fence_fd extension.

Signed-off-by: Vlad Schiller <vlad-radu.schiller@imgtec.com>
Reviewed-by: Matt Coster <matt.coster@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25784>
2023-10-20 13:58:06 +00:00
Lionel Landwerlin 6f3dfba803 anv: document the draw indirect optimization ring mode
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Tested-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25361>
2023-10-20 13:07:53 +00:00
Lionel Landwerlin 454870dd5f anv: merge gfx9/11 indirect draw generation shaders
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Tested-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25361>
2023-10-20 13:07:53 +00:00
Lionel Landwerlin 11b4c23d19 anv: add ring buffer mode to generated draw optimization
When the number of draw calls is very large, instead of allocating
large amounts of batch buffer space for the draws, use a ring buffer
and process the draw calls by batches.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8645
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Tested-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25361>
2023-10-20 13:07:53 +00:00
Lionel Landwerlin 718e77eee5 anv: index indirect data buffer with absolute offset
This will help for a follow up change where we will respawn the shader
multiple times in a loop and the base offset will be edited by the
shader itself.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Tested-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25361>
2023-10-20 13:07:53 +00:00
Lionel Landwerlin db335d9b73 anv: factor out host/gpu internal shaders interfaces
This will prevent host/gpu structure definitions to go out of sync.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Tested-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25361>
2023-10-20 13:07:53 +00:00
Lionel Landwerlin da1e39faa4 util/glsl2spirv: add ability to pass defines
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Tested-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25361>
2023-10-20 13:07:53 +00:00
Lionel Landwerlin c700d47c56 anv: move generation batch fields to a sub-struct
Just tyding things a bit since we're about to add more.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Tested-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25361>
2023-10-20 13:07:53 +00:00
Lionel Landwerlin 2e0ff4c551 anv: avoid MI commands to copy draw indirect count
We can just make the address of the count available to the generation
shader.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Tested-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25361>
2023-10-20 13:07:53 +00:00
Lionel Landwerlin 1af1085d76 anv: identify internal shader in NIR
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Tested-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25361>
2023-10-20 13:07:53 +00:00
Lionel Landwerlin d5aec0ca4b anv: extract out draw call generation
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Tested-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25361>
2023-10-20 13:07:53 +00:00
Lionel Landwerlin 8ab3c03a32 anv: fix generated draws gl_DrawID with more than 8192 indirect draws
This applies only to Gfx9.

We're writting out of bounds to a wrong location.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 1d9cf8f381 ("anv: add gfx9 generated draw support")
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Tested-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25361>
2023-10-20 13:07:53 +00:00
Lionel Landwerlin 8aadd4745c anv: move generation shader return instruction to last draw lane
If we dispatch exactly a multiple of 8192 items, there is additional
lane left to generate the jump instruction.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: c950fe97a0 ("anv: implement generated (indexed) indirect draws")
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Tested-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25361>
2023-10-20 13:07:53 +00:00
Lucas Stach 6fc76eb280 Revert "etnaviv: use correct blit box sizes when copying resource"
Revert commit b4c24d5978, as it causes a regression in
dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.2d_rgb
and some other testcases. Needs further investigation.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10007
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25825>
2023-10-20 13:16:37 +02:00
Emma Anholt edfbf74df1 dri: Drop a duplicate mesa vs pipe format table.
mesa_format is a typedef of enum pipe_format, and the nice mesa format
names are a subset of the available pipe formats.  No need to keep a
duplicate table here.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25650>
2023-10-20 10:03:43 +00:00
Emma Anholt 06fd469110 ci: drop skip for glx-swap-copy.
This will always be a skip now that we dropped GLX_OML_swap_method.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25650>
2023-10-20 10:03:43 +00:00
Emma Anholt e64ab3e4a9 glx: Delete support for GLX_OML_swap_method.
This was an ill-advised extension.  While we advertised SWAP_COPY support,
we might implement it with a back-copy from the front buffer.  And we
never advertised EXCHANGE because we couldn't guarantee it.  So, if you
actually used this extension to try to reduce app redraws of the back
buffer, you might actually increase the bandwidth you used.  Whoops.

Instead, GLX_EXT_buffer_age and the similar EGL extension give you
feedback on what's left in your back buffer, letting you do minimum
redraws.

This reduces our GLX visual+fbconfig count from 1410 to 940 on an llvmpipe
X server.  Reducing visual counts will improve test runtime for
visual-iterating tests like piglit's glx-visuals-*.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25650>
2023-10-20 10:03:43 +00:00
Eric Anholt fb95f1d55c ci_run_n_monitor: Poll mesa/mesa and user/mesa for pipelines at the same time.
Now you don't fail if you're trying to test a mesa/mesa MR pipeline and
gitlab takes more than 10s to create it.  And you don't have to wait 10
seconds to get things started (aka see if your regex was right) if you're
testing a user/mesa fork pipeline.

Fixes: 941d92408e ("bin/ci_run_n_monitor: automatically pick MR pipelines when they exist")
Closes: #9894
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25810>
2023-10-20 08:23:24 +00:00
Saleemkhan Jamadar 5f19452b8c radeonsi/vcn: set jpeg reg version for gfx 1150
select appropriate jpeg register version for gfx1150

Signed-off-by: Saleemkhan Jamadar <saleemkhan.jamadar@amd.com>
Reviewed-by: Leo Liu <Leo.Liu@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25278>
2023-10-20 07:32:35 +00:00
Marek Olšák 6835257246 amd/common: update DCC for gfx11.5
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25278>
2023-10-20 07:32:34 +00:00
Pierre-Eric Pelloux-Prayer 74978fd8e9 amd, radeonsi: Add code to enable gfx11.5
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25278>
2023-10-20 07:32:34 +00:00
Pierre-Eric Pelloux-Prayer eabd2232e8 ac/nir: extract must_wait_attr_ring helper
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25278>
2023-10-20 07:32:34 +00:00
Pierre-Eric Pelloux-Prayer b44a886b84 amd/common: add registers for gfx11.5
Built from amd-staging-drm-next c5a7d38c2c7fc + Alex D
"drm/amdgpu: update to the latest GC 11.5 header" patch.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25278>
2023-10-20 07:32:34 +00:00
Pierre-Eric Pelloux-Prayer 3b4424a4a6 amd/common: update addrlib for gfx11.5
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25278>
2023-10-20 07:32:34 +00:00