vulkan: implement caching and reuse of a couple of vulkan resources
authorMatthew Waters <matthew@centricular.com>
Tue, 26 Nov 2019 13:25:16 +0000 (00:25 +1100)
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Thu, 28 Nov 2019 23:27:21 +0000 (23:27 +0000)
commit24d096597b6073c314b56a511d366ccde746a8fd
tree5da6e030d3f2c9b15614ac9aa1efe4f61994b8e1
parent5177c24a7eb59b28022a696d483f540fe489f221
vulkan: implement caching and reuse of a couple of vulkan resources

Includes a new GstVulkanHandlePool base class for pooling different
resources togther.  The descriptor cache object is ported to
GstVulkanHandlePool with the exact same functionality.

A new GstVulkanFenceCache is also implemented for caching fences
which is used internally by GstVulkanDevice for creating or reusing
fences.

The existing GstVulkanTrashFenceList object now caches trash objects.
24 files changed:
ext/vulkan/vkcolorconvert.c
ext/vulkan/vkdownload.c
ext/vulkan/vkfullscreenquad.c
ext/vulkan/vkupload.c
ext/vulkan/vkviewconvert.c
gst-libs/gst/vulkan/gstvkdescriptorcache-private.h [deleted file]
gst-libs/gst/vulkan/gstvkdescriptorcache.c
gst-libs/gst/vulkan/gstvkdescriptorcache.h
gst-libs/gst/vulkan/gstvkdescriptorpool.h
gst-libs/gst/vulkan/gstvkdescriptorset.c
gst-libs/gst/vulkan/gstvkdevice.c
gst-libs/gst/vulkan/gstvkdevice.h
gst-libs/gst/vulkan/gstvkfence.c
gst-libs/gst/vulkan/gstvkfence.h
gst-libs/gst/vulkan/gstvkhandlepool.c [new file with mode: 0644]
gst-libs/gst/vulkan/gstvkhandlepool.h [new file with mode: 0644]
gst-libs/gst/vulkan/gstvkswapper.c
gst-libs/gst/vulkan/gstvktrash.c
gst-libs/gst/vulkan/gstvktrash.h
gst-libs/gst/vulkan/meson.build
gst-libs/gst/vulkan/vulkan.h
gst-libs/gst/vulkan/vulkan_fwd.h
meson.build
meson_options.txt