d3dx9: CloneMesh test and improvements

Michael Mc Donnell michael at mcdonnell.dk
Mon Aug 8 13:24:22 CDT 2011


I've been working on a test and improvements for CloneMesh as part of
GSoC 2011. I would be grateful if anyone could comment on my work.
There are five test cases in the attached patch:

  0. Basic mesh cloning. Declaration has position and normal, and the
new declaration is the same as the original.
  1. Same as test 0, but with 16-bit indices.
  2. Shows that the vertex buffer can be widened so that it has room
for a new vertex component. The declaration has position and normal,
and the new declaration has texture coordinates after position and
  3. Same as test 2, but the new declaration has the texture
coordinates in between position and normal.
  4. Shows that a vertex component can be converted into another type
if the new declaration specifies another type. The declaration has
position and normal. The normal is a FLOAT2 and in the new declaration
it is instead FLOAT16_2.

Test 0 and 1 tests what is already known to work in the current
implementation. Test 2, 3 and 4 do not work in the current
implementation because the original and new declarations are not the

I've also improved the current CloneMesh implementation so that it
also passes test 2, 3, and 4. The patch is not complete because it
does not support converting all the possible types. I expect to
implement conversion for the remaining types during this week.

Again any comments or ideas are welcome.

Michael Mc Donnell
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-d3dx9-Implemented-CloneMesh-conversion-and-test.patch
Type: text/x-patch
Size: 32718 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20110808/bc3fb356/attachment-0001.bin>

More information about the wine-devel mailing list