summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 );