Is
the shader backend recreated properly after the reset?
From:
wine-devel-bounces@winehq.org [mailto:wine-devel-bounces@winehq.org] On
Behalf Of Andrew Fenn
Sent: Sunday, July 20, 2008 11:11 PM
To: H. Verbeet
Cc: wine-devel@winehq.org
Subject: Re: one liner patch to stop crash, everquest2.exe
I think that both calls are
coming from d3d9:IDirect3DDevice9Impl_Reset
I put some FIXME's in the code and it passes the same function. In the log
below you can see where the crash is happening.
fixme:d3d9:IDirect3DDevice9Impl_Reset RESET DEVICE
fixme:d3d_shader:shader_glsl_free FREE SHADER
fixme:d3d9:IDirect3DDevice9Impl_Reset RESET DEVICE
fixme:d3d_shader:shader_glsl_free FREE SHADER
wine: Unhandled page fault on read access to 0x00000008 at address 0x7e44ab4c
(thread 0009), starting debugger...
Does this mean that the problem resides somewhere in IDirect3DDevice9Impl_Reset
?
On Thu, Jul 17, 2008 at 10:44 PM, H. Verbeet <hverbeet@gmail.com> wrote:
2008/7/17 Andrew Fenn <andrewfenn@gmail.com>:
> Here's what I got from the debug log.
>
> Backtrace:
> =>1 0x7e43e9b3 shader_glsl_free+0x23(iface=0x19c4b8)
> [/home/andrew/wine/wine/dlls/wined3d/glsl_shader.c:3491] in wined3d
> (0x0032e918)
> 2 0x7e41f318 IWineD3DDeviceImpl_Reset+0x198(iface=0x19c4b8,
> pPresentationParameters=0x32e9c0)
> [/home/andrew/wine/wine/dlls/wined3d/device.c:7237] in wined3d
(0x0032e998)
> 3 0x7e4f33ce IDirect3DDevice9Impl_Reset+0x1ae(iface=<register
EDI not in
> topmost frame>, pPresentationParameters=0x1b9f848)
> [/home/andrew/wine/wine/dlls/d3d9/device.c:381] in d3d9 (0x0032ea08)
> 4 0x008d31a1 in everquest2 (+0x4d31a1) (0x0032ea3c)
> 0x7e43e9b3 shader_glsl_free+0x23
> [/home/andrew/wine/wine/dlls/wined3d/glsl_shader.c:3491] in wined3d: movl
> 0x8(%esi),%eax
> 3491 if(priv->depth_blt_glsl_program_id) {
>
That's the second one, but where does the previous call come
from?