https://bugs.kde.org/show_bug.cgi?id=369317

Martin Gräßlin <mgraess...@kde.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |UPSTREAM
             Status|UNCONFIRMED                 |RESOLVED

--- Comment #9 from Martin Gräßlin <mgraess...@kde.org> ---
I just had a look at the implementation and alas our code does the correct
checks - see libkwineffects/kwinglutils.cpp method GLVertexBuffer::initStatic
(around like 2290)

In  short it's:

    if (GLPlatform::instance()->isGLES()) {
        GLVertexBufferPrivate::haveSyncFences = hasGLVersion(3, 0);
    } else {
        GLVertexBufferPrivate::haveSyncFences = hasGLVersion(3, 2) ||
hasGLExtension("GL_ARB_sync");
    }
    if (GLVertexBufferPrivate::haveBufferStorage &&
GLVertexBufferPrivate::haveSyncFences) {
        if (qgetenv("KWIN_PERSISTENT_VBO") != QByteArrayLiteral("0")) {
            GLVertexBufferPrivate::streamingBuffer->d->persistent = true;
        }
    }

Only if the d->persistent is true the glFenceSync is called. Thus the checks
look correct to me. We check for either GLES 3.0, or GL 3.2 or GL_ARB_sync. Our
code cannot do more. If the upstream project is broken in that regard, it's
unfortunate. I guess we need to get distros to switch to the fork.

Ah I'm not happy with that development. That was kind of what I was afraid of
to happen when we switch to epoxy.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to