[PATCH 1/2] d3dx9: Add tests for D3DXCreateSphere vertex buffer description.
Misha Koshelev
misha680 at gmail.com
Mon Jul 19 16:13:49 CDT 2010
Continuing in my incremental patch set. Per Alexandre's instructions I am limiting to just a few (2).
Fix bug:
http://bugs.winehq.org/show_bug.cgi?id=22918
From:
http://github.com/misha680/wine/commits/master
Thanks to Greg's hard work, no more winetestbot failures expected. Thank you all for your hard work!
Misha
---
dlls/d3dx9_36/tests/mesh.c | 18 +++++++++++++++++-
1 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/dlls/d3dx9_36/tests/mesh.c b/dlls/d3dx9_36/tests/mesh.c
index b747761..32ad124 100644
--- a/dlls/d3dx9_36/tests/mesh.c
+++ b/dlls/d3dx9_36/tests/mesh.c
@@ -489,7 +489,9 @@ static void D3DXCreateSphereTest(void)
ID3DXMesh* sphere = NULL;
DWORD number_of_vertices;
IDirect3DVertexBuffer9* vertex_buffer = NULL;
- BYTE* vertex_data = NULL;
+ D3DVERTEXBUFFER_DESC vertex_buffer_description;
+ D3DXVECTOR3* vertex_data = NULL;
+ int expected;
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);
@@ -545,6 +547,20 @@ static void D3DXCreateSphereTest(void)
if (vertex_buffer)
{
+ hr = IDirect3DVertexBuffer9_GetDesc(vertex_buffer, &vertex_buffer_description);
+ todo_wine ok( hr == D3D_OK, "Got result %x, expected 0 (D3D_OK)\n",hr);
+
+ if (hr == D3D_OK)
+ {
+ todo_wine ok( vertex_buffer_description.Format == D3DFMT_VERTEXDATA, "Got result %x, expected %x (D3DFMT_VERTEXDATA)\n",vertex_buffer_description.Format,D3DFMT_VERTEXDATA);
+ todo_wine ok( vertex_buffer_description.Type == D3DRTYPE_VERTEXBUFFER, "Got result %x, expected %x (D3DRTYPE_VERTEXBUFFER)\n",vertex_buffer_description.Type,D3DRTYPE_VERTEXBUFFER);
+ todo_wine ok( vertex_buffer_description.Usage == 0, "Got result %x, expected %x\n",vertex_buffer_description.Usage,0);
+ todo_wine ok( vertex_buffer_description.Pool == D3DPOOL_MANAGED, "Got result %x, expected %x (D3DPOOL_DEFAULT)\n",vertex_buffer_description.Pool,D3DPOOL_DEFAULT);
+ expected = number_of_vertices * sizeof(D3DXVECTOR3) * 2;
+ todo_wine ok( vertex_buffer_description.Size == expected, "Got result %x, expected %x\n",vertex_buffer_description.Size,expected);
+ todo_wine ok( vertex_buffer_description.FVF == (D3DFVF_XYZ | D3DFVF_NORMAL), "Got result %x, expected %x (D3DFVF_XYZ | D3DFVF_NORMAL)\n",vertex_buffer_description.FVF,D3DFVF_XYZ | D3DFVF_NORMAL);
+ }
+
/* Specify offset and size to avoid potential overruns */
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);
--
1.7.1
More information about the wine-patches
mailing list