gstreamer/subprojects/gst-plugins-base/ext
Matthew Waters 9d867356df gl/bufferpool: add configuration to extend buffer lifetime before reuse
Fixes a potential GPU stall if an immediately freed texture/buffer is
attempted to be reused immediately by the CPU, e.g. when uploading.

Problematic scenario is this:
1. element does GPU processing reading from texture
2. frees the buffer back to the pool
3. pool acquire returns the just released buffer
4. GPU processing then has to wait for the previous GPU operation to
   complete causing a stall

If there was a reliable way to know whether a buffer had been finished
with across all GPU drivers, we would use it.  However as that does not
exist, this workaround is to keep the released buffer unusable until the
next released buffer.

This is the same approach as is used in the qml (Qt5) elements.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5144>
2023-08-31 01:24:38 +00:00
..
alsa alsa: Add support for DSD audio 2023-06-23 01:27:04 +00:00
cdparanoia cdparanoia: Ignore compiler warning coming from the cdparanoia header 2022-10-19 08:18:45 +00:00
gl gl/bufferpool: add configuration to extend buffer lifetime before reuse 2023-08-31 01:24:38 +00:00
libvisual meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
ogg oggdemux: vp8: Detect keyframe packets 2023-05-31 06:30:48 +00:00
opus opus: Fix crash when getting unexpected channel position 2023-06-12 20:00:52 +00:00
pango basetextoverlay: Fix typo in "text-y" property description 2023-06-10 16:52:29 +00:00
theora theoradec: make sure the selected pool accepts the new config 2023-05-12 14:37:06 +02:00
vorbis meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
meson.build Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00