summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/windows
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2018-03-02 13:22:06 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2018-03-10 20:35:46 +0000
commitac6590e0fce6753c24e58564a09ea98545862b35 (patch)
tree489e618153529c061efca4b8b89cc0cc14c71c12 /src/plugins/platforms/windows
parent88a48192aafeb2a5d7900afdca10528ddf8c3dbf (diff)
Windows QPA: GL: Fix setting the color depths for the GDI fallback
Set the color buffer depths on the PIXELFORMATDESCRIPTOR for the fallback code path (-platform windows:gl=gdi). Task-number: QTBUG-66797 Change-Id: Idccd94fdf121803af1c19e34cc86b6f06ca88d90 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Diffstat (limited to 'src/plugins/platforms/windows')
-rw-r--r--src/plugins/platforms/windows/qwindowsglcontext.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/plugins/platforms/windows/qwindowsglcontext.cpp b/src/plugins/platforms/windows/qwindowsglcontext.cpp
index 4bdf3167e4..e9c52e2c02 100644
--- a/src/plugins/platforms/windows/qwindowsglcontext.cpp
+++ b/src/plugins/platforms/windows/qwindowsglcontext.cpp
@@ -391,6 +391,15 @@ static PIXELFORMATDESCRIPTOR
pfd.dwFlags |= PFD_DOUBLEBUFFER;
pfd.cDepthBits =
format.depthBufferSize() >= 0 ? format.depthBufferSize() : 32;
+ const int redBufferSize = format.redBufferSize();
+ if (redBufferSize != -1)
+ pfd.cRedBits = BYTE(redBufferSize);
+ const int greenBufferSize = format.greenBufferSize();
+ if (greenBufferSize != -1)
+ pfd.cGreenBits = BYTE(greenBufferSize);
+ const int blueBufferSize = format.blueBufferSize();
+ if (blueBufferSize != -1)
+ pfd.cBlueBits = BYTE(blueBufferSize);
pfd.cAlphaBits = format.alphaBufferSize() > 0 ? format.alphaBufferSize() : 8;
pfd.cStencilBits = format.stencilBufferSize() > 0 ? format.stencilBufferSize() : 8;
if (additional.formatFlags & QWindowsGLAccumBuffer)