aboutsummaryrefslogtreecommitdiffstats
path: root/libavutil/vulkan_loader.h
Commit message (Collapse)AuthorAgeFilesLines
* hwcontext_vulkan: use host image copyLynne2025-06-111-0/+1
|
* vulkan: enable VK_KHR_shader_subgroup_rotateLynne2025-05-201-0/+1
| | | | Yet another thing that should've been always present.
* avutil/hwcontext_vulkan: check if expect_assume is supported by the headerJames Almer2025-04-151-0/+2
| | | | | Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: James Almer <jamrial@gmail.com>
* vulkan: add support for expect/assumeLynne2025-04-141-0/+1
| | | | | | This commit adds support for compiler hints. While on AMD these are not used/needed, Nvidia benefits from them, and gives a sizeable 10% speedup on 4k.
* vulkan_loader: remap video_maintenance2 in ff_vk_extensions_to_maskLynne2025-03-271-0/+3
| | | | This was broken.
* hwcontext_vulkan: guard all uses of new spec defines and fix stray bracketLynne2024-10-041-0/+2
| | | | This fixes compilation with less recent Vulkan headers.
* vulkan: parse instance list and add the DEBUG_UTILS extensionLynne2024-10-041-0/+4
| | | | Required to let users know whether debugging is active.
* hwcontext_vulkan: enable VK_KHR_shader_relaxed_extended_instructionLynne2024-10-041-0/+1
|
* vulkan: use push descriptors where possibleLynne2024-09-231-0/+1
| | | | | | | | Push descriptors are in theory slightly faster, but come with limitations for which we have to check. Either way, they're not difficult to implement, so even though no one should be using peasant-tier descriptors, do it anyway.
* hwcontext_vulkan: enable VK_KHR_video_maintenance1Lynne2024-08-161-0/+1
| | | | We require it for encoding.
* hwcontext_vulkan: add support for Vulkan encodingLynne2024-08-111-0/+3
|
* hwcontext_vulkan: add support for VK_EXT_shader_objectLynne2024-08-111-0/+1
| | | | | We'd like to use it eventually, and its already covered by the minimum version of the headers we require.
* hwcontext_vulkan: initialize optical flow queues if availableLynne2024-08-111-0/+1
| | | | Lets us implement FPS conversion.
* vulkan_av1: port to the new stable APILynne2024-03-251-1/+1
| | | | Co-Authored-by: Dave Airlie <airlied@redhat.com>
* avutil/vulkan_loader: Avoid relocations for stringsAndreas Rheinhardt2024-03-031-4/+12
| | | | | | | | | | To do so, concatenate all the names together to one big string name1\0name2\0....lastname\0\0. This avoids the pointer in the FunctionLoadInfo structure and thereby moves vk_load_info into .rodata (and makes it smaller by 888B). Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/vulkan_loader: Use smaller typesAndreas Rheinhardt2024-03-031-3/+3
| | | | | | | | | Saves 16B per entry here (four of these 16 bytes are padding); leads to 1776 B of savings in each file that uses ff_vk_load_functions(). Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/vulkan_loader: Avoid redundant strings and relocationsAndreas Rheinhardt2024-03-031-8/+17
| | | | | | | | | | | | | | | | | | There are three possible names for the functions requested; they only differ in an extension: "", "EXT" or "KHR". Yet vk_load_info contained pointers to all these strings. This is wasteful and this commit changes it to avoid the latter two strings. This saves 6353B of strings, 1776 B of .data.rel.ro as well as 5328 B due to the removed relocations (corresponding to 2 * 111 removed pointers) in lavc/vulkan_decode.o alone (ff_vk_load_functions() is inlined in lavfi/vulkan_filter.c, lavu/hwcontext_vulkan.c and lavc_vulkan_decode.c, so the savings are three times this for shared builds; for static builds, the number may be smaller depending upon whether strings are deduplicated). Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* vulkan: enable VK_KHR_cooperative_matrixLynne2023-08-261-0/+1
| | | | | It's of interest to API users, and of interest to us, as a DCT/DST can be implemented via matrix multiplies.
* vulkan: add support for the atomic float ops extensionLynne2023-05-291-0/+1
|
* av1dec: add Vulkan hwaccelLynne2023-05-291-0/+1
|
* hwcontext_vulkan: add functions for video decodingLynne2023-05-291-0/+4
|
* hwcontext_vulkan: use VK_EXT_physical_device_drm to derive DRM to VulkanLynne2023-05-291-0/+1
| | | | Finally, a way to directly identify a Vulkan device from a DRM device!
* hwcontext_vulkan: add support for descriptor buffersLynne2023-05-291-0/+1
|
* vulkan_loader: fix typo in error messageLynne2021-11-181-1/+1
|
* avutil/vulkan: load win32 external memory functionsTimo Rothenpieler2021-11-141-1/+8
|
* lavu: move hwcontext_vulkan's function loader into separate filesLynne2021-11-121-0/+128
This allows for the loader to be shared with libavcodec and libavfilter.