Don't render with vaPutSurface() on XWayland
This commit is contained in:
parent
2452e80e57
commit
e56329d05a
1 changed files with 5 additions and 2 deletions
|
|
@ -1,6 +1,7 @@
|
||||||
#include <QString>
|
#include <QString>
|
||||||
|
|
||||||
#include "vaapi.h"
|
#include "vaapi.h"
|
||||||
|
#include "utils.h"
|
||||||
#include <streaming/streamutils.h>
|
#include <streaming/streamutils.h>
|
||||||
|
|
||||||
#include <SDL_syswm.h>
|
#include <SDL_syswm.h>
|
||||||
|
|
@ -286,8 +287,10 @@ bool
|
||||||
VAAPIRenderer::isDirectRenderingSupported()
|
VAAPIRenderer::isDirectRenderingSupported()
|
||||||
{
|
{
|
||||||
// Many Wayland renderers don't support YUV surfaces, so use
|
// Many Wayland renderers don't support YUV surfaces, so use
|
||||||
// another frontend renderer to draw our frames.
|
// another frontend renderer to draw our frames. The iHD VAAPI
|
||||||
return m_WindowSystem == SDL_SYSWM_X11;
|
// driver can initialize on XWayland but it crashes in vaPutSurface()
|
||||||
|
// so we must also not directly render on XWayland either.
|
||||||
|
return m_WindowSystem == SDL_SYSWM_X11 && !WMUtils::isRunningWayland();
|
||||||
}
|
}
|
||||||
|
|
||||||
int VAAPIRenderer::getDecoderColorspace()
|
int VAAPIRenderer::getDecoderColorspace()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue