rework diamond transition to use only opengl core

cause that's all we've got in gtk3

Change-Id: I6a47e344ccd39ba63e7a51ae18f89bb05bb642c4
Reviewed-on: https://gerrit.libreoffice.org/31496
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit 5809f506f44715e60ce653b49050641967429661)
Reviewed-on: https://gerrit.libreoffice.org/31620
diff --git a/slideshow/source/engine/opengl/TransitionImpl.cxx b/slideshow/source/engine/opengl/TransitionImpl.cxx
index a2b11c3..60ab587 100644
--- a/slideshow/source/engine/opengl/TransitionImpl.cxx
+++ b/slideshow/source/engine/opengl/TransitionImpl.cxx
@@ -317,8 +317,6 @@ OGLTransitionImpl::displayUnbufferedSlide(
        double SlideWidthScale, double SlideHeightScale )
{
    CHECK_GL_ERROR();
    glPushMatrix();
    CHECK_GL_ERROR();
    glBindTexture(GL_TEXTURE_2D, glSlideTex);
    CHECK_GL_ERROR();
    glBindVertexArray(0);
@@ -336,8 +334,6 @@ OGLTransitionImpl::displayUnbufferedSlide(
    CHECK_GL_ERROR();
    glBindBuffer(GL_ARRAY_BUFFER, m_nVertexBufferObject);
    CHECK_GL_ERROR();
    glPopMatrix();
    CHECK_GL_ERROR();
}

void OGLTransitionImpl::displayScene( double nTime, double SlideWidth, double SlideHeight, double DispWidth, double DispHeight )
@@ -360,16 +356,30 @@ void Primitive::display(GLint primitiveTransformLocation, double nTime, double W
        CHECK_GL_ERROR();
    }

    glPushClientAttrib(GL_CLIENT_VERTEX_ARRAY_BIT);
    GLuint nVertexArrayObject;
    glGenVertexArrays(1, &nVertexArrayObject);
    CHECK_GL_ERROR();
    glEnableClientState( GL_VERTEX_ARRAY );
    glBindVertexArray(nVertexArrayObject);
    CHECK_GL_ERROR();
    glVertexPointer( 3, GL_FLOAT, sizeof(Vertex), &Vertices[0] );

    GLuint nBuffer;
    glGenBuffers(1, &nBuffer);
    CHECK_GL_ERROR();
    glBindBuffer(GL_ARRAY_BUFFER, nBuffer);
    CHECK_GL_ERROR();
    glBufferData(GL_ARRAY_BUFFER, getVerticesSize(), Vertices.data(), GL_STATIC_DRAW);

    glEnableVertexAttribArray(0);
    CHECK_GL_ERROR();
    glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, sizeof(Vertex), nullptr);
    CHECK_GL_ERROR();
    glDrawArrays( GL_TRIANGLES, 0, Vertices.size() );
    CHECK_GL_ERROR();
    glPopClientAttrib();

    glDeleteBuffers(1, &nBuffer);
    CHECK_GL_ERROR();

    glDeleteVertexArrays(1, &nVertexArrayObject);
    CHECK_GL_ERROR();
}