On 4 April 2014 11:51, Stefan Dösinger <stefan(a)codeweavers.com> wrote:
+ hr = IDirect3DDevice9_CreateTexture(device, 4, 4, 2, 0, D3DFMT_X8R8G8B8, + D3DPOOL_DEFAULT, &texture_dst, NULL); + ok(SUCCEEDED(hr), "Failed to create texture, hr %#x.\n", hr); + hr = IDirect3DTexture9_GetSurfaceLevel(texture_dst, 0, &surface_dst); + ok(SUCCEEDED(hr), "Failed to get surface level, hr %#x.\n", hr); + hr = IDirect3DTexture9_GetSurfaceLevel(texture_dst, 0, &surface_dst2); + ok(SUCCEEDED(hr), "Failed to get surface level, hr %#x.\n", hr); + This gets two references to the same surface level, is that intentional?
+ hr = IDirect3DDevice9_UpdateSurface(device, surface, NULL, surface_dst, NULL); + ok(SUCCEEDED(hr), "Failed to update surface, hr %#x.\n", hr); + hr = IDirect3DDevice9_UpdateSurface(device, surface2, NULL, surface_dst2, NULL); + todo_wine ok(hr == D3DERR_INVALIDCALL, "Got unexpected hr %#x.\n", hr); + Doesn't this just fail because the surface sizes are different? (Although I would have expected this to work.)