GL_INVALID_ENUM errors with FBO

Vitaliy Margolen wine-devel at kievinfo.com
Thu Jul 24 17:48:28 CDT 2008


H. Verbeet wrote:
> 2008/7/24 Vitaliy Margolen <wine-devel at kievinfo.com>:
>>>> side affects. But the full version of Psychonauts crashes after initial
>>>> videos. Same as it did when we had problems with multi-threaded games.
>>>>
>>> Is that a regression introduced by the patch?
>> Yes. Without the patch everything works. With the patch it crashes.
> It's a bit unfortunate that it only happens in the full version. Have
> you got any idea which part of that patch is causing the crash? Is it
> the Clear call again? In the original case it was pretty clear that
> calling apply_fbo_state() without activating the context for the
> current thread caused issues, but as far as I can see that part should
> still work correctly with my patch.

It's this part:


diff --git a/dlls/wined3d/drawprim.c b/dlls/wined3d/drawprim.c
index 9a47f8b..f2ab699 100644
--- a/dlls/wined3d/drawprim.c
+++ b/dlls/wined3d/drawprim.c
@@ -974,6 +974,7 @@ void drawPrimitive(IWineD3DDevice *iface,

      /* Signals other modules that a drawing is in progress and the 
stateblock finalized */
      This->isInDraw = TRUE;
+    ActivateContext(This, This->render_targets[0], CTXUSAGE_DRAWPRIM);

      /* Ok, we will be updating the screen from here onwards so grab the 
lock */

@@ -983,7 +984,6 @@ void drawPrimitive(IWineD3DDevice *iface,
          LEAVE_GL();
      }

-    ActivateContext(This, This->render_targets[0], CTXUSAGE_DRAWPRIM);
      ENTER_GL();

      if (This->stencilBufferTarget) {



More information about the wine-devel mailing list