[PATCH 2/2] d3dx9: Test raw vertex data for D3DXCreateSphere.
Misha Koshelev
misha680 at gmail.com
Mon Jul 19 16:16:22 CDT 2010
Here I am following the same syntax for raw vertex data as found in other tests in this file, e.g.,
D3DXComputeBoundingBoxTest
D3DXBoundProbeTest
Thank you
Misha
---
dlls/d3dx9_36/tests/mesh.c | 21 ++++++++++++++++++++-
1 files changed, 20 insertions(+), 1 deletions(-)
diff --git a/dlls/d3dx9_36/tests/mesh.c b/dlls/d3dx9_36/tests/mesh.c
index 32ad124..bfa7106 100644
--- a/dlls/d3dx9_36/tests/mesh.c
+++ b/dlls/d3dx9_36/tests/mesh.c
@@ -491,7 +491,8 @@ static void D3DXCreateSphereTest(void)
IDirect3DVertexBuffer9* vertex_buffer = NULL;
D3DVERTEXBUFFER_DESC vertex_buffer_description;
D3DXVECTOR3* vertex_data = NULL;
- int expected;
+ D3DXVECTOR3 test_vertex_data[8];
+ int expected, i;
hr = D3DXCreateSphere(NULL, 0.0f, 0, 0, NULL, NULL);
todo_wine ok( hr == D3DERR_INVALIDCALL, "Got result %x, expected %x (D3DERR_INVALIDCALL)\n",hr,D3DERR_INVALIDCALL);
@@ -565,6 +566,24 @@ static void D3DXCreateSphereTest(void)
hr = IDirect3DVertexBuffer9_Lock(vertex_buffer, 0, number_of_vertices * sizeof(D3DXVECTOR3) * 2, (LPVOID *)&vertex_data, D3DLOCK_DISCARD);
todo_wine ok( hr == D3D_OK, "Got result %x, expected 0 (D3D_OK)\n",hr);
+ if (vertex_data)
+ {
+ test_vertex_data[0].x = 0.0f; test_vertex_data[0].y = 0.0f; test_vertex_data[0].z = 1.0f;
+ test_vertex_data[1].x = 0.0f; test_vertex_data[1].y = 0.0f; test_vertex_data[1].z = 1.0f;
+ test_vertex_data[2].x = 0.0f; test_vertex_data[2].y = 1.0f; test_vertex_data[2].z = -4.37114e-008f;
+ test_vertex_data[3].x = 0.0f; test_vertex_data[3].y = 1.0f; test_vertex_data[3].z = -4.37114e-008f;
+ test_vertex_data[4].x = -8.74228e-008f; test_vertex_data[4].y = -1.0f; test_vertex_data[4].z = -4.37114e-008f;
+ test_vertex_data[5].x = -8.74228e-008f; test_vertex_data[5].y = -1.0f; test_vertex_data[5].z = -4.37114e-008f;
+ test_vertex_data[6].x = 0.0f; test_vertex_data[6].y = 0.0f; test_vertex_data[6].z = -1.0f;
+ test_vertex_data[7].x = 0.0f; test_vertex_data[7].y = 0.0f; test_vertex_data[7].z = -1.0f;
+
+ /* number_of_vertices*2 as we have both (x,y,z) and normals (nx,ny,nz) */
+ for (i=0; i<number_of_vertices*2; i++)
+ {
+ todo_wine ok( compare_vec3(vertex_data[i],test_vertex_data[i]), "Expected: (%f, %f, %f), got: (%f, %f, %f)\n", test_vertex_data[i].x,test_vertex_data[i].y,test_vertex_data[i].z,vertex_data[i].x,vertex_data[i].y,vertex_data[i].z);
+ }
+ }
+
IDirect3DVertexBuffer9_Unlock(vertex_buffer);
IDirect3DVertexBuffer9_Release(vertex_buffer);
--
1.7.1
More information about the wine-patches
mailing list