Disable the EGL render thread on Wayland

This commit is contained in:
Cameron Gutman 2021-07-31 17:24:18 -05:00
parent 8159e07427
commit dcc567ebda
2 changed files with 8 additions and 0 deletions

View file

@ -747,6 +747,13 @@ bool EGLRenderer::specialize() {
return err == GL_NO_ERROR;
}
bool EGLRenderer::isRenderThreadSupported()
{
// libdecor may try to draw CSD on our window surface which will race with
// our rendering code here, so we must not use the render thread on wayland.
return strcmp(SDL_GetCurrentVideoDriver(), "wayland") != 0;
}
void EGLRenderer::renderFrame(AVFrame* frame)
{
EGLImage imgs[EGL_MAX_PLANES];

View file

@ -16,6 +16,7 @@ public:
virtual void notifyOverlayUpdated(Overlay::OverlayType) override;
virtual bool isPixelFormatSupported(int videoFormat, enum AVPixelFormat pixelFormat) override;
virtual AVPixelFormat getPreferredPixelFormat(int videoFormat) override;
virtual bool isRenderThreadSupported() override;
private: