Nanley Chery [Mon, 28 Aug 2023 22:46:38 +0000 (18:46 -0400)]
anv: Delete implicit CCS code
Stop allocating CCS at the end of some BOs. Anv no longer uses that
memory range.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25003>
Nanley Chery [Fri, 25 Aug 2023 20:10:29 +0000 (16:10 -0400)]
anv: Meet CCS alignment reqs with dedicated allocs
At image bind time, we require BOs to meet aux-map alignment
requirements in order to enable CCS on images. This is a heuristic
controlled by anv_bo_allows_aux_map().
To improve the chances of getting a properly aligned BO, we make use of
the dedicated allocation extension. Firstly, we report to applications a
preference for dedicated memory if an image would like to use the aux
map. Secondly, we align the VMA for dedicated allocations to meet
aux-map requirements.
To make enabling modifiers much easier on integrated gfx12, report
dedicated allocations as a requirement for modifiers which specify CCS.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> (v1)
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25003>
Nanley Chery [Mon, 23 Oct 2023 14:32:57 +0000 (10:32 -0400)]
anv: Loosen anv_bo_allows_aux_map
Instead of requiring that a BO has the has_implicit_ccs flag set, simply
require that the BO is aligned according to aux-map requirements.
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25003>
Nanley Chery [Fri, 25 Aug 2023 21:03:59 +0000 (17:03 -0400)]
anv: Place images into the aux-map when safe to do so
At image bind time, if an image's addresses can be placed into the
aux-map without causing conflicts with a pre-existing mapping, do so.
The code aux management code in the binding function operates on a
per-plane basis. So, use the per-plane CCS memory range from the image
rather than the CCS memory region for the entire BO.
Another way to avoid aux-map conflicts is to rely solely on having a
dedicated allocation for an image. Unfortunately, not all workloads
change their behavior when drivers report a preference for dedicated
allocations. In particular, 3DMark Wild Life Extreme does not make more
dedicated allocations and such a solution was measured to perform ~16%
worse than this solution. With this solution, I did not measure a loss
of CCS on that benchmark.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6304
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> (v1)
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25003>
Nanley Chery [Fri, 25 Aug 2023 20:10:29 +0000 (16:10 -0400)]
anv: Refactor CCS disabling at image bind time
Split out the discrete and integrated implicit CCS cases. We'll do more
work in the integrated case in a future commit.
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25003>
Nanley Chery [Fri, 25 Aug 2023 22:22:45 +0000 (18:22 -0400)]
anv: Wrap aux surface image binding queries
Add and use anv_image_get_aux_memory_range.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25003>
Nanley Chery [Fri, 25 Aug 2023 19:24:27 +0000 (15:24 -0400)]
anv: Allocate space for aux-map CCS in image bindings
This makes images a bit larger by reserving space to store the
compression control surface when the device uses an aux-map.
This space is not used currently because anv still maps main surface
addresses to space at the end of the anv_bo.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25003>
Nanley Chery [Fri, 25 Aug 2023 19:50:33 +0000 (15:50 -0400)]
anv: Move scope of CCS binding determination
Move the determination of the image binding for CCS to a larger scope,
so that it can be reused for other aux usages in
add_aux_surface_if_supported().
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25003>
Nanley Chery [Tue, 10 Oct 2023 19:14:28 +0000 (15:14 -0400)]
intel: Return a bool from intel_aux_map_add_mapping
Make intel_aux_map_add_mapping return false if a mapping is attempted
that would conflict with an existing one. If this function doesn't
return false, it will either fail to return or return true.
The Vulkan driver will make use of this feature to opportunistically
enable CCS if a BO's VMA range has not been already mapped.
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25003>
Friedrich Vock [Sun, 22 Oct 2023 18:24:04 +0000 (20:24 +0200)]
radv/rmv: Recognize LPDDR memory
Fixes:
8d0e6c02 ("radv: Add RMV tracing utilities")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25845>
Friedrich Vock [Sun, 22 Oct 2023 18:21:19 +0000 (20:21 +0200)]
radv/rra: Recognize LPDDR memory
Also move away from using unnamed constants for memory types.
Fixes:
aef7ea868fe ("ac/gpu_info: handle LPDDR4 and 5 in ac_memory_ops_per_clock")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25845>
Eric Anholt [Thu, 19 Oct 2023 08:21:04 +0000 (10:21 +0200)]
docs/ci: Add some links in the CI docs to how to track job flakes
and also figuring out how many boards are available for sharding
management.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25806>
Eric Anholt [Thu, 19 Oct 2023 08:12:16 +0000 (10:12 +0200)]
docs/ci: Drop old instructions for farm disabling
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25806>
Corentin Noël [Wed, 20 Sep 2023 15:50:20 +0000 (17:50 +0200)]
util: Remove MESA_TRACE_BEGIN/END
There are no user of these macros anymore, simplify the cpu_trace header.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25308>
Corentin Noël [Wed, 20 Sep 2023 15:41:05 +0000 (17:41 +0200)]
util/perf: Remove the tracing categories
The slow category remains unused in Mesa currently, readd it once we have
a use for it.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25308>
Corentin Noël [Wed, 20 Sep 2023 15:25:09 +0000 (17:25 +0200)]
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>
Corentin Noël [Mon, 23 Oct 2023 07:59:35 +0000 (09:59 +0200)]
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>
Corentin Noël [Wed, 20 Sep 2023 14:50:30 +0000 (16:50 +0200)]
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>
Corentin Noël [Wed, 20 Sep 2023 14:38:43 +0000 (16:38 +0200)]
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>
Corentin Noël [Wed, 20 Sep 2023 14:36:14 +0000 (16:36 +0200)]
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>
Karol Herbst [Sun, 22 Oct 2023 14:11:36 +0000 (16:11 +0200)]
zink: fix zink_destroy_screen for early screen creation fails
Fixes crashes on at least my system with multiple GPUs.
Fixes:
0c2045553fe ("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>
Christian Gmeiner [Mon, 23 Oct 2023 07:53:39 +0000 (09:53 +0200)]
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>
Christian Gmeiner [Mon, 23 Oct 2023 07:51:19 +0000 (09:51 +0200)]
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>
Karmjit Mahil [Tue, 3 Oct 2023 13:15:43 +0000 (14:15 +0100)]
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>
Eric Engestrom [Thu, 19 Oct 2023 13:12:00 +0000 (15:12 +0200)]
ci/b2c: change artifacts path to match baremetal and LAVA
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25815>
Helen Koike [Fri, 20 Oct 2023 11:52:12 +0000 (08:52 -0300)]
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>
David Heidelberg [Sat, 21 Oct 2023 13:58:20 +0000 (15:58 +0200)]
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>
Saroj Kumar [Fri, 20 Oct 2023 10:08:11 +0000 (15:38 +0530)]
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>
David Heidelberg [Thu, 19 Oct 2023 15:22:02 +0000 (17:22 +0200)]
ci/freedreno: fix copy paste causing a618_gl being run only in manual pipeline
Fixes:
9d442b459a43 ("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>
Maaz Mombasawala [Sat, 8 Jul 2023 00:22:15 +0000 (17:22 -0700)]
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>
Maaz Mombasawala [Thu, 17 Aug 2023 23:17:56 +0000 (16:17 -0700)]
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>
Yiwei Zhang [Thu, 19 Oct 2023 00:17:54 +0000 (17:17 -0700)]
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>
Helen Koike [Fri, 20 Oct 2023 13:40:51 +0000 (10:40 -0300)]
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>
Lucas Stach [Wed, 18 Oct 2023 11:55:11 +0000 (13:55 +0200)]
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>
Karol Herbst [Tue, 17 Oct 2023 10:16:24 +0000 (12:16 +0200)]
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>
Karol Herbst [Tue, 17 Oct 2023 10:14:48 +0000 (12:14 +0200)]
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>
David Rosca [Fri, 20 Oct 2023 08:27:41 +0000 (10:27 +0200)]
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>
Vlad Schiller [Mon, 4 Sep 2023 11:24:05 +0000 (12:24 +0100)]
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>
Vlad Schiller [Wed, 30 Aug 2023 09:54:20 +0000 (10:54 +0100)]
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>
Vlad Schiller [Mon, 4 Sep 2023 14:09:47 +0000 (15:09 +0100)]
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>
Vlad Schiller [Mon, 11 Sep 2023 06:19:39 +0000 (07:19 +0100)]
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>
Vlad Schiller [Mon, 11 Sep 2023 06:42:22 +0000 (07:42 +0100)]
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>
Lionel Landwerlin [Sun, 24 Sep 2023 19:38:47 +0000 (22:38 +0300)]
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>
Lionel Landwerlin [Sun, 24 Sep 2023 07:45:31 +0000 (10:45 +0300)]
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>
Lionel Landwerlin [Wed, 20 Sep 2023 17:04:16 +0000 (20:04 +0300)]
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>
Lionel Landwerlin [Mon, 18 Sep 2023 21:28:39 +0000 (00:28 +0300)]
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>
Lionel Landwerlin [Sun, 17 Sep 2023 10:39:46 +0000 (13:39 +0300)]
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>
Lionel Landwerlin [Sun, 17 Sep 2023 10:38:50 +0000 (13:38 +0300)]
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>
Lionel Landwerlin [Sun, 17 Sep 2023 08:46:18 +0000 (11:46 +0300)]
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>
Lionel Landwerlin [Thu, 14 Sep 2023 16:10:10 +0000 (19:10 +0300)]
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>
Lionel Landwerlin [Thu, 14 Sep 2023 16:08:57 +0000 (19:08 +0300)]
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>
Lionel Landwerlin [Sun, 17 Sep 2023 08:55:40 +0000 (11:55 +0300)]
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>
Lionel Landwerlin [Thu, 21 Sep 2023 20:27:46 +0000 (23:27 +0300)]
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>
Lionel Landwerlin [Wed, 20 Sep 2023 19:38:42 +0000 (22:38 +0300)]
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>
Lucas Stach [Fri, 20 Oct 2023 11:16:37 +0000 (13:16 +0200)]
Revert "etnaviv: use correct blit box sizes when copying resource"
Revert commit
b4c24d5978a5, 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>
Emma Anholt [Tue, 10 Oct 2023 19:19:46 +0000 (12:19 -0700)]
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>
Emma Anholt [Tue, 10 Oct 2023 19:09:01 +0000 (12:09 -0700)]
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>
Emma Anholt [Tue, 10 Oct 2023 18:42:59 +0000 (11:42 -0700)]
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>
Eric Anholt [Thu, 19 Oct 2023 10:03:34 +0000 (12:03 +0200)]
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:
941d92408ee5 ("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>
Saleemkhan Jamadar [Mon, 18 Sep 2023 19:48:09 +0000 (21:48 +0200)]
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>
Marek Olšák [Mon, 18 Sep 2023 19:48:02 +0000 (21:48 +0200)]
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>
Pierre-Eric Pelloux-Prayer [Mon, 18 Sep 2023 19:47:59 +0000 (21:47 +0200)]
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>
Pierre-Eric Pelloux-Prayer [Tue, 3 Oct 2023 07:38:54 +0000 (09:38 +0200)]
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>
Pierre-Eric Pelloux-Prayer [Mon, 18 Sep 2023 19:47:55 +0000 (21:47 +0200)]
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>
Pierre-Eric Pelloux-Prayer [Mon, 18 Sep 2023 19:47:49 +0000 (21:47 +0200)]
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>
Sil Vilerino [Wed, 27 Sep 2023 11:28:11 +0000 (07:28 -0400)]
d3d12: Allocate d3d12_video_buffer with higher alignment for compatibility
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25819>
Sil Vilerino [Fri, 22 Sep 2023 12:37:52 +0000 (08:37 -0400)]
d3d12: Add support for PIPE_VIDEO_CAP_ENC_MAX_TILE_ROWS/COLS
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25819>
Sil Vilerino [Fri, 22 Sep 2023 12:37:34 +0000 (08:37 -0400)]
frontend/va: Add support for VAConfigAttribEncMaxTileRows/Cols
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25819>
Sil Vilerino [Tue, 19 Sep 2023 00:38:35 +0000 (20:38 -0400)]
d3d12: AV1 Encode - Fix VAConfigAttribEncMaxRefFrames reporting
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25819>
Sil Vilerino [Mon, 18 Sep 2023 23:43:34 +0000 (19:43 -0400)]
d3d12: AV1 encode - add fallback for app passing unsupported pic_params.InterpolationFilter
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25819>
Sil Vilerino [Mon, 18 Sep 2023 23:31:51 +0000 (19:31 -0400)]
d3d12: AV1 encode - Add lower resolution fallback check for uniform tile support
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25819>
Sil Vilerino [Tue, 12 Sep 2023 02:37:46 +0000 (22:37 -0400)]
d3d12: Do not destroy codec when destroying video buffer
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25819>
Sil Vilerino [Mon, 11 Sep 2023 18:48:22 +0000 (14:48 -0400)]
d3d12: Video Decode - Wait for GPU completion before destroying decoder in-flight objects
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25819>
Sil Vilerino [Thu, 7 Sep 2023 23:11:38 +0000 (19:11 -0400)]
d3d12: Fixes AV1 tx_mode_support reporting and unsupported tx_mode overriding
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25819>
Sil Vilerino [Tue, 11 Jul 2023 15:01:27 +0000 (11:01 -0400)]
d3d12: Upgrade to D3D12 Agility SDK 1.611 Video interface
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25819>
Sil Vilerino [Fri, 25 Aug 2023 17:05:54 +0000 (13:05 -0400)]
frontends/va: Add profile param when querying PIPE_VIDEO_CAP_ENC_QUALITY_LEVEL
Pass the specific profile as drivers may only support
quality levels for specific codecs or profiles.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25819>
Juston Li [Wed, 18 Oct 2023 21:46:49 +0000 (14:46 -0700)]
venus: set lvp queries as saturate on overflow
Test case 'dEQP-VK.pipeline.monolithic.timestamp.misc_tests.consistent_results'..
Fail (Results are inconsistent: B32=0xffffffff B64=0x10103ba2cdd4e G32=0xba2cdd4e G64=0x10103ba2cdd4e)
Fixes:
e6cffa1f0e4e ("venus: use feedback for vkGetQueryPoolResults")
Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25820>
Lina Versace [Wed, 18 Oct 2023 23:18:33 +0000 (16:18 -0700)]
venus: Fix -Wmaybe-uninitialized
src/virtio/vulkan/vn_ring.c: In function ‘vn_ring_submit’:
src/virtio/vulkan/vn_ring.c:259:4: warning: ‘cur_seqno’ may be used uninitialized [-Wmaybe-uninitialized]
259 | vn_ring_retire_submits(ring, cur_seqno);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Lina Versace <linyaa@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25797>
Charmaine Lee [Wed, 18 Oct 2023 17:00:43 +0000 (20:00 +0300)]
svga: ignore sampler view resource if not used by shaders
Currently bound sampler view resources are relevant only if the
currently bound shaders also access them. So when checking for shader
resource collision, we only need to check those shader resources that
are actively used by the shaders.
This fixes a regression with manhattan on SVGA device when only the
active state changes are sent to the driver and a no longer relevant
shader resource is included in the shader resource collision check.
This causes a backing resource to be unnecessarily created and the content
never propagated to the original resource.
Fixes:
aaa4b0e6186 ("st/mesa: move check_program_state code into _mesa_update_state")
Reviewed-by: Neha Bhenden <bhenden@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25801>
Mike Blumenkrantz [Thu, 19 Oct 2023 17:16:42 +0000 (13:16 -0400)]
egl/wayland: only add more registry listeners for hardware devices
these extensions shouldn't be exposed for pure software drivers
fixes #9948
Fixes:
1b4e877def1 ("egl/wayland: use more registry listeners to better handle device init")
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25817>
Mike Blumenkrantz [Thu, 19 Oct 2023 16:52:30 +0000 (12:52 -0400)]
ci: don't set GALLIUM_DRIVER for zink
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25640>
Mike Blumenkrantz [Mon, 9 Oct 2023 19:02:13 +0000 (15:02 -0400)]
glx: add automatic zink fallback loading between hw and sw drivers
if loading the default hardware driver fails, implicitly loading zink
should now be preferable to hitting the software fallback now that zink
has all the same capabilities
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25640>
Mike Blumenkrantz [Mon, 9 Oct 2023 19:02:13 +0000 (15:02 -0400)]
egl: add automatic zink fallback loading between hw and sw drivers
if loading the default hardware driver fails, implicitly loading zink
should now be preferable to hitting the software fallback now that zink
has all the same capabilities
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25640>
Mike Blumenkrantz [Mon, 9 Oct 2023 19:23:04 +0000 (15:23 -0400)]
egl/glx: don't load non-sw zink without dri3 support
this is going to be broken, so don't bother trying
also add LIBGL_KOPPER_DRI2 so people can continue to footgun if they
really really want to
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25640>
Mike Blumenkrantz [Tue, 10 Oct 2023 11:54:17 +0000 (07:54 -0400)]
egl: init dri3 version info during screen creation
no functional changes
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25640>
Mike Blumenkrantz [Tue, 10 Oct 2023 11:47:23 +0000 (07:47 -0400)]
egl: unify dri2_egl_display creation
this is the same for all platforms
no functional changes
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25640>
Saroj Kumar [Mon, 17 Jul 2023 15:33:02 +0000 (21:03 +0530)]
radeonsi: Add tracepoints in radeonsi driver
Add initialization code for u_trace and tracepoints in the
driver code.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23664>
Saroj Kumar [Mon, 17 Jul 2023 15:14:53 +0000 (20:44 +0530)]
radeonsi: Add u_trace init code in radeonsi
Add u_trace initialization and callbacks in new files si_utrace.h/c
Change si_context in si_pipe.h to add si_ds_queue and u_trace to
collect traces.
Add si_record_ts function in si_gfx_cs.c to add timestamp in command
stream.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23664>
Saroj Kumar [Mon, 17 Jul 2023 14:51:29 +0000 (20:21 +0530)]
radeonsi: Add perfetto support in radeonsi
Add perfetto code in new files si_perfetto.h/cc which add tracepoint
begin and end event and calls to the generated code from python
si_tracepoints.py
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23664>
Timur Kristóf [Wed, 18 Oct 2023 13:41:40 +0000 (15:41 +0200)]
radv: Wait for bottom of pipe in ACE gang wait postamble.
This makes sure that the semaphore is only written when all work
on the compute queue is finished.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25770>
Timur Kristóf [Wed, 18 Oct 2023 13:37:21 +0000 (15:37 +0200)]
radv: Add queue family argument to some functions.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25770>
Timur Kristóf [Wed, 18 Oct 2023 13:07:01 +0000 (15:07 +0200)]
radv: Use new WRITE_DATA helper in more places.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25770>
Timur Kristóf [Wed, 18 Oct 2023 12:29:55 +0000 (14:29 +0200)]
radv: Refactor WRITE_DATA helper function.
Create a version of this function that takes a CS and queue family.
move it to radv_cs.h so it can be called from multiple other files.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25770>
Timur Kristóf [Mon, 16 Oct 2023 08:25:06 +0000 (10:25 +0200)]
radv: Move radv_cp_wait_mem to radv_cs.h and add queue family argument.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25770>
Timur Kristóf [Fri, 29 Sep 2023 15:47:40 +0000 (17:47 +0200)]
radv: Only call si_cp_dma_wait_for_idle on GFX and ACE queues.
This command is only supported on GFX and ACE.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25770>
Timur Kristóf [Fri, 29 Sep 2023 12:12:01 +0000 (14:12 +0200)]
radv: Use const on vi_alpha_is_on_msb arguments.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25770>
Timur Kristóf [Thu, 5 Oct 2023 23:27:10 +0000 (01:27 +0200)]
radv: Use const device argument in radv_sdma_copy_buffer.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25770>
Timur Kristóf [Tue, 26 Sep 2023 09:34:42 +0000 (11:34 +0200)]
radv: Rename SDMA file to radv_sdma.c
It already contains more than just the buffer image copies.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25770>
Faith Ekstrand [Thu, 19 Oct 2023 12:16:38 +0000 (07:16 -0500)]
nvk: Implement VK_EXT_dynamic_rendering_unused_attachments
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9632
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25813>
Faith Ekstrand [Thu, 19 Oct 2023 12:26:10 +0000 (07:26 -0500)]
nvk: Enable descriptorIndexing
This is the Vulkan 1.2 equivalent of VK_EXT_descriptor_indexing
extension enable.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25812>