Module: wine Branch: master Commit: c6795afcddb8dc6f0e310a242525b6dbd649bd88 URL: http://source.winehq.org/git/wine.git/?a=commit;h=c6795afcddb8dc6f0e310a2425...
Author: Józef Kucia jkucia@codeweavers.com Date: Thu Jan 5 11:50:50 2017 +0100
d3d9/tests: Do not assume surface size and format in get_rt_readback().
Signed-off-by: Józef Kucia jkucia@codeweavers.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
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 b1916c4..4d65649 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);