gstreamer/subprojects/gst-plugins-base/gst-libs/gst
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
..
allocators gir: Checkout all .gir files and check that they are updated on the CI 2023-04-22 09:32:32 -04:00
app appsink: add missing make_writable call 2023-07-11 07:08:38 +00:00
audio audio: Make sure to stop ringbuffer on error 2023-08-21 08:50:45 +00:00
fft gst-plugins-base: re-indent with GNU indent 2.2.12 2023-03-17 03:18:53 +00:00
gl gl/bufferpool: add configuration to extend buffer lifetime before reuse 2023-08-31 01:24:38 +00:00
pbutils discoverer: Only call handle_current_async if still processing 2023-06-30 08:52:38 +03:00
riff riff: add more h265 fourcc formats 2023-07-17 13:17:20 +00:00
rtp rtpbasedepayload: Fixed HdrExt handling for aggregated output buffer 2023-08-15 07:12:03 +02:00
rtsp gir: Checkout all .gir files and check that they are updated on the CI 2023-04-22 09:32:32 -04:00
sdp sdp: fix wrong error message for missing clock-rate in caps 2023-08-26 18:01:38 +00:00
tag tags: Don't allow image tags with G_MAXUINT32 length 2023-06-20 10:02:19 +00:00
video video: Fix ordering of video formats in GST_VIDEO_FORMATS_ALL_STR 2023-08-25 15:27:02 +00:00
glib-compat-private.h Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir 2021-09-24 16:13:26 -03:00
meson.build sdp: Handle level-asymmetry-allowed for H264 streams 2021-12-12 10:59:00 -03:00