platform/upstream/mesa.git
9 months agointel/isl: Add scores for GEN12_RC_CCS and MTL_RC_CCS
Nanley Chery [Fri, 25 Aug 2023 22:09:39 +0000 (18:09 -0400)]
intel/isl: Add scores for GEN12_RC_CCS and MTL_RC_CCS

Now that these CCS-enabled modifiers have non-zero scores, anv is
enabled to use them.

We found this to improve the performance of Borderlands 3 by 18.73%.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6701
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com>
Tested-by: Jianxun Zhang <jianxun.zhang@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25003>

9 months agoanv: Delete implicit CCS code
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>

9 months agoanv: Meet CCS alignment reqs with dedicated allocs
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>

9 months agoanv: Loosen anv_bo_allows_aux_map
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>

9 months agoanv: Place images into the aux-map when safe to do so
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>

9 months agoanv: Refactor CCS disabling at image bind time
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>

9 months agoanv: Wrap aux surface image binding queries
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>

9 months agoanv: Allocate space for aux-map CCS in image bindings
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>

9 months agoanv: Move scope of CCS binding determination
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>

9 months agointel: Return a bool from intel_aux_map_add_mapping
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>

9 months agoradv/rmv: Recognize LPDDR memory
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>

9 months agoradv/rra: Recognize LPDDR memory
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>

9 months agodocs/ci: Add some links in the CI docs to how to track job flakes
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>

9 months agodocs/ci: Drop old instructions for farm disabling
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>

9 months agoutil: Remove MESA_TRACE_BEGIN/END
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>

9 months agoutil/perf: Remove the tracing categories
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>

9 months agoutil: Avoid the use of MESA_TRACE_BEGIN/END
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>

9 months agovenus: Change the only occurrence of VN_TRACE_BEGIN/END to VN_TRACE_SCOPE
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>

9 months agoaux/tc: Use MESA_TRACE_SCOPE instead of _BEGIN/_END
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>

9 months agotu: Use MESA_TRACE_SCOPE instead of _BEGIN/_END
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>

9 months agofreedreno/drm/virtio: Use MESA_TRACE_SCOPE instead of _BEGIN/_END
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>

9 months agozink: fix zink_destroy_screen for early screen creation fails
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>

9 months agoetnaviv: Skip 'empty' cmd streams
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>

9 months agoetnaviv: drm: Be able to mark end of context init
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>

9 months agopvr: Only setup the bgobj to load if we have a load_op
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>

9 months agoci/b2c: change artifacts path to match baremetal and LAVA
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>

9 months agoci/ci_run_n_monitor: keep monitoring if a job is still running
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>

9 months agoci/freedreno: disable Adreno 660 Vulkan pre-merge
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>

9 months agoradeonsi: fixes compilaton error when perfetto is disabled
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>

9 months agoci/freedreno: fix copy paste causing a618_gl being run only in manual pipeline
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>

9 months agosvga: Unify gmr and mob surface pool managers
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>

9 months agosvga: Make surfaces shareable at creation.
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>

9 months agoci/venus: mark more flaky tests after recent cts uprev
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>

9 months agoci/marge_queue: add missing python-dateutils to requirements.txt
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>

9 months agomesa: add GL_APPLE_sync support
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>

9 months agozink: properly alias shared memory
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>

9 months agozink: wrap shared memory blocks in a struct
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>

9 months agofrontends/va: Fix locking in vlVaBeginPicture
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>

9 months agopvr: Implement VK_EXT_host_query_reset
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>

9 months agopvr: Implement VK_EXT_texel_buffer_alignment
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>

9 months agopvr: Enable VK_KHR_bind_memory2 extension
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>

9 months agopvr: Implement VK_KHR_external_semaphore
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>

9 months agopvr: Implement VK_KHR_external_fence
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>

9 months agoanv: document the draw indirect optimization ring mode
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>

9 months agoanv: merge gfx9/11 indirect draw generation shaders
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>

9 months agoanv: add ring buffer mode to generated draw optimization
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>

9 months agoanv: index indirect data buffer with absolute offset
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>

9 months agoanv: factor out host/gpu internal shaders interfaces
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>

9 months agoutil/glsl2spirv: add ability to pass defines
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>

9 months agoanv: move generation batch fields to a sub-struct
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>

9 months agoanv: avoid MI commands to copy draw indirect count
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>

9 months agoanv: identify internal shader in NIR
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>

9 months agoanv: extract out draw call generation
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>

9 months agoanv: fix generated draws gl_DrawID with more than 8192 indirect draws
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>

9 months agoanv: move generation shader return instruction to last draw lane
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>

9 months agoRevert "etnaviv: use correct blit box sizes when copying resource"
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>

9 months agodri: Drop a duplicate mesa vs pipe format table.
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>

9 months agoci: drop skip for glx-swap-copy.
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>

9 months agoglx: Delete support for GLX_OML_swap_method.
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>

9 months agoci_run_n_monitor: Poll mesa/mesa and user/mesa for pipelines at the same time.
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>

9 months agoradeonsi/vcn: set jpeg reg version for gfx 1150
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>

9 months agoamd/common: update DCC for gfx11.5
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>

9 months agoamd, radeonsi: Add code to enable gfx11.5
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>

9 months agoac/nir: extract must_wait_attr_ring helper
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>

9 months agoamd/common: add registers for gfx11.5
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>

9 months agoamd/common: update addrlib for gfx11.5
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>

9 months agod3d12: Allocate d3d12_video_buffer with higher alignment for compatibility
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>

9 months agod3d12: Add support for PIPE_VIDEO_CAP_ENC_MAX_TILE_ROWS/COLS
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>

9 months agofrontend/va: Add support for VAConfigAttribEncMaxTileRows/Cols
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>

9 months agod3d12: AV1 Encode - Fix VAConfigAttribEncMaxRefFrames reporting
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>

9 months agod3d12: AV1 encode - add fallback for app passing unsupported pic_params.Interpolation...
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>

9 months agod3d12: AV1 encode - Add lower resolution fallback check for uniform tile support
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>

9 months agod3d12: Do not destroy codec when destroying video buffer
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>

9 months agod3d12: Video Decode - Wait for GPU completion before destroying decoder in-flight...
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>

9 months agod3d12: Fixes AV1 tx_mode_support reporting and unsupported tx_mode overriding
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>

9 months agod3d12: Upgrade to D3D12 Agility SDK 1.611 Video interface
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>

9 months agofrontends/va: Add profile param when querying PIPE_VIDEO_CAP_ENC_QUALITY_LEVEL
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>

9 months agovenus: set lvp queries as saturate on overflow
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>

9 months agovenus: Fix -Wmaybe-uninitialized
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>

9 months agosvga: ignore sampler view resource if not used by shaders
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>

9 months agoegl/wayland: only add more registry listeners for hardware devices
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>

9 months agoci: don't set GALLIUM_DRIVER for zink
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>

9 months agoglx: add automatic zink fallback loading between hw and sw drivers
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>

9 months agoegl: add automatic zink fallback loading between hw and sw drivers
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>

9 months agoegl/glx: don't load non-sw zink without dri3 support
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>

9 months agoegl: init dri3 version info during screen creation
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>

9 months agoegl: unify dri2_egl_display creation
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>

9 months agoradeonsi: Add tracepoints in radeonsi driver
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>

9 months agoradeonsi: Add u_trace init code in radeonsi
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>

9 months agoradeonsi: Add perfetto support in radeonsi
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>

9 months agoradv: Wait for bottom of pipe in ACE gang wait postamble.
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>

9 months agoradv: Add queue family argument to some functions.
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>

9 months agoradv: Use new WRITE_DATA helper in more places.
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>

9 months agoradv: Refactor WRITE_DATA helper function.
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>

9 months agoradv: Move radv_cp_wait_mem to radv_cs.h and add queue family argument.
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>

9 months agoradv: Only call si_cp_dma_wait_for_idle on GFX and ACE queues.
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>

9 months agoradv: Use const on vi_alpha_is_on_msb arguments.
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>

9 months agoradv: Use const device argument in radv_sdma_copy_buffer.
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>

9 months agoradv: Rename SDMA file to radv_sdma.c
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>

9 months agonvk: Implement VK_EXT_dynamic_rendering_unused_attachments
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>