Hi,
I've put together a Direct3D 8 wrapper for wined3d which should hopefully replace the current Direct3D 8 code. The patch needs a little bit of tidying, some work of vertex declarations and a hell of a lot of testing before it can go into Wine.
So far I've tested Rail Road Tycoon 3, Celebrity Death match, Madden NFL 2004 all the d3d8 demos from http://www.codesampler.com, a few more games I can't remember at the moment and everything's seems to be working as good as or better than the current Direct3D 8 code.
I would be greatfull if anyone with DirectX 8 games or applications that currently work or they would like to get working could test the patch and report back any errors they come across.
The patch is against Wine cvs 2005-11-05 and can be downloaded from https://sourceforge.net/project/shownotes.php?release_id=368929 for the time being.
Oliver.
___________________________________________________________ How much free photo storage do you get? Store your holiday snaps for FREE with Yahoo! Photos http://uk.photos.yahoo.com
On Mon, 7 Nov 2005, Oliver Stieber wrote:
I would be greatfull if anyone with DirectX 8 games or applications that currently work or they would like to get working could test the patch and report back any errors they come across.
I have tried it on RT3:
Everything seems a little fuzzy, especially within the first 5 seconds. As if the textures are not initialized (this continues but most dominent in the start).
Speed. (RT3 has under settings a 'show fps checkbox'). I can easy reach 400fps with the old one, where I never get higher than 100 with the patch. This is looking at nothing but the sky.
In actually views of mountains, trees etc. it still max 70 where the old is about 150 (for ca. the same view).
Except for the fuzzyness (which is not there running windows) I cannot see eny difference.
The textureproblem is the same.
Peter
diff -X ignore -Nru clean/wine/dlls/wined3d/directx.c d3d8-wined3d/wine/dlls/wined3d/directx.c --- clean/wine/dlls/wined3d/directx.c 2005-10-14 18:56:58.841182632 +0100 +++ d3d8-wined3d/wine/dlls/wined3d/directx.c 2005-10-31 19:29:58.068366032 +0000 @@ -1435,7 +1435,7 @@ /* TODO: add support for NON-POW2 if avaialble
*/ - if (This->dxVersion > 8) { + if (This->dxVersion >77) {
77?
--- Peter Berg Larsen pebl@math.ku.dk wrote:
On Mon, 7 Nov 2005, Oliver Stieber wrote:
I would be greatfull if anyone with DirectX 8 games or applications that currently work or
they
would like to get working could test the patch and report back any errors they come across.
I have tried it on RT3:
Everything seems a little fuzzy, especially within the first 5 seconds. As if the textures are not initialized (this continues but most dominent in the start).
Speed. (RT3 has under settings a 'show fps checkbox'). I can easy reach 400fps with the old one, where I never get higher than 100 with the patch. This is looking at nothing but the sky.
In actually views of mountains, trees etc. it still max 70 where the old is about 150 (for ca. the same view).
Except for the fuzzyness (which is not there running windows) I cannot see eny difference.
Can you send me a screen shot.
Thanks,
Oliver.
The textureproblem is the same.
Peter
diff -X ignore -Nru clean/wine/dlls/wined3d/directx.c d3d8-wined3d/wine/dlls/wined3d/directx.c --- clean/wine/dlls/wined3d/directx.c 2005-10-14 18:56:58.841182632 +0100 +++ d3d8-wined3d/wine/dlls/wined3d/directx.c 2005-10-31 19:29:58.068366032 +0000 @@ -1435,7 +1435,7 @@ /* TODO: add support for NON-POW2 if avaialble
*/
- if (This->dxVersion > 8) {
- if (This->dxVersion >77) {
77?
___________________________________________________________ How much free photo storage do you get? Store your holiday snaps for FREE with Yahoo! Photos http://uk.photos.yahoo.com
On Mon, 7 Nov 2005, Oliver Stieber wrote:
Except for the fuzzyness (which is not there running windows) I cannot see eny difference.
Can you send me a screen shot.
Hmm, pressing prntScrn with the patch cause this (which does not happen without the patch)
trace:d3d:IWineD3DDeviceImpl_CreateTexture xf(0.781250) yf(0.585938) trace:d3d8:D3D8CB_CreateSurface relay trace:d3d8:IDirect3DDevice8Impl_CreateSurface (0x7b5ce198) Relay trace:d3d8:IDirect3DDevice8Impl_CreateSurface (0x7b5ce198) : w(1600) h(1200) fmt(21) surf@(nil) trace:d3d:IWineD3DDeviceImpl_CreateSurface (0x7fdfa8c0) Create surface trace:d3d:D3DFmtGetBpp bytes/Pxl for fmt(21,WINED3DFMT_A8R8G8B8) = 4 trace:d3d:IWineD3DDeviceImpl_AddResource (0x7fdfa8c0) : resource 0x7b6b57c8 trace:d3d:IWineD3DDeviceImpl_AddResource Added resource 0x7b6b57c8 with element 0x7b6b5880 pointing to 0x7b6b59b8 trace:d3d:IWineD3DDeviceImpl_CreateSurface (0x7fdfa8c0) : Created resource 0x7b6b57c8 trace:d3d:D3DFmt2GLFmt fmt2glFmt for fmt(21,WINED3DFMT_A8R8G8B8) = 80e1 trace:d3d:D3DFmt2GLIntFmt fmt2glintFmt for fmt(21,WINED3DFMT_A8R8G8B8) = 8058 trace:d3d:D3DFmt2GLType fmt2glType for fmt(21,WINED3DFMT_A8R8G8B8) = 8367 trace:d3d:D3DFmtGetBpp bytes/Pxl for fmt(21,WINED3DFMT_A8R8G8B8) = 4 trace:d3d:IWineD3DDeviceImpl_CreateSurface Pool 3 0 1 2(0x7fdfa8c0)->({3c2aebf6-6f30-11d9-c687-00046142c14f},0x7fc5f504) trace:d3d:IWineD3DDeviceImpl_CreateSurface (0x7fdfa8c0) : w(1600) h(1200) fmt(21,WINED3DFMT_A8R8G8B8) lockable(0) surf@0x7b6b57c8, surfmem@0x73c20020, 16777216 bytes trace:d3d:IWineD3DDeviceImpl_CreateTexture Created surface level 0 @ 0x7b6b57c8 trace:d3d:IWineD3DDeviceImpl_CreateTexture (0x7fdfa8c0) : Created texture 0x7b6b41d0 trace:d3d8:IDirect3DDevice8Impl_CreateTexture (0x7b5ce198) Created Texture 0x7b6b59a0, 0x7b6b41d0 trace:d3d8:IDirect3DTexture8Impl_GetSurfaceLevel (0x7b6b59a0) Relay trace:d3d_texture:IWineD3DTextureImpl_GetSurfaceLevel (0x7b6b41d0) : returning 0x7b6b57c8 for level 0 trace:d3d8:IDirect3DSurface8Impl_AddRef (0x7b6b57b0) : AddRef from 1 trace:d3d8:IDirect3DDevice8Impl_GetFrontBuffer (0x7b5ce198) Relay trace:d3d:IWineD3DDeviceImpl_GetSwapChain (0x7fdfa8c0) : swapchain 0 trace:d3d:IWineD3DDeviceImpl_GetSwapChain (0x7fdfa8c0) Finding swapchain 0 trace:d3d:IWineD3DSwapChainImpl_AddRef (0x7fdf8c80) : AddRef increasing from 1 trace:d3d:IWineD3DDeviceImpl_GetSwapChain (0x7fdfa8c0) returning 0x7fdf8c80 trace:d3d:IWineD3DSwapChainImpl_GetFrontBufferData (0x7fdf8c80) : iface(0x7fdf8c80) pDestSurface(0x7b6b57c8) wine: Unhandled exception (thread 0009), starting debugger... WineDbg starting on pid 0x8 Unhandled exception: page fault on write access to 0x7eab526b in 32-bit code (0x7ead94d2). In 32 bit mode. Register dump: CS:0073 SS:007b DS:007b ES:007b FS:1007 GS:0033 EIP:7ead94d2 ESP:7fc5f5e8 EBP:7fc5f5f4 EFLAGS:00210202( - 00 - -RI1) EAX:00000003 EBX:7eb0d184 ECX:7befed40 EDX:7eab526b ESI:7fc5f604 EDI:7b6b57c8 Stack dump: 0x7fc5f5e8: 7eb0d184 7b6b57c8 7b6b57b0 7fc5f644 0x7fc5f5f8: 7eaddef9 7b6b57c8 7fc5f604 7fc5f638 0x7fc5f608: 00000000 7fc5f640 7eab526b 00000003 0x7fc5f618: 7eb0d8d0 7eaf9e00 7fc5f634 7fc5f630 0x7fc5f628: 7fdf8c80 7eb0d8d0 7eaf9e00 7eb0d184 0x7fc5f638: 00000015 7eb0d184 00000000 7fc5f660 0200: sel=1007 base=7ff08000 limit=00001fff 32-bit rw- Backtrace: =>1 0x7ead94d2 IWineD3DSurfaceImpl_GetDesc+0x52(iface=0x7b6b57c8, pDesc=0x7fc5f604) [/usr/local/src/wine/Wine-CVS/dlls/wined3d/surface.c:199] in wined3d (0x7fc5f5f4) 2 0x7eaddef9 IWineD3DSwapChainImpl_GetFrontBufferData+0x69(iface=0x7fdf8c80, pDestSurface=0x7b6b57c8) [/usr/local/src/wine/Wine-CVS/dlls/wined3d/swapchain.c:343] in wined3d (0x7fc5f644) 3 0x7eac1846 IWineD3DDeviceImpl_GetFrontBufferData+0x36(iface=0x7fdfa8c0, iSwapChain=0x0, pDestSurface=0x7b6b57c8) [/usr/local/src/wine/Wine-CVS/dlls/wined3d/device.c:4956] in wined3d (0x7fc5f660) 4 0x7f5b7a97 IDirect3DDevice8Impl_GetFrontBuffer+0x37(iface=0x7b5ce198, pDestSurface=0x7b6b57b0) [/usr/local/src/wine/Wine-CVS/dlls/d3d8/device.c:551] in d3d8 (0x7fc5f680) 5 0x00520e17 in rt3 (+0x120e17) (0x7e090020) 6 0x00400000 in rt3 (+0x0) (0x00030022) 7 0x00000000 (0x00000000) 0x7ead94d2 IWineD3DSurfaceImpl_GetDesc+0x52 [/usr/local/src/wine/Wine-CVS/dlls/wined3d/surface.c:199] in wined3d: movl %eax,0x0(%edx) 199 if(pDesc->Pool != NULL) *(pDesc->Pool) = This->resource.pool; Modules:
Thanks,
Oliver.
The textureproblem is the same.
Peter
diff -X ignore -Nru clean/wine/dlls/wined3d/directx.c d3d8-wined3d/wine/dlls/wined3d/directx.c --- clean/wine/dlls/wined3d/directx.c 2005-10-14 18:56:58.841182632 +0100 +++ d3d8-wined3d/wine/dlls/wined3d/directx.c 2005-10-31 19:29:58.068366032 +0000 @@ -1435,7 +1435,7 @@ /* TODO: add support for NON-POW2 if avaialble
*/
- if (This->dxVersion > 8) {
- if (This->dxVersion >77) {
77?
How much free photo storage do you get? Store your holiday snaps for FREE with Yahoo! Photos http://uk.photos.yahoo.com
-- E-Mail: pebl@math.ku.dk Real name: Peter Berg Larsen Where: Department of Computer Science, Copenhagen Uni., Denmark
--- Peter Berg Larsen pebl@math.ku.dk wrote:
On Mon, 7 Nov 2005, Oliver Stieber wrote:
Except for the fuzzyness (which is not there running windows) I cannot see eny difference.
Can you send me a screen shot.
Hmm, pressing prntScrn with the patch cause this (which does not happen without the patch)
Hmm. I thought I'd fixed that one.
you can edit wined3d/swapchain.c function IWineD3DSwapChainImpl_GetFrontBufferData and add memset(&desc, 0, sizeof(desc)); after ENTER_GL() and before desc.Width = &width;
I'll make another patch up tomorow with that in...
Oliver
trace:d3d:IWineD3DDeviceImpl_CreateTexture xf(0.781250) yf(0.585938) trace:d3d8:D3D8CB_CreateSurface relay trace:d3d8:IDirect3DDevice8Impl_CreateSurface (0x7b5ce198) Relay trace:d3d8:IDirect3DDevice8Impl_CreateSurface (0x7b5ce198) : w(1600) h(1200) fmt(21) surf@(nil) trace:d3d:IWineD3DDeviceImpl_CreateSurface (0x7fdfa8c0) Create surface trace:d3d:D3DFmtGetBpp bytes/Pxl for fmt(21,WINED3DFMT_A8R8G8B8) = 4 trace:d3d:IWineD3DDeviceImpl_AddResource (0x7fdfa8c0) : resource 0x7b6b57c8 trace:d3d:IWineD3DDeviceImpl_AddResource Added resource 0x7b6b57c8 with element 0x7b6b5880 pointing to 0x7b6b59b8 trace:d3d:IWineD3DDeviceImpl_CreateSurface (0x7fdfa8c0) : Created resource 0x7b6b57c8 trace:d3d:D3DFmt2GLFmt fmt2glFmt for fmt(21,WINED3DFMT_A8R8G8B8) = 80e1 trace:d3d:D3DFmt2GLIntFmt fmt2glintFmt for fmt(21,WINED3DFMT_A8R8G8B8) = 8058 trace:d3d:D3DFmt2GLType fmt2glType for fmt(21,WINED3DFMT_A8R8G8B8) = 8367 trace:d3d:D3DFmtGetBpp bytes/Pxl for fmt(21,WINED3DFMT_A8R8G8B8) = 4 trace:d3d:IWineD3DDeviceImpl_CreateSurface Pool 3 0 1 2(0x7fdfa8c0)->({3c2aebf6-6f30-11d9-c687-00046142c14f},0x7fc5f504) trace:d3d:IWineD3DDeviceImpl_CreateSurface (0x7fdfa8c0) : w(1600) h(1200) fmt(21,WINED3DFMT_A8R8G8B8) lockable(0) surf@0x7b6b57c8, surfmem@0x73c20020, 16777216 bytes trace:d3d:IWineD3DDeviceImpl_CreateTexture Created surface level 0 @ 0x7b6b57c8 trace:d3d:IWineD3DDeviceImpl_CreateTexture (0x7fdfa8c0) : Created texture 0x7b6b41d0 trace:d3d8:IDirect3DDevice8Impl_CreateTexture (0x7b5ce198) Created Texture 0x7b6b59a0, 0x7b6b41d0 trace:d3d8:IDirect3DTexture8Impl_GetSurfaceLevel (0x7b6b59a0) Relay trace:d3d_texture:IWineD3DTextureImpl_GetSurfaceLevel (0x7b6b41d0) : returning 0x7b6b57c8 for level 0 trace:d3d8:IDirect3DSurface8Impl_AddRef (0x7b6b57b0) : AddRef from 1 trace:d3d8:IDirect3DDevice8Impl_GetFrontBuffer (0x7b5ce198) Relay trace:d3d:IWineD3DDeviceImpl_GetSwapChain (0x7fdfa8c0) : swapchain 0 trace:d3d:IWineD3DDeviceImpl_GetSwapChain (0x7fdfa8c0) Finding swapchain 0 trace:d3d:IWineD3DSwapChainImpl_AddRef (0x7fdf8c80) : AddRef increasing from 1 trace:d3d:IWineD3DDeviceImpl_GetSwapChain (0x7fdfa8c0) returning 0x7fdf8c80 trace:d3d:IWineD3DSwapChainImpl_GetFrontBufferData (0x7fdf8c80) : iface(0x7fdf8c80) pDestSurface(0x7b6b57c8) wine: Unhandled exception (thread 0009), starting debugger... WineDbg starting on pid 0x8 Unhandled exception: page fault on write access to 0x7eab526b in 32-bit code (0x7ead94d2). In 32 bit mode. Register dump: CS:0073 SS:007b DS:007b ES:007b FS:1007 GS:0033 EIP:7ead94d2 ESP:7fc5f5e8 EBP:7fc5f5f4 EFLAGS:00210202( - 00 - -RI1) EAX:00000003 EBX:7eb0d184 ECX:7befed40 EDX:7eab526b ESI:7fc5f604 EDI:7b6b57c8 Stack dump: 0x7fc5f5e8: 7eb0d184 7b6b57c8 7b6b57b0 7fc5f644 0x7fc5f5f8: 7eaddef9 7b6b57c8 7fc5f604 7fc5f638 0x7fc5f608: 00000000 7fc5f640 7eab526b 00000003 0x7fc5f618: 7eb0d8d0 7eaf9e00 7fc5f634 7fc5f630 0x7fc5f628: 7fdf8c80 7eb0d8d0 7eaf9e00 7eb0d184 0x7fc5f638: 00000015 7eb0d184 00000000 7fc5f660 0200: sel=1007 base=7ff08000 limit=00001fff 32-bit rw- Backtrace: =>1 0x7ead94d2 IWineD3DSurfaceImpl_GetDesc+0x52(iface=0x7b6b57c8, pDesc=0x7fc5f604) [/usr/local/src/wine/Wine-CVS/dlls/wined3d/surface.c:199] in wined3d (0x7fc5f5f4) 2 0x7eaddef9 IWineD3DSwapChainImpl_GetFrontBufferData+0x69(iface=0x7fdf8c80, pDestSurface=0x7b6b57c8) [/usr/local/src/wine/Wine-CVS/dlls/wined3d/swapchain.c:343] in wined3d (0x7fc5f644) 3 0x7eac1846 IWineD3DDeviceImpl_GetFrontBufferData+0x36(iface=0x7fdfa8c0, iSwapChain=0x0, pDestSurface=0x7b6b57c8) [/usr/local/src/wine/Wine-CVS/dlls/wined3d/device.c:4956] in wined3d (0x7fc5f660) 4 0x7f5b7a97 IDirect3DDevice8Impl_GetFrontBuffer+0x37(iface=0x7b5ce198, pDestSurface=0x7b6b57b0) [/usr/local/src/wine/Wine-CVS/dlls/d3d8/device.c:551] in d3d8 (0x7fc5f680) 5 0x00520e17 in rt3 (+0x120e17) (0x7e090020) 6 0x00400000 in rt3 (+0x0) (0x00030022) 7 0x00000000 (0x00000000) 0x7ead94d2 IWineD3DSurfaceImpl_GetDesc+0x52 [/usr/local/src/wine/Wine-CVS/dlls/wined3d/surface.c:199] in wined3d: movl %eax,0x0(%edx) 199 if(pDesc->Pool != NULL) *(pDesc->Pool) = This->resource.pool; Modules:
___________________________________________________________ To help you stay safe and secure online, we've developed the all new Yahoo! Security Centre. http://uk.security.yahoo.com
On Mon, 7 Nov 2005, Oliver Stieber wrote:
Hmm, pressing prntScrn with the patch cause this (which does not happen without the patch)
Hmm. I thought I'd fixed that one.
you can edit wined3d/swapchain.c function IWineD3DSwapChainImpl_GetFrontBufferData and add memset(&desc, 0, sizeof(desc)); after ENTER_GL() and before desc.Width = &width;
It helped.
Peter
I would be greatfull if anyone with DirectX 8 games or applications that currently work or they would like to get working could test the patch and report back any errors they come across.
Before patch: Warcraft 3 not playable in directx mode - lots of lag, and mouse pointer does not work as it should With -opengl parameter, works ok (although there's sound underruns that can cause it to lock up or crash - I am hoping the Davin McCall's work will help with this issue).
After patch: Warcraft 3 works in directx mode just as it does in opengl mode.
Output: fixme:advapi:SetSecurityInfo stub fixme:d3d:IWineD3DDeviceImpl_GetSwapChain (0x7ff68f28) Unable to find swapchain 0 fixme:d3d:IWineD3DDeviceImpl_GetAvailableTextureMem (0x7ff68f28) : stub, emulating 64Mib for now, returning 64Mib fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(161,1) not handled yet fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(162,-1) not handled yet fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(163,0) not handled yet fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(164,1065353216) not handled yet fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(165,1) not handled yet fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(172,3) not handled yet fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(173,1) not handled yet fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(174,0) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(175,0) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(178,1065353216) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(179,1065353216) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(176,0) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(180,0) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(181,0) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(182,1065353216) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(183,0) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(184,0) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(185,0) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(186,1) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(187,1) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(188,1) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(189,8) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(190,15) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(191,15) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(192,15) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(193,-1) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(194,0) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(195,0) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(198,0) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(199,0) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(200,0) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(201,0) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(202,0) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(203,0) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(204,0) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(205,0) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(206,0) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(207,2) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(208,1) unrecognized fixme:d3d:IWineD3DDeviceImpl_SetRenderState (0x7ff68f28)->(209,1) unrecognized fixme:d3d_surface:IWineD3DSurfaceImpl_LockRect >>>>>>>>>>>>>>>>> 502 from glReadPixels @ surface.c / 576 fixme:d3d_surface:IWineD3DSurfaceImpl_LockRect >>>>>>>>>>>>>>>>> 502 from glReadPixels @ surface.c / 576 fixme:sync:CreateIoCompletionPort (0xffffffff, (nil), 00000000, 00000000): stub. err:dsound:DSOUND_MixOne underrun on sound buffer 0x7ddb14c8 .... fixme:d3d_surface:IWineD3DSurfaceImpl_LockRect >>>>>>>>>>>>>>>>> 502 from glReadPixels @ surface.c / 576 fixme:d3d_surface:IWineD3DSurfaceImpl_LockRect >>>>>>>>>>>>>>>>> 502 from glReadPixels @ surface.c / 576 fixme:d3d_surface:IWineD3DSurfaceImpl_LockRect >>>>>>>>>>>>>>>>> 502 from glReadPixels @ surface.c / 576 fixme:d3d_surface:IWineD3DSurfaceImpl_LockRect >>>>>>>>>>>>>>>>> 502 from glReadPixels @ surface.c / 576 fixme:d3d_surface:IWineD3DSurfaceImpl_LockRect >>>>>>>>>>>>>>>>> 502 from glReadPixels @ surface.c / 576 fixme:d3d_surface:IWineD3DSurfaceImpl_LockRect >>>>>>>>>>>>>>>>> 502 from glReadPixels @ surface.c / 576 fixme:d3d_surface:IWineD3DSurfaceImpl_LockRect >>>>>>>>>>>>>>>>> 502 from glReadPixels @ surface.c / 576 .... fixme:imm:ImmAssociateContextEx (0x20026, (nil), 16): stub fixme:d3d:IWineD3DStateBlockImpl_Release Releasing primary stateblock
--- Ivan Gyurdiev ivg2@cornell.edu wrote:
I would be greatfull if anyone with DirectX 8 games or applications that currently work or
they
would like to get working could test the patch and report back any errors they come across.
Before patch: Warcraft 3 not playable in directx mode - lots of lag, and mouse pointer does not work as it should With -opengl parameter, works ok (although there's sound underruns that can cause it to lock up or crash - I am hoping the Davin McCall's work will help with this issue).
After patch: Warcraft 3 works in directx mode just as it does in opengl mode.
Cool, I've got a copy of Warcraft 3 here so I'll try and fix those IWineD3DSurfaceImpl_LockRect
>>>>>>>>>>> 502 errors.
___________________________________________________________ Yahoo! Messenger - NEW crystal clear PC to PC calling worldwide with voicemail http://uk.messenger.yahoo.com
Hello,
So far I've tested Rail Road Tycoon 3, Celebrity Death match, Madden NFL 2004 all the d3d8 demos from http://www.codesampler.com, a few more games I can't remember at the moment and everything's seems to be working as good as or better than the current Direct3D 8 code.
I've tested it with Battlefield 1942, and I've mixed results.
The game comes up fine, except of the missing fonts and the sound problems. With the radeon driver from X.org, the main menu background animation works. Starting a game doesn't work with this driver because of a few driver bugs.
So I tried again with the ATI's fglrx: The game comes up fine, background anmation is stuck at the first frame(ati driver bug, I think). When starting a game, the colors in the loading screen are correct. On some maps, the game gets stuck at 100%, with 80% sys loading, and 20% user. it's not blocked, it reacts to button presses, but it doesn't show the in-game graphics.
On other maps, the in-game graphics show up, but it's all milky white, except of the GUI elements, the minimap and the crosshair. I've a +d3d trace, but bzip is still working on it(it's 1G of size unzipped).
The performance varies, it's ~25 fps in the main menu, 6 fps during the loading screen, and 6 to 50 fps in-game. When going back to the main menu from a game, d3d_fps shows nearly 100 fps.
The hardware is a Centrino notebook(1.6 GHZ Pentium M), Radeon 9000 Mobility, 512 mb of ram. The game is set to the highest graphics, which works with cvscedega and old d3d8.
I can probably do more tests this evening.
Stefan
PS: I am quite busy at university right now, do my d3d7 work is interruped ATM. I hope that I can continue it at the end of the next week.
On 11/7/05, Stefan Dösinger stefandoesinger@gmx.at wrote:
I've tested it with Battlefield 1942, and I've mixed results.
The game comes up fine, except of the missing fonts and the sound problems. With the radeon driver from X.org, the main menu background animation works. Starting a game doesn't work with this driver because of a few driver bugs.
I've been able to play battlefield 1942 using X.org drivers. I'm using latest cvs of about two weeks ago.
But I'm having the clippling problem again which I described in the thread Sept 3rd, Re: wined3d - d3d9 regression testing 7_12_2005 where in certain instances, the game's screen moves 25% towards the top and left off the screen, and if you trigger it again, it does it more making it unplayable. This time, vertex shaders being off does not fix it. This is even without Oliver's new patch.
Oh, BTW Oliver, I did try Warcraft 3 with the new patch and it is excellent. Since you have the game you should try it out and see what you can figure out with it because it can use both opengl and d3d8.
Jesse
I've been able to play battlefield 1942 using X.org drivers. I'm using latest cvs of about two weeks ago.
Do you mean wine CVS or X.org CVS? Which card?
But I'm having the clippling problem again which I described in the thread Sept 3rd, Re: wined3d - d3d9 regression testing 7_12_2005 where in certain instances, the game's screen moves 25% towards the top and left off the screen, and if you trigger it again, it does it more making it unplayable. This time, vertex shaders being off does not fix it. This is even without Oliver's new patch.
That's the same with the fglrx driver.
Oh, BTW Oliver, I did try Warcraft 3 with the new patch and it is excellent. Since you have the game you should try it out and see what you can figure out with it because it can use both opengl and d3d8.
There's no real improvement with Warcraft III in DX mode with the fglrx driver, but I can confirm that it's working nicely with the X.org drivers. I guess it's again the slowlyness of glReadPixels and friends :-(
Stefan
On 11/7/05, Stefan Dösinger stefandoesinger@gmx.at wrote:
I've been able to play battlefield 1942 using X.org drivers. I'm using latest cvs of about two weeks ago.
Do you mean wine CVS or X.org CVS? Which card?
Oh I mean DRI's minimal X build plus mesa drivers checkouts from cvs from about two weeks ago: X Window System Version 6.8.99.901 (6.9.0 RC 1) (Minimal DRI build from X.org tree) Release Date: 18 October 2005 + cvs X Protocol Version 11, Revision 0, Release 6.8.99.901 Build Operating System: Linux 2.6.14-rc5 i686 [ELF] Current Operating System: Linux tesore 2.6.14 #2 PREEMPT Fri Oct 28 20:51:08 MST 2005 i686 Build Date: 28 October 2005
My card is a Radeon 9200.
The patch seems to cause a regression with Valve's Source engine. Counter-Strike: Source now only shows a black screen and then crashes, whether specifying -dxlevel 80 or 70. Half-Life 2 exhibits the same symptoms.
I've put a file containing the +d3d debug out at http://www.eternaldusk.com/programming/d3d8_debug.zip.
-Jesse
Oliver Stieber wrote:
Hi,
I've put together a Direct3D 8 wrapper for wined3d which should hopefully replace the current Direct3D 8 code. The patch needs a little bit of tidying, some work of vertex declarations and a hell of a lot of testing before it can go into Wine.
So far I've tested Rail Road Tycoon 3, Celebrity Death match, Madden NFL 2004 all the d3d8 demos from http://www.codesampler.com, a few more games I can't remember at the moment and everything's seems to be working as good as or better than the current Direct3D 8 code.
I would be greatfull if anyone with DirectX 8 games or applications that currently work or they would like to get working could test the patch and report back any errors they come across.
The patch is against Wine cvs 2005-11-05 and can be downloaded from https://sourceforge.net/project/shownotes.php?release_id=368929 for the time being.
Oliver.
___________________________________________________________ How much free photo storage do you get? Store your holiday snaps for FREE with Yahoo! Photos http://uk.photos.yahoo.com
I've got a couple of games handy that are DirectX 8 (No One Lives Forever 2 is one that was close to working in 0.9, and a personal favorite of mine), so I'll test and report back as soon as I have a few spare moments to grab CVS, patch and compile.
Randall Walls
Oliver Stieber wrote:
Hi,
I've put together a Direct3D 8 wrapper for wined3d which should hopefully replace the current Direct3D 8 code. The patch needs a little bit of tidying, some work of vertex declarations and a hell of a lot of testing before it can go into Wine.
So far I've tested Rail Road Tycoon 3, Celebrity Death match, Madden NFL 2004 all the d3d8 demos from http://www.codesampler.com, a few more games I can't remember at the moment and everything's seems to be working as good as or better than the current Direct3D 8 code.
I would be greatfull if anyone with DirectX 8 games or applications that currently work or they would like to get working could test the patch and report back any errors they come across.
The patch is against Wine cvs 2005-11-05 and can be downloaded from https://sourceforge.net/project/shownotes.php?release_id=368929 for the time being.
Oliver.
___________________________________________________________ How much free photo storage do you get? Store your holiday snaps for FREE with Yahoo! Photos http://uk.photos.yahoo.com