summaryrefslogtreecommitdiff
path: root/libavutil/vulkan_loader.h
Commit message (Collapse)AuthorAge
* avutil/vulkan_loader: Avoid relocations for stringsAndreas Rheinhardt2024-03-03
| | | | | | | | | | 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-03
| | | | | | | | | 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-03
| | | | | | | | | | | | | | | | | | 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-26
| | | | | 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-29
|
* av1dec: add Vulkan hwaccelLynne2023-05-29
|
* hwcontext_vulkan: add functions for video decodingLynne2023-05-29
|
* hwcontext_vulkan: use VK_EXT_physical_device_drm to derive DRM to VulkanLynne2023-05-29
| | | | Finally, a way to directly identify a Vulkan device from a DRM device!
* hwcontext_vulkan: add support for descriptor buffersLynne2023-05-29
|
* vulkan_loader: fix typo in error messageLynne2021-11-18
|
* avutil/vulkan: load win32 external memory functionsTimo Rothenpieler2021-11-14
|
* lavu: move hwcontext_vulkan's function loader into separate filesLynne2021-11-12
This allows for the loader to be shared with libavcodec and libavfilter.