D3D8/WineD3D vertex shader fixes

Roderick Colenbrander thunderbird2k at gmx.net
Thu Mar 16 15:42:00 CST 2006


Hi,

At the moment vertex shaders don't work in direct3d8 because of bugs in 
d3d8/wined3d. Vertex shaders work roughly the same in d3d8 and d3d9. One of 
the differences lies in the so called vertex declarations which in case of 
d3d9 are part of the shader and in d3d8 those are separate. The declaration 
is needed in the d3d drawing code to provide the shader with input. This 
patch stores the vertex declaration (in case of d3d8) in the vertex shader. 
When the d3d shader is converted to a opengl shader in 
IWineD3DVertexShaderImpl_GenerateProgramArbHW we use the vertex declaration 
to figure out check which elements are used.

The other part of the patch activates the vertex shader code in d3d8. Using 
this patch lots of simple d3d8 examples and Age Of Mythology work fine (AOM 
still has some drawing errors but those aren't caused by this patch).  Second 
3dmark2001 works quite well too but it still has some vertex shader issues 
but those are in other parts of the code.

Regards,
Roderick Colenbrander 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vshader.patch.bz2
Type: application/x-bzip2
Size: 3060 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20060316/45fb950c/vshader.patch.bin


More information about the wine-patches mailing list