On 4 April 2014 11:51, Stefan Dösinger stefan@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.)