bug (regression) in ddraw/d3d
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
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)
More information about the wine-devel