=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: d3dx9/tests: Add tests for D3DXCreateVolumeTextureFromFileInMemory.

Alexandre Julliard julliard at winehq.org
Mon Mar 26 12:29:34 CDT 2012


Module: wine
Branch: master
Commit: f8015cd235954eed0311e42d379d5310abb63407
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=f8015cd235954eed0311e42d379d5310abb63407

Author: Józef Kucia <joseph.kucia at gmail.com>
Date:   Sun Mar 25 15:40:43 2012 +0200

d3dx9/tests: Add tests for D3DXCreateVolumeTextureFromFileInMemory.

---

 dlls/d3dx9_36/tests/surface.c |   45 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 45 insertions(+), 0 deletions(-)

diff --git a/dlls/d3dx9_36/tests/surface.c b/dlls/d3dx9_36/tests/surface.c
index 1a39ed7..87aa03e 100644
--- a/dlls/d3dx9_36/tests/surface.c
+++ b/dlls/d3dx9_36/tests/surface.c
@@ -779,6 +779,50 @@ static void test_D3DXCreateCubeTexture(IDirect3DDevice9 *device)
     }
 }
 
+static void test_D3DXCreateVolumeTexture(IDirect3DDevice9 *device)
+{
+    HRESULT hr;
+    ULONG ref;
+    DWORD levelcount;
+    IDirect3DVolumeTexture9 *volume_texture;
+    D3DVOLUME_DESC volume_desc;
+
+    todo_wine {
+        hr = D3DXCreateVolumeTextureFromFileInMemory(NULL, dds_volume_map, sizeof(dds_volume_map), &volume_texture);
+        ok(hr == D3DERR_INVALIDCALL, "D3DXCreateVolumeTextureFromFileInMemory returned %#x, expected %#x\n", hr, D3DERR_INVALIDCALL);
+
+        hr = D3DXCreateVolumeTextureFromFileInMemory(device, NULL, sizeof(dds_volume_map), &volume_texture);
+        ok(hr == D3DERR_INVALIDCALL, "D3DXCreateVolumeTextureFromFileInMemory returned %#x, expected %#x\n", hr, D3DERR_INVALIDCALL);
+
+        hr = D3DXCreateVolumeTextureFromFileInMemory(device, dds_volume_map, 0, &volume_texture);
+        ok(hr == D3DERR_INVALIDCALL, "D3DXCreateVolumeTextureFromFileInMemory returned %#x, expected %#x\n", hr, D3DERR_INVALIDCALL);
+
+        hr = D3DXCreateVolumeTextureFromFileInMemory(device, dds_volume_map, sizeof(dds_volume_map), NULL);
+        ok(hr == D3DERR_INVALIDCALL, "D3DXCreateVolumeTextureFromFileInMemory returned %#x, expected %#x\n", hr, D3DERR_INVALIDCALL);
+
+        hr = D3DXCreateVolumeTextureFromFileInMemory(device, dds_volume_map, sizeof(dds_volume_map), &volume_texture);
+        if(SUCCEEDED(hr)) {
+            levelcount = IDirect3DVolumeTexture9_GetLevelCount(volume_texture);
+            ok(levelcount == 3, "GetLevelCount returned %u, expected 3\n", levelcount);
+
+            hr = IDirect3DVolumeTexture9_GetLevelDesc(volume_texture, 0, &volume_desc);
+            ok(hr == D3D_OK, "GetLevelDesc returend %#x, expected %#x\n", hr, D3D_OK);
+            ok(volume_desc.Width == 4, "Got width %u, expected 4\n", volume_desc.Width);
+            ok(volume_desc.Height == 4, "Got height %u, expected 4\n", volume_desc.Height);
+            ok(volume_desc.Depth == 2, "Got depth %u, expected 2\n", volume_desc.Depth);
+
+            hr = IDirect3DVolumeTexture9_GetLevelDesc(volume_texture, 1, &volume_desc);
+            ok(hr == D3D_OK, "GetLevelDesc returned %#x, expected %#x\n", hr, D3D_OK);
+            ok(volume_desc.Width == 2, "Got width %u, expected 2\n", volume_desc.Width);
+            ok(volume_desc.Height == 2, "Got height %u, expected 2\n", volume_desc.Height);
+            ok(volume_desc.Depth == 1, "Got depth %u, expected 1\n", volume_desc.Depth);
+
+            ref = IDirect3DVolumeTexture9_Release(volume_texture);
+            ok(ref == 0, "Invalid reference count. Got %u, expected 0\n", ref);
+        }
+    }
+}
+
 START_TEST(surface)
 {
     HWND wnd;
@@ -813,6 +857,7 @@ START_TEST(surface)
     test_D3DXGetImageInfo();
     test_D3DXLoadSurface(device);
     test_D3DXCreateCubeTexture(device);
+    test_D3DXCreateVolumeTexture(device);
 
     check_release((IUnknown*)device, 0);
     check_release((IUnknown*)d3d, 0);




More information about the wine-cvs mailing list