gstreamer/subprojects/gst-plugins-bad/gst-libs/gst
Víctor Manuel Jáquez Leal 1458c31031 vkdevice: enable multiple queues per device
Originally the opened device only created one queue of one family queue, to say
graphics one. This approach felt short when other queue family is required not
shared with the graphics queue family, for example video decoding.

This new approach proposes to create those queues with supported families. For
now, only video decoding and encoder are created, if they are available.

In order to hold multiple queues opened, an array of VkDeviceQueueCreateInfo is
held along the live the device object, because it's used to traverse or get the
opened queues.

The algorithm to choose which queues create (or open) is to look for the queue
with more family bits, which also supports the one we are requesting, thus
minimizing the number of global queues of a certain family to create.
Nonetheless, the number of queues to open per family is set to be all of them,
widening the possibility of parallelism.

Also, this commit do a cosmetic refactor the assigning the physical device
nearer where it's used.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4351>
2023-05-19 04:26:29 +00:00
..
adaptivedemux plugins: Fix wrong enum usage 2023-03-20 11:40:30 +00:00
audio gir: Checkout all .gir files and check that they are updated on the CI 2023-04-22 09:32:32 -04:00
basecamerabinsrc meson: Add CameraBin and Va girs 2023-04-25 02:57:55 +00:00
codecparsers h264parser: Define level enum values 2023-05-17 21:29:25 +00:00
codecs h264parser: Define level enum values 2023-05-17 21:29:25 +00:00
cuda cudamemory: Fix for semi planar YUV memory size decision 2023-04-27 20:55:53 +00:00
d3d11 d3d11memory: Don't clear wrapped texture memory 2023-05-05 13:18:06 +00:00
insertbin gir: Checkout all .gir files and check that they are updated on the CI 2023-04-22 09:32:32 -04:00
interfaces meson: Namespace the plugins_doc_dep/libraries variables 2022-09-01 21:17:35 +00:00
isoff gst-plugins-bad: define G_LOG_DOMAIN for all libraries 2021-10-19 00:12:25 +00:00
mpegts gir: Checkout all .gir files and check that they are updated on the CI 2023-04-22 09:32:32 -04:00
opencv meson: Namespace the plugins_doc_dep/libraries variables 2022-09-01 21:17:35 +00:00
play gstplay: fix critical log when enable playbin3 2023-05-18 10:27:29 +00:00
player gir: Checkout all .gir files and check that they are updated on the CI 2023-04-22 09:32:32 -04:00
sctp meson: Namespace the plugins_doc_dep/libraries variables 2022-09-01 21:17:35 +00:00
transcoder gir: Checkout all .gir files and check that they are updated on the CI 2023-04-22 09:32:32 -04:00
uridownloader meson: Namespace the plugins_doc_dep/libraries variables 2022-09-01 21:17:35 +00:00
va meson: Add feature options for optional va deps libdrm and gudev 2023-04-28 15:22:31 +05:30
vulkan vkdevice: enable multiple queues per device 2023-05-19 04:26:29 +00:00
wayland gst-plugins-bad: re-indent with GNU indent 2.2.12 2023-03-17 03:18:54 +00:00
webrtc webrtc/nice: support consent-freshness RFC7675 2023-05-08 13:50:44 +00:00
winrt gst-plugins-bad: define G_LOG_DOMAIN for all libraries 2021-10-19 00:12:25 +00:00
glib-compat-private.h Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir 2021-09-24 16:14:36 -03:00
meson.build cuda: Factor out a public GstCUDA library 2022-04-19 16:39:43 +00:00