[PATCH 2/7] wined3d: Move srgb checks away from d3dfmt_get_conv.
Diego Nieto Cid
dnietoc at gmail.com
Tue Jan 3 18:48:59 CST 2012
Hi,
On Wed, Dec 28, 2011 at 07:46:09AM +0100, Henri Verbeet wrote:
> Probably, yeah. Not just for WINED3DFMT_P8_UINT, but for all the
> formats in d3dfmt_get_conv(). I guess something like the following at
> the end of d3dfmt_get_conv() should work:
> >
> > if (*convert != NO_CONVERSION)
> > {
> > format->glGammaInternal = format->glInternal;
> > format->rtInternal = format->glInternal;
> > }
> >
>
After adding the conditional to wine-1.3.33, Fallout runs without any
error.
A patch against HEAD is attached.
On Wed, Dec 28, 2011 at 09:17:26PM -0300, Diego Nieto Cid wrote:
> The HEAD checkout is randomly failing due to
>
> wine: Unhandled page fault on read access to 0x00000000 at address (nil) (thread 0036), starting debugger...
> X Error of failed request: GLXBadDrawable
> Major opcode of failed request: 128 (GLX)
> Minor opcode of failed request: 5 (X_GLXMakeCurrent)
> Serial number of failed request: 621
> Current serial number in output stream: 621
>
HEAD still shows the error above. I'll try to find what happened through
bisection.
Any idea what to look for? :)
-------------- next part --------------
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index b658832..a16b16c 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -4524,6 +4524,12 @@ HRESULT d3dfmt_get_conv(const struct wined3d_surface *surface, BOOL need_alpha_c
break;
}
+ if (*convert != NO_CONVERSION)
+ {
+ format->rtInternal = format->glInternal;
+ format->glGammaInternal = format->glInternal;
+ }
+
return WINED3D_OK;
}
More information about the wine-devel
mailing list