=?UTF-8?Q?Stefan=20D=C3=B6singer=20?=: d3d8/tests: Test D3DBACKBUFFER_TYPE.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Sep 8 08:15:46 CDT 2015


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

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Mon Sep  7 23:50:33 2015 +0200

d3d8/tests: Test D3DBACKBUFFER_TYPE.

---

 dlls/d3d8/tests/device.c | 34 +++++++++++++++++++++++++++++++++-
 1 file changed, 33 insertions(+), 1 deletion(-)

diff --git a/dlls/d3d8/tests/device.c b/dlls/d3d8/tests/device.c
index 47326b5..cb7f5e1 100644
--- a/dlls/d3d8/tests/device.c
+++ b/dlls/d3d8/tests/device.c
@@ -257,7 +257,7 @@ static void test_swapchain(void)
     IDirect3DSwapChain8 *swapchain1;
     IDirect3DSwapChain8 *swapchain2;
     IDirect3DSwapChain8 *swapchain3;
-    IDirect3DSurface8 *backbuffer;
+    IDirect3DSurface8 *backbuffer, *stereo_buffer;
     D3DPRESENT_PARAMETERS d3dpp;
     IDirect3DDevice8 *device;
     IDirect3D8 *d3d;
@@ -286,6 +286,24 @@ static void test_swapchain(void)
     ok(hr == D3DERR_INVALIDCALL, "Got unexpected hr %#x.\n", hr);
     ok(!backbuffer, "The back buffer pointer is %p, expected NULL.\n", backbuffer);
 
+    hr = IDirect3DDevice8_GetBackBuffer(device, 0, D3DBACKBUFFER_TYPE_MONO, &backbuffer);
+    ok(SUCCEEDED(hr), "Failed to get back buffer, hr %#x.\n", hr);
+    IDirect3DSurface8_Release(backbuffer);
+
+    /* The back buffer type value is ignored. */
+    hr = IDirect3DDevice8_GetBackBuffer(device, 0, D3DBACKBUFFER_TYPE_LEFT, &stereo_buffer);
+    ok(SUCCEEDED(hr), "Failed to get the back buffer, hr %#x.\n", hr);
+    ok(stereo_buffer == backbuffer, "Expected left back buffer = %p, got %p.\n", backbuffer, stereo_buffer);
+    IDirect3DSurface8_Release(stereo_buffer);
+    hr = IDirect3DDevice8_GetBackBuffer(device, 0, D3DBACKBUFFER_TYPE_RIGHT, &stereo_buffer);
+    ok(SUCCEEDED(hr), "Failed to get the back buffer, hr %#x.\n", hr);
+    ok(stereo_buffer == backbuffer, "Expected right back buffer = %p, got %p.\n", backbuffer, stereo_buffer);
+    IDirect3DSurface8_Release(stereo_buffer);
+    hr = IDirect3DDevice8_GetBackBuffer(device, 0, (D3DBACKBUFFER_TYPE)0xdeadbeef, &stereo_buffer);
+    ok(SUCCEEDED(hr), "Failed to get the back buffer, hr %#x.\n", hr);
+    ok(stereo_buffer == backbuffer, "Expected unknown buffer = %p, got %p.\n", backbuffer, stereo_buffer);
+    IDirect3DSurface8_Release(stereo_buffer);
+
     memset(&d3dpp, 0, sizeof(d3dpp));
     d3dpp.Windowed = TRUE;
     d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
@@ -315,6 +333,20 @@ static void test_swapchain(void)
         ok(backbuffer != NULL && backbuffer != (void *) 0xdeadbeef, "The back buffer is %p\n", backbuffer);
         if(backbuffer && backbuffer != (void *) 0xdeadbeef) IDirect3DSurface8_Release(backbuffer);
 
+        /* The back buffer type value is ignored. */
+        hr = IDirect3DSwapChain8_GetBackBuffer(swapchain3, 0, D3DBACKBUFFER_TYPE_LEFT, &stereo_buffer);
+        ok(SUCCEEDED(hr), "Failed to get the back buffer, hr %#x.\n", hr);
+        ok(stereo_buffer == backbuffer, "Expected left back buffer = %p, got %p.\n", backbuffer, stereo_buffer);
+        IDirect3DSurface8_Release(stereo_buffer);
+        hr = IDirect3DSwapChain8_GetBackBuffer(swapchain3, 0, D3DBACKBUFFER_TYPE_RIGHT, &stereo_buffer);
+        ok(SUCCEEDED(hr), "Failed to get the back buffer, hr %#x.\n", hr);
+        ok(stereo_buffer == backbuffer, "Expected right back buffer = %p, got %p.\n", backbuffer, stereo_buffer);
+        IDirect3DSurface8_Release(stereo_buffer);
+        hr = IDirect3DSwapChain8_GetBackBuffer(swapchain3, 0, (D3DBACKBUFFER_TYPE)0xdeadbeef, &stereo_buffer);
+        ok(SUCCEEDED(hr), "Failed to get the back buffer, hr %#x.\n", hr);
+        ok(stereo_buffer == backbuffer, "Expected unknown buffer = %p, got %p.\n", backbuffer, stereo_buffer);
+        IDirect3DSurface8_Release(stereo_buffer);
+
         backbuffer = (void *) 0xdeadbeef;
         hr = IDirect3DSwapChain8_GetBackBuffer(swapchain3, 1, 0, &backbuffer);
         ok(SUCCEEDED(hr), "Failed to get the 2nd back buffer (%#08x)\n", hr);




More information about the wine-cvs mailing list