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