Matthew Waters
2d31aba78d
vulkan: docs annotation updates
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1506 >
2020-08-15 02:55:30 +00:00
Matthew Waters
c21aefbfb0
vulkan: log extension/layers available/enabled on instance/device creation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1341 >
2020-06-21 09:30:29 +00:00
Matthew Waters
ceb5ac0e4f
vulkan/instance: privatise defult debug callback
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1341 >
2020-06-21 09:30:29 +00:00
Matthew Waters
0e72318515
vulkan/instance: expose extension/layer choices
...
Extensions and layers can be enabled before calling
gst_vulkan_instance_open() but after calling
gst_vulkan_instance_fill_info().
Use the list of available extensions to better choose a default display
implementation to use based on the available Vulkan extensions for surface
output.
Defaults are still the same.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1341 >
2020-06-21 09:30:29 +00:00
Matthew Waters
aad7ed31e1
vulkan/instance: add vulkan API version selection and checking
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1341 >
2020-06-21 09:30:29 +00:00
Matthew Waters
670d0a8e88
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().
2019-11-07 20:01:57 +00:00
Matthew Waters
116549b561
vulkan: use the provided VKAPI_ATTR for the debug callback
...
Ensures that we get the calling convention correct for the platform we
are using.
2019-11-07 20:01:57 +00:00
Matthew Waters
b55134a4dd
vulkan: print criticals/warnings for vulkan errors/warnings
...
Simplifies finding the erronous cases in using the Vulkan API
incorrectly.
2019-11-07 20:01:57 +00:00
Niels De Graef
d8f61515d8
Don't pass default GLib marshallers for signals
...
By passing NULL to `g_signal_new` instead of a marshaller, GLib will
actually internally optimize the signal (if the marshaller is available
in GLib itself) by also setting the valist marshaller. This makes the
signal emission a bit more performant than the regular marshalling,
which still needs to box into `GValue` and call libffi in case of a
generic marshaller.
Note that for custom marshallers, one would use
`g_signal_set_va_marshaller()` with the valist marshaller instead.
2019-11-06 14:27:46 +00:00
Aaron Boxer
6d3429af34
documentation: fixed a heap o' typos
2019-11-05 09:11:25 -05:00
Matthew Waters
5f76c84feb
vulkan: split physical device from logical device
2019-09-17 13:02:44 +10:00
Matthew Waters
407dab607f
vulkan: only pass the device/instance/display in to *_handle_*() functions
...
We don't need to change the pointer value in these functions.
2019-09-17 13:02:43 +10:00
Matthew Waters
2dcdaaf7cb
vulkan: ensure initialization of a couple of debug categories
...
Needed when some of the context querying functions can be called before
an instance has been created.
2019-06-20 01:41:56 +10:00
Matthew Waters
d61e771c37
vulkan: use c99 designated initializers where possible
...
Makes the code much easier to read and allows removing our terrible
macros for structure initialization.
2019-06-04 09:03:44 +00:00
Matthew Waters
70fda3ff78
vulkan: large docs update
2019-06-04 09:03:44 +00:00
Matthew Waters
25dd3b32e5
vulkan: make a gstvulkan library out of the existing API
2019-06-04 09:03:44 +00:00