summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers
diff options
context:
space:
mode:
authorFrank Richter <[email protected]>2017-06-07 09:43:43 +0200
committerBrian Paul <[email protected]>2017-06-09 08:51:45 -0600
commit0ef39e588f92236f9e2fb1909a314c7eb70db8c2 (patch)
tree4c07451bb66cee0532bfa43a91887a62b7e6ff47 /src/gallium/state_trackers
parentf84bb6a9d91521de6da4c3d1ddd8de456761efaa (diff)
gallium/wgl: Allow context creation even if SetPixelFormat() wasn't called
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101326 Reviewed-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/gallium/state_trackers')
-rw-r--r--src/gallium/state_trackers/wgl/stw_context.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/wgl/stw_context.c b/src/gallium/state_trackers/wgl/stw_context.c
index f3145a9e637..58fe3b0b6e6 100644
--- a/src/gallium/state_trackers/wgl/stw_context.c
+++ b/src/gallium/state_trackers/wgl/stw_context.c
@@ -170,7 +170,13 @@ stw_create_context_attribs(HDC hdc, INT iLayerPlane, DHGLRC hShareContext,
iPixelFormat = fb->iPixelFormat;
stw_framebuffer_unlock(fb);
} else {
- return 0;
+ /* Applications should call SetPixelFormat before creating a context,
+ * but not all do, and the opengl32 runtime seems to use a default
+ * pixel format in some cases, so use that.
+ */
+ iPixelFormat = GetPixelFormat(hdc);
+ if (!iPixelFormat)
+ return 0;
}
pfi = stw_pixelformat_get_info( iPixelFormat );