Henri Verbeet : dxgi: Add a small test for CreateSurface().

Alexandre Julliard julliard at winehq.org
Fri Jan 16 07:41:53 CST 2009


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

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Fri Jan 16 10:14:24 2009 +0100

dxgi: Add a small test for CreateSurface().

---

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

diff --git a/dlls/dxgi/tests/device.c b/dlls/dxgi/tests/device.c
index 7603c14..39d780a 100644
--- a/dlls/dxgi/tests/device.c
+++ b/dlls/dxgi/tests/device.c
@@ -98,6 +98,29 @@ static void test_device_interfaces(IDXGIDevice *device)
     ok(SUCCEEDED(hr), "IDXGIDevice does not implement ID3D10Device\n");
 }
 
+static void test_create_surface(IDXGIDevice *device)
+{
+    ID3D10Texture2D *texture;
+    IDXGISurface *surface;
+    DXGI_SURFACE_DESC desc;
+    HRESULT hr;
+
+    desc.Width = 512;
+    desc.Height = 512;
+    desc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
+    desc.SampleDesc.Count = 1;
+    desc.SampleDesc.Quality = 0;
+
+    hr = IDXGIDevice_CreateSurface(device, &desc, 1, DXGI_USAGE_RENDER_TARGET_OUTPUT, NULL, &surface);
+    ok(SUCCEEDED(hr), "Failed to create a dxgi surface, hr %#x\n", hr);
+
+    hr = IDXGISurface_QueryInterface(surface, &IID_ID3D10Texture2D, (void **)&texture);
+    todo_wine ok(SUCCEEDED(hr), "Surface should implement ID3D10Texture2D\n");
+    if (SUCCEEDED(hr)) ID3D10Texture2D_Release(texture);
+
+    IDXGISurface_Release(surface);
+}
+
 START_TEST(device)
 {
     HMODULE d3d10core = LoadLibraryA("d3d10core.dll");
@@ -119,6 +142,7 @@ START_TEST(device)
     }
 
     test_device_interfaces(device);
+    test_create_surface(device);
 
     refcount = IDXGIDevice_Release(device);
     ok(!refcount, "Device has %u references left\n", refcount);




More information about the wine-cvs mailing list