D3D7 -> WineD3D, 2nd attempt
Stefan Dösinger
stefandoesinger at gmx.at
Fri Oct 14 08:23:21 CDT 2005
Hello,
I have come across a D3D7 call where I need some help with:
IDirect3DDevice::DrawIndexedPrimitiveVB. The prototype is
DrawIndexedPrimitiveVB(LPDIRECT3DDEVICE7 iface,
D3DPRIMITIVETYPE d3dptPrimitiveType,
LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,
DWORD dwStartVertex,
DWORD dwNumVertices,
LPWORD lpwIndices,
DWORD dwIndexCount,
DWORD dwFlags)
I can't find any usable information about it on MSDN, and there's no
equivalent in other D3D versions and WineD3D.
Is there an easy translation to IWineD3DDevice::DrawIndexedPrimitive
orIWineD3DDevice::DrawIndexedPrimitiveUP, or do I have to add this call to
WineD3D(based on the old implementation in D3D7 perhaps?).
Two other problems I am facing at the moment are a DIB crash in ddraw(also
seen in the original D3D7 implementation) and a crash in the OpenGL libs with
both fglrx and nvidia. Has anyone seen such GL crashes too? The crash dump
is:
First chance exception: page fault on read access to 0x00039240 in 32-bit code
(0x7e7fee5f).
In 32 bit mode.
fixme:dbghelp:elf_load_debug_info_from_map Alpha-support for Dwarf2
information for atiogl_a_dri.so
Register dump:
CS:0073 SS:007b DS:007b ES:007b FS:003b GS:0033
EIP:7e7fee5f ESP:5bc0f014 EBP:5bc0f16c EFLAGS:00210202( - 00 - -RI1)
EAX:00000000 EBX:00000000 ECX:00000001 EDX:0000011c
ESI:00000000 EDI:00000300
Stack dump:
0x5bc0f014: 7c228800 00000000 5bc0f0bc 7e88e588
0x5bc0f024: 7c228800 5aaa5380 5bc0f03c 00000001
0x5bc0f034: 00000004 00000000 00000000 00000000
0x5bc0f044: 7c228800 00000003 5bc0f09c 00228800
0x5bc0f054: 5aaa5300 5aaa54f8 5bc0f07c 7c228800
0x5bc0f064: 00000000 7c228800 5bc0f08c 7e87d07e
Backtrace:
=>1 0x7e7fee5f in atiogl_a_dri.so (+0x2cde5f) (0x5bc0f16c)
2 0x7e7fefb0 in atiogl_a_dri.so (+0x2cdfb0) (0x5bc0f2cc)
3 0x7dc2d182 IWineD3DSurfaceImpl_LockRect+0xad2(iface=0x790eaf48,
pLockedRect=0x5bc0f374, pRect=0x0, Flags=0x0)
[/wine/wine/dlls/wined3d/surface.c:561] in wined3d (0x5bc0f33c)
4 0x7dcc365d Main_DirectDrawSurface_Lock+0x40d(iface=0x7fe55570, prect=0x0,
pDDSD=0x5bc0f3a8, flags=0x0, h=0x0)
[/wine/wine/dlls/ddraw/surface_main.c:1155] in ddraw (0x5bc0f388)
5 0x7dcc2893 Main_DirectDrawSurface_GetDC+0x73(iface=0x7fe55570,
phDC=0x5c308154) [/wine/wine/dlls/ddraw/surface_main.c:926] in ddraw
(0x5bc0f434)
fixme:dbghelp:sffip_cb NIY on 'C:\SSSI Development\Low-Level Engine\Graphics
Engine\DX7 Display Plug-ins\DX7HRDisplay\Release\DX7HRDisplay.pdb'
6 0x7dcee4a7 ?DetachSurface at DX7Surface@@UAEJK at Z+0x210 in dx7hrdisplay
(0x5bc0f488)
fixme:dbghelp:sffip_cb NIY on 'C:\SSSI Development\Low-Level
Engine\Main\Release\Low-Level Engine.pdb'
7 0x7fa6d17e ?DrawBackground at UIForm@@MAEJABVGERectangle@@@Z+0x76f in
low-level engine (0x5bc0f4d8)
8
0x7fa78711 ??0UIStretchedTiledBackground@@QAE at KABVUString@@ABUGETextureDescription@@ABVGERectangle@@MMABVUILayoutUtility@@PAVUIForm@@K_N at Z+0xdf8
in low-level engine (0x5bc0f534)
9 0x7fa6d38f ?DrawBackground at UIForm@@MAEJABVGERectangle@@@Z+0x980 in
low-level engine (0x5bc0f58c)
err:dbghelp_msc:codeview_process_info Unknown CODEVIEW signature EEE6C6D5 in
module empire earth.exe.norepe
10 0x00507104 in empire earth.exe.norepe (+0x107104) (0x00000000)
0x7e7fee5f: movl 0x39240(%eax),%edx
I have seen a simmilar problem in old D3D7 and I've decided that it's not
worth fixing and started to rewrite D3D7 with WineD3D.
Stefan
More information about the wine-devel
mailing list