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