Yiwei Zhang
3fdea1567d
venus: properly expose KHR_external_fence/sempahore_fd
...
Summary:
1. hide those extensions for vtest since there's no export support
2. do block waiting upon export without implicit fencing support
Fixes: 68a478870d ("venus: expose KHR_external_fence/sempahore_fd extensions")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25633 >
2023-10-17 20:12:07 +00:00
Yiwei Zhang
ed2cac0f1e
venus: enable Vulkan 1.3 for Android 13 and above
...
Now that ndk translation support is ready for both Intel and AMD, we can
advertise Vulkan 1.3 on Android 13.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25666 >
2023-10-11 22:29:46 +00:00
Dave Airlie
af062126ae
lavapipe: expose planar ycbcr formats and new ycbcr features
...
This enables some extensions and a bunch of formats for ycbcr
support.
dEQP-VK.api.info.format_properties.g8_b8_r8_3plane_420_unorm,Fail
dEQP-VK.api.info.format_properties.g8_b8r8_2plane_420_unorm,Fail
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25609 >
2023-10-10 04:37:07 +00:00
Yiwei Zhang
72cb85b778
venus: make device memory alloc async
...
Add a new perf option NO_ASYNC_MEM_ALLOC. Track the ring seqno of the
memory alloc command, and do async ring wait to ensure:
- memory allocation is before resource creation
- memory import is before resource destroy
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25611 >
2023-10-10 01:59:34 +00:00
Yiwei Zhang
95d90cdf3d
venus: refactor vn_device_memory to prepare for async alloc
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25611 >
2023-10-10 01:59:34 +00:00
Yiwei Zhang
123f37c803
venus: track VkPhysicalDeviceMemoryProperties instead
...
For code simplicity.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25611 >
2023-10-10 01:59:34 +00:00
Yiwei Zhang
1db03e42bd
venus: remove redundant bo roundtrip and add more docs
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25611 >
2023-10-10 01:59:34 +00:00
Yiwei Zhang
ca3095672f
venus: fix re-export of imported classic 3d resources
...
When the guest driver is Virgl while Xwayland is on Zink, Virgl can
request virtgpu classic 3d resource allocations for swapchain images.
Zink will import when the image is shared with xserver and will export
for fd info of all 2d images later to be forwarded.
Cc: mesa-stable
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25579 >
2023-10-07 00:22:02 +00:00
Dave Airlie
3e6938696a
llvmpipe/fs: fix regression in sample mask handling from tgsi removal.
...
This got the bits the wrong way,
dEQP-VK.rasterization.frag_side_effects.color_at_beginning.sample_mask_after
Fixes: a63c2daf7a ("llvmpipe/fs: start using nir info in some places.")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25396 >
2023-09-26 20:15:22 +00:00
Gert Wollny
9efe50c83b
virgl: report MIRROR_CLAMP features better
...
The new host version checks the support of these features better,
so report here accordingly. This fixes a number of texwrap piglit
tests on Intel.
v2: Stick to old test for PIPE_CAP_TEXTURE_MIRROR_CLAMP because
host has to be backward compatible.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25343 >
2023-09-25 22:51:20 +00:00
Samuel Pitoiset
a217c5c58c
ci: update to vulkan-cts-1.3.6.3
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24947 >
2023-09-25 15:53:51 +00:00
David Heidelberg
a4e4bf8ccd
ci/venus: add fragment.32B_in_memory_with_vec4_s32 flake
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25349 >
2023-09-23 04:44:37 +00:00
Corentin Noël
c891c1fdce
virgl: Cover all the formats defined in the virgl definition
...
Add all the formats currently defined in u_formats.h
Also make sure that no format on virgl protocol has the same number as another one.
Make so that the virgl_formats_conv_table is following the same order as virgl_formats
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25295 >
2023-09-22 07:35:57 +00:00
Yiwei Zhang
3166b14bd8
venus: drop device, family, index, flags tracking from vn_queue
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25262 >
2023-09-18 22:33:49 +00:00
Yiwei Zhang
f5c706e438
venus: use more common vk_queue related implementations
...
This change uses common impl for below:
- GetDeviceQueue2
- DeviceWaitIdle
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25262 >
2023-09-18 22:33:49 +00:00
Yiwei Zhang
3b58e934eb
venus: use common ANB implementation
...
This change has a dependency over
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25185
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25262 >
2023-09-18 22:33:49 +00:00
Yiwei Zhang
4cb0da89a5
venus: use common vk_queue object
...
This change only updates the object base to be vk_queue.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25262 >
2023-09-18 22:33:48 +00:00
Juston Li
4e85c325ff
venus: implement VK_EXT_vertex_input_dynamic_state
...
requires a fixup to ignore static pVertexInputState if dynamic state
is used.
Signed-off-by: Juston Li <justonli@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25193 >
2023-09-13 00:00:39 +00:00
Juston Li
dfbe545a2c
venus: sync protocol for VK_EXT_vertex_input_dynamic_state
...
Signed-off-by: Juston Li <justonli@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25193 >
2023-09-13 00:00:39 +00:00
Yiwei Zhang
da16a76fe7
venus: fix a device memory report leak
...
Fixes: f70a08bc60 ("venus: handle device memory report requests")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25176 >
2023-09-12 19:28:46 +00:00
Alba Mendez
e3aab80d4f
meson: support installation tags
...
the only thing missing is to tag custom install targets, namely:
- ICDs (vulkan, glvnd, OpenCL, VA-API, VDPAU)
- Vulkan layers
- custom install script for megadrivers
- drirc file
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24911 >
2023-09-11 13:00:45 +00:00
Yiwei Zhang
68a478870d
venus: expose KHR_external_fence/sempahore_fd extensions
...
Re-purpose renderer has_external_sync to cover explicit sync emulation
in venus, so that we don't have to add a new flag to distinguish the
emulation path enablement for virtgpu and vtest.
This is to unblock zink implicit sync hanlding against venus for now,
and soon we should migrate to virtgpu fence passing.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25127 >
2023-09-09 03:26:25 +00:00
antonino
aa657247ce
vulkan/wsi: add vk_wsi_force_swapchain_to_current_extent driconf
...
Add a driconf to force the swapchain size to match
`VkSurfaceCapabilities2KHR::currentExtent` as a workaround for
misbehaved games
Fixes: 6139493ae3 ("vulkan/wsi: return VK_SUBOPTIMAL_KHR for sw/x11 on window resize")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24818 >
2023-09-06 00:10:41 +00:00
Yiwei Zhang
72f104791d
venus: expose at least one cached memory type
...
Kernel makes every mapping coherent. If a memory type is truly
incoherent, it's better to remove the host-visible flag than silently
making it coherent. However, for app compatibility purpose, when
coherent-cached memory type is unavailable, we emulate the first cached
memory type with the first coherent memory type.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24875 >
2023-08-28 18:21:48 +00:00
Yiwei Zhang
0c529a61fc
venus: set deviceMemoryReport feature
...
VK_EXT_device_memory_report is implemented in venus driver side, which
has a feature struct. So we must enable it after setting features for
renderer extensions. This change also includes tiny format fixes.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24881 >
2023-08-25 08:59:51 +00:00
Konstantin Seurer
1e46a810d6
venus: Use the common GetPhysicalDeviceFeatures2 implementation
...
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24881 >
2023-08-25 08:59:50 +00:00
Yiwei Zhang
0d4df682b9
venus: add no_sparse debug option to disable sparse resource support
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24877 >
2023-08-25 01:12:29 +00:00
Bas Nieuwenhuizen
d980f311b7
egl,venus,vulkan,turnip,freedreno: Update CPU trace init to init more than perfetto.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22505 >
2023-08-19 23:09:45 +02:00
Konstantin Seurer
e2a02f3910
clang-format: Disable formatting by default
...
This should make `git clang-format` usable for patches that modify
clang formatted and manually formatted code.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9492
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24645 >
2023-08-13 16:48:49 +02:00
Konstantin Seurer
eaee792ea5
vulkan: Add a generated vk_properties struct
...
Generates a physical device properties table to avoid dealing with pNext
chains in the driver. Based on vk_features.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24575 >
2023-08-11 02:53:47 +00:00
Feng Jiang
ea5054a94a
virgl/video: Add definition of virgl_av1_picture_desc
...
The virgl_av1_picture_desc references to pipe_av1_picture_desc.
Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Reviewed-by: Daniel Almeida <daniel.almeida@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23386 >
2023-08-09 09:04:58 +00:00
Yonggang Luo
d130c96bda
util/treewide: Use alignas(x) instead __attribute__((aligned(x)))
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24571 >
2023-08-09 05:15:09 +00:00
Yiwei Zhang
03ff3c0027
venus: suppress a false logging
...
Should only log when there's batched query feedbacks in the suspended
render pass instance. Additionally gate behind debug option.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24379 >
2023-07-30 14:33:34 +00:00
Yiwei Zhang
6b2956e569
ci/venus: reenable pipeline cts
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24344 >
2023-07-27 20:32:18 +00:00
Yiwei Zhang
9e05ef823c
ci/venus: remove fixed tests that no longer run
...
Those multiview failures have been fixed in lvp while the EDS failure
tests are obsolete.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24344 >
2023-07-27 20:32:18 +00:00
Yiwei Zhang
2ed4f04869
venus: use in_render_pass to skip present_src counting
...
It's an early return also benefiting dynamic rendering. We then no
longer need to track the legacy pass from inheritance info.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24103 >
2023-07-22 01:49:43 +00:00
Yiwei Zhang
e47da97be6
venus: refactor more cmd states into cmd builder
...
This change:
- adds helpers for cmd begin/end rendering
- simplifies cmd reset
- updates ordering to align with cmd builder
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24103 >
2023-07-22 01:49:43 +00:00
Yiwei Zhang
10c791619c
venus: avoid redundant tracking of render pass
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24103 >
2023-07-22 01:49:43 +00:00
Yiwei Zhang
540242f9ff
venus: add helpers to track subpass view mask
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24103 >
2023-07-22 01:49:43 +00:00
Yiwei Zhang
311a0eeb21
venus: cleanup vn_cmd_begin_render_pass usage
...
For secondary command buffers, vn_cmd_begin_render_pass was only used to
track inherited render pass previously. So we clean it up.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24103 >
2023-07-22 01:49:43 +00:00
Yiwei Zhang
81b69f8e8b
venus: use tracked queue_family_index from the cmd pool
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24103 >
2023-07-22 01:49:43 +00:00
Yiwei Zhang
72728f83ed
venus: remove redundant fb tracking from cmd builder
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24103 >
2023-07-22 01:49:43 +00:00
Yiwei Zhang
f0b5a6335d
venus: move transient storage from cmd to pool
...
The storage is for command scope usage, so it fits better for the pool.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24103 >
2023-07-22 01:49:43 +00:00
Yiwei Zhang
566df7821b
venus: log and doc the broken query feedback in suspended render pass
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24103 >
2023-07-22 01:49:43 +00:00
Yiwei Zhang
d13bf8f6b1
venus: fix cmd state leak across implicit reset
...
Reset cmd states during vkBeginCommandBuffer regardless of the
VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT for simplicity.
Cc: mesa-stable
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24103 >
2023-07-22 01:49:42 +00:00
Yiwei Zhang
a9f058d614
venus: fix a cmd builder render_pass state leak across reset
...
Cc: mesa-stable
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24103 >
2023-07-22 01:49:42 +00:00
Yiwei Zhang
fd9a0ecc86
ci/venus: update venus-lavapipe expectations
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24263 >
2023-07-21 17:11:26 +00:00
Boyuan Zhang
7eff5cdbac
virgl: Add vp9 picture desc
...
Define vp9 picture and slice parameters.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Daniel Almeida <daniel.almeida@collabora.com >
Reviewed-by: Feng Jiang <jiangfeng@kylinos.cn >
Signed-off-by: Huang Rui <ray.huang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22108 >
2023-07-19 07:06:38 +00:00
Honglei Huang
9cbb7cb13b
virgl/video: Add more pipe type in virgl formats convert table
...
Add Y8_400_UNORM, YUYV, Y8_U8_V8_444_UNORM,
R8G8_R8B8_UNORM into virgl_formats_conv_table to fix
the resource create fail issue.
Signed-off-by: Honglei Huang <honglei1.huang@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: Daniel Almeida <daniel.almeida@collabora.com >
Reviewed-by: Feng Jiang <jiangfeng@kylinos.cn >
Signed-off-by: Huang Rui <ray.huang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22108 >
2023-07-19 07:06:38 +00:00
Honglei Huang
e1b8e4d7fc
virgl/video: Add support for jpeg decoding
...
Implement for virgl jpeg decoding.
Signed-off-by: Honglei Huang <honghuan@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: Daniel Almeida <daniel.almeida@collabora.com >
Reviewed-by: Feng Jiang <jiangfeng@kylinos.cn >
Signed-off-by: Huang Rui <ray.huang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22108 >
2023-07-19 07:06:38 +00:00