[vlc-devel] [PATCH] opengl: prevent opengl calls from different threads

Alexandre Janniaux ajanni at videolabs.io
Thu Sep 26 10:06:15 CEST 2019


Hi,

On Thu, Sep 26, 2019 at 09:41:57AM +0200, Steve Lhomme wrote:
> Since it's not synchronous anymore, does it work when you're paused ? I
> don't expect PictureDisplay() to be called in that case.

We discussed this quickly during the second vout workshop of this year,
and mentionned that a picture display must match exactly on picture
prepare.

The Macosx code is calling vout_display_opengl_Display() again each
time the window is resized, which is allowed by the vout_display API
but not clearly defined for the vout_display_opengl renderer.

We should do something like this, but the difference is that macosx
calayer output needs that all the drawing call (at least to the main
framebuffer) are done in a function call of the OS, so doing so will
not harm opengl context in another thread. I expect DirectComposition
to work the same way but I have no clue.

I don't see how synchronous resize can be handle synchronously from
the resizer caller in the general case for OpenGL.

But yes, I would expect that if there is a resize, the vout_thread
reschedule the drawing to the closest deadline possible.

Regards
--
Alexandre Janniaux
Videolabs


More information about the vlc-devel mailing list