wgl: Be lenient when sharing contexts.
authorJosé Fonseca <jfonseca@vmware.com>
Mon, 15 Feb 2010 19:34:38 +0000 (19:34 +0000)
committerJosé Fonseca <jfonseca@vmware.com>
Mon, 15 Feb 2010 21:48:13 +0000 (21:48 +0000)
My first reading of MS docs was wrong. It says:

  All rendering contexts of a shared display list must use an identical
  pixel format. Otherwise the results depend on the implementation of
  OpenGL used.

That is, it is OK to share contexts with different pixel formats.

Adobe Premiere Pro tries to do that: share lists between a rgbx8 and a
rgba8 pixel format.

src/gallium/state_trackers/wgl/stw_context.c

index c2f9c7550ed6434cb6ea7bf88bf44c55560bff80..05ccd5febcf5b9a5615a2ba9d0958e6cb6f7a9e0 100644 (file)
@@ -113,8 +113,7 @@ DrvShareLists(
    ctx1 = stw_lookup_context_locked( dhglrc1 );
    ctx2 = stw_lookup_context_locked( dhglrc2 );
 
-   if (ctx1 && ctx2 &&
-       ctx1->iPixelFormat == ctx2->iPixelFormat) { 
+   if (ctx1 && ctx2) {
       ret = _mesa_share_state(ctx2->st->ctx, ctx1->st->ctx);
    }