diff options
-rw-r--r-- | src/gallium/state_trackers/wgl/stw_context.c | 8 |
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 ); |