From 2e8e2da5ee22779eb77e04bc851ccbfb83749d62 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Stefan=20D=C3=B6singer?= Date: Tue, 8 Sep 2015 10:24:48 +0200 Subject: [PATCH] d3d9/tests: Test D3DBACKBUFFER_TYPE. --- dlls/d3d9/tests/device.c | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/dlls/d3d9/tests/device.c b/dlls/d3d9/tests/device.c index c41a5e6c1c2..3bf0ff2137e 100644 --- a/dlls/d3d9/tests/device.c +++ b/dlls/d3d9/tests/device.c @@ -1053,7 +1053,7 @@ static void test_swapchain(void) IDirect3DSwapChain9 *swapchain2; IDirect3DSwapChain9 *swapchain3; IDirect3DSwapChain9 *swapchainX; - IDirect3DSurface9 *backbuffer; + IDirect3DSurface9 *backbuffer, *stereo_buffer; D3DPRESENT_PARAMETERS d3dpp; IDirect3DDevice9 *device; IDirect3D9 *d3d; @@ -1103,6 +1103,33 @@ static void test_swapchain(void) ok(backbuffer != NULL, "The back buffer is NULL\n"); if(backbuffer) IDirect3DSurface9_Release(backbuffer); + /* The back buffer type value is ignored. */ + hr = IDirect3DSwapChain9_GetBackBuffer(swapchain0, 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); + IDirect3DSurface9_Release(stereo_buffer); + hr = IDirect3DSwapChain9_GetBackBuffer(swapchain0, 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); + IDirect3DSurface9_Release(stereo_buffer); + hr = IDirect3DSwapChain9_GetBackBuffer(swapchain0, 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); + IDirect3DSurface9_Release(stereo_buffer); + + hr = IDirect3DDevice9_GetBackBuffer(device, 0, 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); + IDirect3DSurface9_Release(stereo_buffer); + hr = IDirect3DDevice9_GetBackBuffer(device, 0, 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); + IDirect3DSurface9_Release(stereo_buffer); + hr = IDirect3DDevice9_GetBackBuffer(device, 0, 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); + IDirect3DSurface9_Release(stereo_buffer); + /* Try to get a nonexistent swapchain */ hr = IDirect3DDevice9_GetSwapChain(device, 1, &swapchainX); ok(hr == D3DERR_INVALIDCALL, "GetSwapChain on an nonexistent swapchain returned (%08x)\n", hr); -- 2.11.4.GIT