Am 15.06.2012 09:48, schrieb Aaron J. Seigo:
On Friday, June 15, 2012 09:28:17 Martin Gräßlin wrote:
Actually Shaun is right: we have removed all these things. If we would

i am running kwin w/out compositing right now. so no, we have not
removed all
of these things.

when the various checks were needed, we took the steps reasonable to fit the
needs of the hardware and drivers available then.
Aaron you are confusing the option to turn it off with automatic fallbacks/blacklists etc.

For the automatic handling for broken GPUs it's the way as I wrote it, or to put it in place:
Runtime detection in scene_opengl_glx.cpp:
    if (glPlatform->isSoftwareEmulation()) {
kError(1212) << "OpenGL Software Rasterizer detected. Falling back to XRender."; QTimer::singleShot(0, Workspace::self(), SLOT(fallbackToXRenderCompositing()));
        return;
    }
    if (!hasGLExtension("GL_ARB_texture_non_power_of_two")
            && !hasGLExtension("GL_ARB_texture_rectangle")) {
kError(1212) << "GL_ARB_texture_non_power_of_two and GL_ARB_texture_rectangle missing";
        return; // error
    }
if (glPlatform->isMesaDriver() && glPlatform->mesaVersion() < kVersionNumber(7, 10)) { kError(1212) << "KWin requires at least Mesa 7.10 for OpenGL compositing.";
        return;
    }

Explained:
* if no driver is installed, we fallback to XRender. With any modern distribution this code will not be used, as Mesa nowadays supports all hardware, code is only relevant for virtual machines and becomes obsolete once llvmpipe is working properly and replaces the old Software Rasterizer * the extension check should be removed as it affects only hardware at least older than r200 and is by that covered by the software rasterizer check * the third check is the minimum requirement for Mesa drivers which could now probably removed, given that all distros ship that version

As you can see for a normal setup none of the checks will stop OpenGL compositing. Apart from that code there are no further blacklists/whitelist or fallback mechanisms to disable OpenGL compositing. (Exception: the code is fault resistant)

Everything else which we have is about dynamically enable additional OpenGL features, like using of OpenGL 2 or blur effect. Some of the additional features have in fact blacklists for drivers, but it's not affecting the overall usage of compositing.

The fact that we still allow to disable compositing is something completely different.

Hope that helps understanding what I wrote which is that we were able to remove all the blacklisting and fallback handling.

Cheers
Martin
_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel

Reply via email to