[PATCH 1/4] d3d9/tests: A volume really isn't a resource, despite having all the methods.

Henri Verbeet hverbeet at codeweavers.com
Mon Dec 21 16:17:23 CST 2009


---
 dlls/d3d9/tests/volume.c |   24 ++++++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/dlls/d3d9/tests/volume.c b/dlls/d3d9/tests/volume.c
index 38ea501..b313713 100644
--- a/dlls/d3d9/tests/volume.c
+++ b/dlls/d3d9/tests/volume.c
@@ -121,6 +121,29 @@ cleanup:
     if (volume_ptr) IDirect3DVolume9_Release(volume_ptr);
 }
 
+static void test_volume_resource(IDirect3DDevice9 *device)
+{
+    IDirect3DVolumeTexture9 *texture;
+    IDirect3DResource9 *resource;
+    IDirect3DVolume9 *volume;
+    HRESULT hr;
+
+    hr = IDirect3DDevice9_CreateVolumeTexture(device, 128, 128, 128, 1, 0,
+            D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &texture, 0);
+    ok(SUCCEEDED(hr), "CreateVolumeTexture failed, hr %#x.\n", hr);
+
+    hr = IDirect3DVolumeTexture9_GetVolumeLevel(texture, 0, &volume);
+    ok(SUCCEEDED(hr), "GetVolumeLevel failed, hr %#x.\n", hr);
+
+    IDirect3DVolumeTexture9_Release(texture);
+
+    hr = IDirect3DVolume9_QueryInterface(volume, &IID_IDirect3DResource9, (void **)&resource);
+    ok(hr == E_NOINTERFACE, "QueryInterface returned %#x, expected %#x.\n", hr, E_NOINTERFACE);
+
+    IDirect3DVolume9_Release(volume);
+}
+
+
 START_TEST(volume)
 {
     HMODULE d3d9_handle;
@@ -146,6 +169,7 @@ START_TEST(volume)
     }
 
     test_volume_get_container(device_ptr);
+    test_volume_resource(device_ptr);
 
     refcount = IDirect3DDevice9_Release(device_ptr);
     ok(!refcount, "Device has %u references left\n", refcount);
-- 
1.6.4.4




More information about the wine-patches mailing list