Corentin Noël
1eaea97f3a
venus/ci: Only run one crosvm instance
...
As venus now has separate render server processes it is better to use a single
crosvm instance to run all the tests.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21693 >
2023-03-31 12:39:49 +00:00
Lina Versace
655150918b
venus: Enable VK_EXT_memory_budget
...
Tested dEQP-VK.info.device_memory_budget on Intel with vtest. When the
test is ran at approximately the same time on the native driver and on
vtest, the qpa result files each report approximately the same memory
budget.
Signed-off-by: Lina Versace <linyaa@google.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22099 >
2023-03-30 09:55:40 +00:00
Lina Versace
85007a5caf
venus: Refactor vn_physical_device_init_memory_properties
...
Improve readability.
Signed-off-by: Lina Versace <linyaa@google.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22099 >
2023-03-30 09:55:40 +00:00
Lina Versace
436a0d2609
venus: Delete vn_renderer_info::has_cache_management
...
It has been false since commit 247232d596 , when Venus was merged
upstream in April 2021.
Signed-off-by: Lina Versace <linyaa@google.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22099 >
2023-03-30 09:55:39 +00:00
Lina Versace
e58352930e
venus: Update protocol for VK_EXT_memory_budget
...
Signed-off-by: Lina Versace <linyaa@google.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22099 >
2023-03-30 09:55:39 +00:00
Ryan Neph
ac9d36a42a
venus: re-use VN_DEBUG_NO_ABORT to disable ring monitoring abort()
...
Useful to keep the hung guest process alive while debugging the renderer
process.
Signed-off-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22176 >
2023-03-29 15:48:38 +00:00
Ryan Neph
4a4b05869a
venus: check and configure new ringMonitoring feature
...
At ring creation, if supported by renderer, we can request
ringMonitoring. During driver ring waits, the ring's new ALIVE status
bit will be checked periodically at the configured rate. If the bit is
not set, the renderer must have crashed and the driver should do the
same to signal a problem to the app/user.
Signed-off-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22036 >
2023-03-24 23:27:53 +00:00
Ryan Neph
c4c09464ce
venus: update to latest protocol for ringMonitoring
...
Signed-off-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22036 >
2023-03-24 23:27:53 +00:00
Ryan Neph
476c771e34
venus: init exp features before ring init again
...
This reverts commit dda85cf94b ("venus:
move exp features init back to use ring submit"), and additionally adds
per stream shmem caching to determine when vkSetReplyCommandStreamMESA
is needed.
Checking renderer features before setting up ring means that the bound
shmem for replies on the ring will no longer be implicitly set on first
shmem creation (it was set for the renderer stream instead). So the
test for when another vkSetReplyCommandStreamMESA is needed must
independently consider the last stream set on renderer/ring(s)
Signed-off-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22036 >
2023-03-24 23:27:53 +00:00
Ryan Neph
3812a946d2
venus: set/check ring status bits independently
...
prepare for manipulation of the new VK_RING_STATUS_ALIVE_BIT_MESA during
ring monitoring.
Signed-off-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22036 >
2023-03-24 23:27:53 +00:00
Ryan Neph
bb4c10f85e
venus: add vn_relax_init/_fini()
...
Use a new calling contract so we can do pre/post-work around every ring-waiting
iteration. All looping uses of `vn_relax()` must now call `vn_relax_init()` and
`vn_relax_fini()` before/after their loop bodies.
Signed-off-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22036 >
2023-03-24 23:27:52 +00:00
Gert Wollny
831e7818aa
virgl: Enable AMD_vertex_shader_(layer|viewport_index) when host supports it
...
This increase the number of cases when the texture upload from buffer
can use the PBO upload code path.
v2: Fix logic combination (Corentin)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21586 >
2023-03-16 09:30:00 +00:00
Yiwei Zhang
179fadb332
venus: make external fence and semaphore export async
...
This also makes vn_QueueSignalReleaseImageANDROID async since it makes
use of a queue submit followed by an external fence export internally.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21716 >
2023-03-14 18:07:38 +00:00
Yiwei Zhang
a37771b42a
venus: refactor to add vn_sync_payload_external
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21716 >
2023-03-14 18:07:38 +00:00
Yiwei Zhang
891af34bca
venus: make common wsi bo submission async
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21716 >
2023-03-14 18:07:38 +00:00
Yiwei Zhang
0a3f612ab3
venus: let vn_instance_submit_command track ring seqno
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21716 >
2023-03-14 18:07:38 +00:00
Yiwei Zhang
1cb42a629f
venus: make vn_instance_wait_roundtrip asynchronous
...
vn_instance_roundtrip does 2 things:
1. vn_instance_submit_roundtrip
- before: encode a cmd to write vq seqno to ring extra field
- after: encode a cmd to update vq seqno against a ring
- submit the encoded cmd via vq
2. vn_instance_wait_roundtrip
- before: wait until ring extra field has the vq seqno
- after: let renderer ring thread wait for the vq seqno
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21716 >
2023-03-14 18:07:38 +00:00
Yiwei Zhang
9b7a78cac6
venus: switch to use 64bit roundtrip seqno
...
This is to prepare for later async roundtrip waiting while seamlessly
compatible with legacy way.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21716 >
2023-03-14 18:07:38 +00:00
Yiwei Zhang
932073d3e6
venus: sync to latest protocol for asyncRoundtrip
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21716 >
2023-03-14 18:07:38 +00:00
Emma Anholt
5bb9ab896c
ci: Re-enable some swrast testing using fd.o's shared runners for now.
...
I'm not planning to stand mesa-swrast back up until we get Kata set up, so
turn the testing back on at a reduced fraction on so that
venus/llvmpipe/etc. dev can still get some coverage.
I haven't turned lavapipe back on, because it is now unstable in memory
model / atomics tests.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21880 >
2023-03-14 11:31:34 +00:00
Mike Blumenkrantz
e5b29e6735
Revert "Revert "ci: disable mesa-swrast runner jobs""
...
This reverts commit 7ae0d9d2e8 .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21836 >
2023-03-10 12:37:56 +00:00
Emma Anholt
7ae0d9d2e8
Revert "ci: disable mesa-swrast runner jobs"
...
This reverts commit aef0f3efdf .
We've got a new set of runners now (mesa-swrast-4, 5, and 7 because
counting is hard)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21826 >
2023-03-10 04:04:59 +00:00
David Heidelberg
aef0f3efdf
ci: disable mesa-swrast runner jobs
...
Temporarily.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21815 >
2023-03-09 18:01:09 +00:00
Yiwei Zhang
ae6eb3229e
venus: revert back the warn order
...
This reverts
- commit 4ae4e4362c
- commit f54aa49c14
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21542 >
2023-03-07 00:25:07 +00:00
Yiwei Zhang
28bdf8db18
venus: vn_relax to abort on ring fatal status upon warn order
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21542 >
2023-03-07 00:25:07 +00:00
Yiwei Zhang
adb51eeba5
venus: propagate vn_ring to vn_relax
...
This is to prepare for vn_relax to check ring status as well as pinging
renderer.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21542 >
2023-03-07 00:25:07 +00:00
Yiwei Zhang
15a55198ec
venus: abort ring submit when ring is in fatal status
...
This change also migrates to use the protocol defined status enums.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21542 >
2023-03-07 00:25:07 +00:00
Yiwei Zhang
0b45893823
venus: sync to latest protocol for ring status enum
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21542 >
2023-03-07 00:25:07 +00:00
Eric Engestrom
4e1eb53b5e
vn: add linker script to fix android symbols
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21631 >
2023-03-04 07:41:10 +00:00
Juston Li
464cae9497
venus: shader cache fossilize replay fix
...
venus utilizes the host side shader cache.
This is a WA to generate shader cache files containing headers with
a unique cache id that will change based on host driver identifiers.
This allows fossilize replay to detect if the host side shader cache
is no longer up to date.
The shader cache is destroyed after creating the necessary files and
not utilized by venus.
Signed-off-by: Juston Li <justonli@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21664 >
2023-03-04 05:56:04 +00:00
Samuel Pitoiset
f775873f81
ci: uprev CTS to 1.3.5.0
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21390 >
2023-03-03 08:23:21 +00:00
Yiwei Zhang
b5e7a22c2e
venus: ensure invariance of buffer memory requirement size
...
Need to align the size for the initial cache miss.
Fixes: ef255444c1 ("venus: switch to lazy VkBuffer cache")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21644 >
2023-03-03 00:07:23 +00:00
Yiwei Zhang
054a83492d
venus: fix VK_EXT_image_view_min_lod feature query
...
Fixes: 8b81098519 ("venus: enable VK_EXT_image_view_min_lod")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21617 >
2023-03-01 17:24:26 +00:00
Yiwei Zhang
35c85c0ae6
venus: fix device memory export alloc info
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21379 >
2023-02-28 04:56:14 +00:00
Yiwei Zhang
23c350517a
venus: fix external image creation
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21379 >
2023-02-28 04:56:14 +00:00
Yiwei Zhang
953ff3cf55
venus: simplify support for non-AHB external images
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21379 >
2023-02-28 04:56:14 +00:00
Yiwei Zhang
ca96f94aee
venus: simplify ahb image creation
...
Those excessive asserts are only useful when bringing up Android.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21379 >
2023-02-28 04:56:14 +00:00
Yiwei Zhang
768017f72b
venus: refactor image create info pnext tracking
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21379 >
2023-02-28 04:56:14 +00:00
Yiwei Zhang
4d616fb919
venus: remove redundant abstractions for wsi struct search
...
Doing that won't avoid linking wsi headers, and in fact we have already
included both android and common wsi headers. For swapchain info, it's
currently disabled by the swapchain spec version advertised on Android.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21379 >
2023-02-28 04:56:14 +00:00
Yiwei Zhang
21a0608395
venus: fix external buffer creation
...
Move buffer create info scrub into core venus.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21379 >
2023-02-28 04:56:14 +00:00
Yiwei Zhang
09f5033232
venus: distinguish external memory from mappable memory support
...
Mappable memory support is a must for Venus core, but the support of
such can be transparent to the driver. Thus the renderer external memory
type won't expose opaque fd type.
External memory over vtest can be exposed and the wsi support on top can
be made explicit as long as masking out the importable bit.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21379 >
2023-02-28 04:56:14 +00:00
Yiwei Zhang
19c3608672
venus: tighten up the sync fd requirements for Android wsi
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21379 >
2023-02-28 04:56:14 +00:00
Yiwei Zhang
657cd2e1d4
venus: refactor sync fd fence and sempahore features
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21379 >
2023-02-28 04:56:14 +00:00
Yiwei Zhang
05791b6ae0
venus: clean up globalFencing
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21379 >
2023-02-28 04:56:14 +00:00
Yiwei Zhang
344be4405c
venus: clean up memoryResourceAllocationSize
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21379 >
2023-02-28 04:56:14 +00:00
Yiwei Zhang
6f8fe78e3b
venus: start requiring all experimental features
...
This is to prepare for promoting exp features to core.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21379 >
2023-02-28 04:56:14 +00:00
Yiwei Zhang
9d76ed9638
venus: replace binary search with hardcode for max buffer size
...
Avoid the couple test buffer creations without maintenance4.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21379 >
2023-02-28 04:56:14 +00:00
Yiwei Zhang
417de28e43
venus: further disallow sparse resource
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21379 >
2023-02-28 04:56:14 +00:00
Ryan Neph
03ffbcb29a
Revert "venus: temporarily redirect VkDrmFormatModifierPropertiesListEXT to "2" variant"
...
No longer need to redirect, since the renderer should use the fixed
decoder for VkDrmFormatModifierPropertiesListEXT::drmFormatModifierCount
by now.
This reverts commit 525b8c582f .
Signed-off-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21395 >
2023-02-27 16:45:02 +00:00
Ryan Neph
1d12d7c33c
venus: update venus-protocol headers to fix WA1
...
Follow-up to previous commit, this time to fix encoding/decoding for
VkDrmFormatModifierPropertiesListEXT::drmFormatModifierCount. Fixes a
workaround (WA1) in the venus-protocol.
Signed-off-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21395 >
2023-02-27 16:45:02 +00:00