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