bug (regression) in ddraw/d3d

J. Hoffmann hoffmajs at gmx.de
Mon Dec 2 23:48:42 CST 2002


On Tuesday 03 December 2002 04:09, Lionel Ulmer wrote:
> > Im still trying to find the bug (and then a fix :-), but it would help
> > me a lot, if someone could tell me where the
> > GL_IDirect3DImpl_3_CreateDevice gets called from.
>
> Well, the real question is to wonder why the application requests to create
> a Direct3DDevice2 and not a D3DDevice3 as it should...

It turns out that FF8Config calls IDirect3DImpl_2_EnumDevices (2 times)
but then calls GL_IDirect3DImpl_3_CreateDevice.

Now, I don't know yet why it calls the D3D2 for Enum and D3D3 for 
CreateDevice, but it explains why it didn't crash in the cvs version from 
11/24/02:
the patch which introduced the crash contains:
  -    XCAST(EnumDevices) Thunk_IDirect3DImpl_2_EnumDevices,
  +    XCAST(EnumDevices) GL_IDirect3DImpl_2_EnumDevices,

if I change "GL_" back to "Thunk_" in the current cvs so that the 
IDirect3DImpl gets casted to the Direct3D3 interface, then the program no 
longer crashes. (But that does not say much, since it only tests for features 
and doesn't really use D3D)


--
 Jens



More information about the wine-devel mailing list