That works here, it looks like it's complaining about
800x600 support >being missing.
I get this error only when i run in desktop mode. When run fullscreen it say's:
Text: Failed to set technique DrawShadowMapNV in effect Shaders/StaticMesh technique not found
last lines of console fixme:d3d_decl:IWineD3DVertexDeclarationImpl_SetDeclaration Parsing declatation 9 fixme:d3d:IWineD3DDeviceImpl_EndStateBlock (0x7ff2ebe0) not recording! returning error fixme:d3d9:IDirect3DDevice9Impl_EndStateBlock IWineD3DDevice_EndStateBlock returned an error
___________________________________________________________ WIN ONE OF THREE YAHOO! VESPAS - Enter now! - http://uk.cars.yahoo.com/features/competitions/vespa.html
That works here, it looks like it's complaining about
800x600 support >being missing.
I get this error only when i run in desktop mode. When run fullscreen it say's:
Text: Failed to set technique DrawShadowMapNV in effect Shaders/StaticMesh technique not found
last lines of console fixme:d3d_decl:IWineD3DVertexDeclarationImpl_SetDeclaration Parsing declatation 9 fixme:d3d:IWineD3DDeviceImpl_EndStateBlock (0x7ff2ebe0) not recording! returning error fixme:d3d9:IDirect3DDevice9Impl_EndStateBlock IWineD3DDevice_EndStateBlock returned an error
I was able to do some checking, and that's the same error I'm getting.
Are StateBlocks supposed to be nestable? I don't think they currently are on Wine, but my debug output appears to suggest they should be:
... 0009:trace:d3d9:IDirect3DDevice9Impl_BeginStateBlock (0x7fdf3e80) Relay 0009:trace:d3d:IWineD3DDeviceImpl_BeginStateBlock (0x7fdf42c0)(0x7fdf42c0) creted object 0x7918d1e0 0009:trace:d3d:IWineD3DStateBlockImpl_Release (0x7fe34cf0) : Releasing from 2 0009:trace:d3d:IWineD3DDeviceImpl_BeginStateBlock (0x7fdf42c0) recording stateblock 0x7918d1e0 ... 0009:trace:d3d9:IDirect3DDevice9Impl_BeginStateBlock (0x7fdf3e80) Relay 0009:trace:d3d:IWineD3DDeviceImpl_BeginStateBlock (0x7fdf42c0)(0x7fdf42c0) creted object 0x791ceaa0 0009:trace:d3d:IWineD3DStateBlockImpl_Release (0x7918d1e0) : Releasing from 1 0009:trace:d3d:IWineD3DDeviceImpl_BeginStateBlock (0x7fdf42c0) recording stateblock 0x791ceaa0 ... 0009:trace:d3d9:IDirect3DDevice9Impl_EndStateBlock (0x7fdf3e80) Relay 0009:trace:d3d:IWineD3DStateBlockImpl_AddRef (0x7fe34cf0) : AddRef increasing from 1 0009:trace:d3d:IWineD3DDeviceImpl_EndStateBlock (0x7fdf42c0) returning token (ptr to stateblock) of 0x791ceaa0 0009:trace:d3d9:IDirect3DDevice9Impl_EndStateBlock (0x7fdf3e80)Returning 0x77416978 0x791ceaa0 ... 0009:trace:d3d9:IDirect3DDevice9Impl_BeginStateBlock (0x7fdf3e80) Relay 0009:trace:d3d:IWineD3DDeviceImpl_BeginStateBlock (0x7fdf42c0)(0x7fdf42c0) creted object 0x7918d1e0 0009:trace:d3d:IWineD3DStateBlockImpl_Release (0x7fe34cf0) : Releasing from 2 0009:trace:d3d:IWineD3DDeviceImpl_BeginStateBlock (0x7fdf42c0) recording stateblock 0x7918d1e0 ... 0009:trace:d3d9:IDirect3DDevice9Impl_EndStateBlock (0x7fdf3e80) Relay 0009:trace:d3d:IWineD3DStateBlockImpl_AddRef (0x7fe34cf0) : AddRef increasing from 1 0009:trace:d3d:IWineD3DDeviceImpl_EndStateBlock (0x7fdf42c0) returning token (ptr to stateblock) of 0x7918d1e0 0009:trace:d3d9:IDirect3DDevice9Impl_EndStateBlock (0x7fdf3e80)Returning 0x7744bbf0 0x7918d1e0 ... 0009:trace:d3d9:IDirect3DDevice9Impl_EndStateBlock (0x7fdf3e80) Relay 0009:fixme:d3d:IWineD3DDeviceImpl_EndStateBlock (0x7fdf42c0) not recording! returning error 0009:fixme:d3d9:IDirect3DDevice9Impl_EndStateBlock IWineD3DDevice_EndStateBlock returned an error ...
Shortly after which the demo dies with "Failed to set technique DrawShadowMapNV in effect Shaders/StaticMesh technique not found."
On 26/11/05, H. Verbeet hverbeet@gmail.com wrote:
Are StateBlocks supposed to be nestable? I don't think they currently are on Wine, but my debug output appears to suggest they should be:
Actually, nevermind that comment. They're not. However, BeginStateBlock should return D3DERR_INVALIDCALL when called twice in a row.
Executing the above sequence on Windows gives: BeginStateBlock returned: 00000000 BeginStateBlock returned: 8876086C EndStateBlock returned: 00000000 BeginStateBlock returned: 00000000 EndStateBlock returned: 00000000 EndStateBlock returned: 8876086C
After that, the demo dies on an AddRef in IWineD3DPixelShaderImpl_GetParent. Replacing *parent= (IUnknown*) parent; with *parent = This->parent; seems to be enough to get it going again.
Right now, the demo dies somewhere in IWineD3DPixelShaderImpl_SetFunction. At first sight, I'd say it never detects the end of its input and just keeps on reading untill it generates an access violation.
Hi,
On Sunday 27 November 2005 06:13, H. Verbeet wrote:
On 26/11/05, H. Verbeet hverbeet@gmail.com wrote:
Are StateBlocks supposed to be nestable? I don't think they currently are on Wine, but my debug output appears to suggest they should be:
Actually, nevermind that comment. They're not. However, BeginStateBlock should return D3DERR_INVALIDCALL when called twice in a row.
You are right this is a regression from d3d8 base code :)
Executing the above sequence on Windows gives: BeginStateBlock returned: 00000000 BeginStateBlock returned: 8876086C EndStateBlock returned: 00000000 BeginStateBlock returned: 00000000 EndStateBlock returned: 00000000 EndStateBlock returned: 8876086C
After that, the demo dies on an AddRef in IWineD3DPixelShaderImpl_GetParent. Replacing *parent= (IUnknown*) parent; with *parent = This->parent; seems to be enough to get it going again.
Another good catch. Current wined3d code is oubviously bugged
Can you send you patch to wine-patches ?
Thx
Right now, the demo dies somewhere in IWineD3DPixelShaderImpl_SetFunction. At first sight, I'd say it never detects the end of its input and just keeps on reading untill it generates an access violation.
Strange, PS Functions should be terminated by NULL token (see D3DPS_END()) can you send a WINEDEBUG="+d3d_shader" log ?
Regards, Raphael
On 28/11/05, Raphael fenix@club-internet.fr wrote:
Can you send you patch to wine-patches ?
Thx
Sure, I'll try to send it sometime tonight.
Right now, the demo dies somewhere in IWineD3DPixelShaderImpl_SetFunction. At first sight, I'd say it never detects the end of its input and just keeps on reading untill it generates an access violation.
Strange, PS Functions should be terminated by NULL token (see D3DPS_END()) can you send a WINEDEBUG="+d3d_shader" log ?
I actually already figured that one out :) The version variable gets set incorrectly, which causes some opcodes to get interpreted incorrectly, including the D3DPS_END marker. I'll send a patch for that one as well.