glmemorypbo: don't double read pixels

The optimistic download_transfer was not setting the required flag to not
perform glReadPixels on subsequent map (READ). resulting in glReadPixels
happening twice.
This commit is contained in:
Matthew Waters 2016-01-07 20:54:41 +11:00 committed by Tim-Philipp Müller
parent 5ba0ab3da9
commit 880d2798b0

View file

@ -792,6 +792,7 @@ _download_transfer (GstGLContext * context, GstGLMemoryPBO * gl_mem)
if (_read_pixels_to_pbo (gl_mem)) if (_read_pixels_to_pbo (gl_mem))
GST_CAT_TRACE (GST_CAT_GL_MEMORY, "optimistic download of texture %u " GST_CAT_TRACE (GST_CAT_GL_MEMORY, "optimistic download of texture %u "
"using pbo %u", gl_mem->mem.tex_id, gl_mem->pbo->id); "using pbo %u", gl_mem->mem.tex_id, gl_mem->pbo->id);
GST_MEMORY_FLAG_UNSET (gl_mem, GST_GL_BASE_MEMORY_TRANSFER_NEED_DOWNLOAD);
g_mutex_unlock (&mem->lock); g_mutex_unlock (&mem->lock);
} }