[Libreoffice-commits] core.git: Branch 'feature/opengl-vcl' - 2 commits - vcl/opengl vcl/source vcl/win

Jan Holesovsky kendy at collabora.com
Wed Nov 12 21:00:11 PST 2014


 vcl/opengl/gdiimpl.cxx              |    3 +++
 vcl/source/opengl/OpenGLContext.cxx |    5 +++--
 vcl/win/source/gdi/salgdi.cxx       |    1 +
 3 files changed, 7 insertions(+), 2 deletions(-)

New commits:
commit bbe99b36140ced2f29a66f9cb943244878028c6a
Author: Jan Holesovsky <kendy at collabora.com>
Date:   Thu Nov 13 05:58:01 2014 +0100

    windows opengl: Set PFD_DOUBLEBUFFER even for single buffer rendering.
    
    Otherwise I'm getting lots of errers when dealing with virtual devices...
    
    Change-Id: I34e145817d21dfc2d30fa9ffdfedfa714467d105

diff --git a/vcl/opengl/gdiimpl.cxx b/vcl/opengl/gdiimpl.cxx
index c4e8bb4..770b2b8 100644
--- a/vcl/opengl/gdiimpl.cxx
+++ b/vcl/opengl/gdiimpl.cxx
@@ -1386,6 +1386,7 @@ bool OpenGLSalGraphicsImpl::drawGradient(const tools::PolyPolygon& rPolyPoly,
         glDisable( GL_STENCIL_TEST );
     PostDraw();
 
+    CHECK_GL_ERROR();
     return true;
 }
 
@@ -1404,6 +1405,8 @@ void OpenGLSalGraphicsImpl::endPaint()
         maContext.makeCurrent();
         glFlush();
     }
+
+    CHECK_GL_ERROR();
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/source/opengl/OpenGLContext.cxx b/vcl/source/opengl/OpenGLContext.cxx
index d39cb33..ab7e34d 100644
--- a/vcl/source/opengl/OpenGLContext.cxx
+++ b/vcl/source/opengl/OpenGLContext.cxx
@@ -767,8 +767,9 @@ bool OpenGLContext::ImplInit()
         0, 0, 0                         // Layer Masks Ignored
     };
 
-    if (mbUseDoubleBufferedRendering)
-        PixelFormatFront.dwFlags |= PFD_DOUBLEBUFFER;
+    // interestingly we need this flag being set even if we use single buffer
+    // rendering - otherwise we get errors with virtual devices
+    PixelFormatFront.dwFlags |= PFD_DOUBLEBUFFER;
 
     if (mbRequestVirtualDevice)
         PixelFormatFront.dwFlags |= PFD_DRAW_TO_BITMAP;
commit e7ca31815e6674b3d28da784bf2aecdd848548f7
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Thu Nov 13 05:28:50 2014 +0100

    request single buffered context on windows
    
    Change-Id: I7b9789053872446e312ae4e3c471986e3c5c55d2

diff --git a/vcl/win/source/gdi/salgdi.cxx b/vcl/win/source/gdi/salgdi.cxx
index 6be65a2..8f8f7ab 100644
--- a/vcl/win/source/gdi/salgdi.cxx
+++ b/vcl/win/source/gdi/salgdi.cxx
@@ -489,6 +489,7 @@ void WinSalGraphics::InitGraphics()
     {
         if (mbVirDev)
             pImpl->GetOpenGLContext().requestVirtualDevice();
+        pImpl->GetOpenGLContext().requestSingleBufferedRendering();
         pImpl->GetOpenGLContext().init(mhLocalDC, mhWnd);
     }
 }


More information about the Libreoffice-commits mailing list