From c6795afcddb8dc6f0e310a242525b6dbd649bd88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B3zef=20Kucia?= Date: Thu, 5 Jan 2017 11:50:50 +0100 Subject: [PATCH] d3d9/tests: Do not assume surface size and format in get_rt_readback(). MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Józef Kucia Signed-off-by: Henri Verbeet Signed-off-by: Alexandre Julliard --- dlls/d3d9/tests/visual.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c index b1916c436f3..4d65649ce8c 100644 --- a/dlls/d3d9/tests/visual.c +++ b/dlls/d3d9/tests/visual.c @@ -129,12 +129,16 @@ struct surface_readback static void get_rt_readback(IDirect3DSurface9 *surface, struct surface_readback *rb) { IDirect3DDevice9 *device; + D3DSURFACE_DESC desc; HRESULT hr; memset(rb, 0, sizeof(*rb)); - IDirect3DSurface9_GetDevice(surface, &device); - hr = IDirect3DDevice9_CreateOffscreenPlainSurface(device, 640, 480, - D3DFMT_A8R8G8B8, D3DPOOL_SYSTEMMEM, &rb->surface, NULL); + hr = IDirect3DSurface9_GetDevice(surface, &device); + ok(SUCCEEDED(hr), "Failed to get device, hr %#x.\n", hr); + hr = IDirect3DSurface9_GetDesc(surface, &desc); + ok(SUCCEEDED(hr), "Failed to get surface desc, hr %#x.\n", hr); + hr = IDirect3DDevice9_CreateOffscreenPlainSurface(device, desc.Width, desc.Height, + desc.Format, D3DPOOL_SYSTEMMEM, &rb->surface, NULL); if (FAILED(hr) || !rb->surface) { trace("Can't create an offscreen plain surface to read the render target data, hr %#x.\n", hr);