[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