Allow to create an OpenGL Compositor with llvmpipe
Summary: This is a radical change to the approach KWin used to have. So far KWin fall back to XRender compositing if it detected llvmpipe. With this change KWin will use OpenGL compositing also on llvmpipe. This has drawbacks: it's CPU emulated which we actually do not want. But the question is whether it still makes sense to keep the no-GL enforcement. There are several things to consider here: * QtQuick will use llvmpipe anyway (including things like Plasmashell) * glamor might be used in the xorg layer which also uses llvmpipe on XRender * more consistent look * we get OpenGL working in tests (important for e.g. openQA) * hardware which does not support proper GL gets less, there are GL drivers for KVM, there are GL drivers for rPI, etc. We don't need to block it anymore because of possibly bad results on those hardware. Also they mostly use glamor. * there is still the way to manually select XRender/QPainter compositing Reviewers: #kwin, #plasma Subscribers: kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D2184
This commit is contained in:
parent
31f067ede2
commit
a9f450db27
1 changed files with 3 additions and 2 deletions
|
@ -843,13 +843,14 @@ void GLPlatform::detect(OpenGLPlatformInterface platformInterface)
|
|||
}
|
||||
|
||||
if (isSoftwareEmulation()) {
|
||||
// we recommend XRender
|
||||
m_recommendedCompositor = XRenderCompositing;
|
||||
if (m_driver < Driver_Llvmpipe) {
|
||||
// we recommend XRender
|
||||
m_recommendedCompositor = XRenderCompositing;
|
||||
// Software emulation does not provide GLSL
|
||||
m_limitedGLSL = m_supportsGLSL = false;
|
||||
} else {
|
||||
// llvmpipe does support GLSL
|
||||
m_recommendedCompositor = OpenGL2Compositing;
|
||||
m_limitedGLSL = false;
|
||||
m_supportsGLSL = true;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue