Improve support for vulkan descriptors
commit 0ecb386f
vulkan: remove the private struct from the public struct
Remove any references to CamelTypePrivate from the public CamelType
struct. They can be accessed as needed using
camel_type_get_instance_private().
commit b2a006a0
vulkan: implement proper descriptor set handling
The major functionality gain this provides is proper reference counting
for a descriptor set. Overall this allows us to create descriptor sets
when they are needed (or reused from a cache) without violating any of
vulkan's object synchronisation requirements.
As there are a fixed number of sets available in a pool, the number of
descriptors in elements is currently hardcoded to 32. This can be extended
in a future change to create pools on the fly if that limit is ever overrun.
commit 3e169092
vulkan/fence: add always-signalled fence type
Allows a cleaner control flow when there is no fence available for use
with the trash list. An always signalled fence type will always return
TRUE for gst_vulkan_fence_is_signalled.
commit bf47fb39
vulkan: add handle type for arbitrary vulkan handles
Serve two purposes:
1. refcounting of vulkan handles with associated destruction. When
combined with the trash list, the user can ensure destruction at
the correct time according to the vulkan rules.
2. avoids polluting our API with 32-bit vs 64-bit integer/pointers
differences as exposed through the vulkan API. on 32-bit, vulkan
non-dispatchable handles are 64-bit integers and on 64-bit, they
are pointers.
commit 8c967986
vulkanviewconvert: fix typo of output image view name
commit 6f732d24
vulkan: fix non-dispatchable handles on 32-bit platforms
non-dispatchable handles are 64-bit integers on 32-bit platforms
commit 7a41734b
vulkan: use VK_NULL_HANDLE in more places
Fixes compiler warnings on 32-bit platforms assigning a void * to a
64-bit integer value.
commit 46d2e0f2
vulkan: use the provided VKAPI_ATTR for the debug callback
Ensures that we get the calling convention correct for the platform we
are using.
commit 7fa2b318
vulkan: dump surface information
commit d45fa6ae
vulkan: print criticals/warnings for vulkan errors/warnings
Simplifies finding the erronous cases in using the Vulkan API
incorrectly.
commit 4c080531
vulkan/image: use the full video info for returning vulkan formats
We may need some colorspace information for returning sRGB vs no sRGB.