358919506d
vulkan: enable VK_KHR_cooperative_matrix
...
It's of interest to API users, and of interest to us,
as a DCT/DST can be implemented via matrix multiplies.
2023-08-26 23:14:53 +02:00
160a415e22
lavfi: add nlmeans_vulkan filter
2023-05-29 00:42:01 +02:00
dfff3877b7
vulkan: add support for the atomic float ops extension
2023-05-29 00:42:01 +02:00
77478f6793
av1dec: add Vulkan hwaccel
2023-05-29 00:42:00 +02:00
b5eaeb1f13
vulkan: rewrite to support all necessary features
...
This commit rewrites the majority of vulkan.c to enable its use
as a general-purpose high-level utility code, usable for decoding,
encoding, and filtering of video frames.
The dependency system was rewritten to simplify management of
execution.
The image handling system was rewritten to accomodate multiplane
images.
Due to how related all the new features were, this is a single
commit.
2023-05-29 00:41:48 +02:00
b15104ed97
vulkan: add support for retrieving queue, query and video properties
2023-05-29 00:41:47 +02:00
e5e12c5078
hwcontext_vulkan: load query-related functions
...
Needed for both encoding and decoding.
2023-05-29 00:41:41 +02:00
6dfa29a58d
hwcontext_vulkan: add functions for video decoding
2023-05-29 00:41:40 +02:00
571756bf2f
hwcontext_vulkan: use VK_EXT_physical_device_drm to derive DRM to Vulkan
...
Finally, a way to directly identify a Vulkan device from a DRM device!
2023-05-29 00:41:40 +02:00
f50bc930a4
hwcontext_vulkan: add support for descriptor buffers
2023-05-29 00:41:39 +02:00
74b202b839
hwcontext_vulkan: enable VK_KHR_synchronization2 if supported
2023-05-29 00:41:36 +02:00
fddfb0ebf8
hwcontext_vulkan: enable support for YCbCr samplers
2023-05-29 00:41:36 +02:00
3c831847a8
hwcontext_vulkan: avoid using 64-bit enums
...
MSVC (2016, but possibly more) still force enums to be basic ints.
2022-01-27 10:27:09 +01:00
b3624069f0
avutil/hwcontext_vulkan: fully support customizable validation layers
...
Validation layer is an indispensable part of developing on Vulkan.
The following commands is on how to enable validation layers:
ffmpeg -init_hw_device vulkan=0,debug=1,validation_layers=VK_LAYER_LUNARG_monitor+VK_LAYER_LUNARG_api_dump
Signed-off-by: Wu Jianhua <jianhua.wu@intel.com >
2021-11-26 10:36:39 +01:00
1d06084171
vulkan: fix checkheaders
2021-11-19 16:47:28 +01:00
fedf4ff85c
avutil/vulkan: load win32 external memory functions
2021-11-14 12:50:32 +01:00
57e11321ea
hwcontext_vulkan: use vkDeviceWaitIdle instead of vkWaitSemaphores on uninit
...
To silence a possible validation layer bug, switch the function. It only gets
triggered by vf_libplacebo, which is odd.
2021-11-12 14:45:17 +01:00
d05a18cdc7
lavu: move hwcontext_vulkan's function loader into separate files
...
This allows for the loader to be shared with libavcodec and libavfilter.
2021-11-12 05:23:40 +01:00