Module: wine Branch: master Commit: 7f3f5dd1eb4e4a7516cb6cc1d581b78eece31c36 URL: http://source.winehq.org/git/wine.git/?a=commit;h=7f3f5dd1eb4e4a7516cb6cc1d5...
Author: Józef Kucia joseph.kucia@gmail.com Date: Sun Mar 25 15:40:42 2012 +0200
d3dx9/tests: Add tests for D3DXCreateCubeTextureFromFileInMemory.
---
dlls/d3dx9_36/tests/surface.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 41 insertions(+), 0 deletions(-)
diff --git a/dlls/d3dx9_36/tests/surface.c b/dlls/d3dx9_36/tests/surface.c index 0082dbb..1a39ed7 100644 --- a/dlls/d3dx9_36/tests/surface.c +++ b/dlls/d3dx9_36/tests/surface.c @@ -739,6 +739,46 @@ static void test_D3DXLoadSurface(IDirect3DDevice9 *device) if(testbitmap_ok) DeleteFileA("testbitmap.bmp"); }
+static void test_D3DXCreateCubeTexture(IDirect3DDevice9 *device) +{ + HRESULT hr; + ULONG ref; + DWORD levelcount; + IDirect3DCubeTexture9 *cube_texture; + D3DSURFACE_DESC surface_desc; + + todo_wine { + hr = D3DXCreateCubeTextureFromFileInMemory(NULL, dds_cube_map, sizeof(dds_cube_map), &cube_texture); + ok(hr == D3DERR_INVALIDCALL, "D3DXCreateCubeTextureFromFileInMemory returned %#x, expected %#x\n", hr, D3DERR_INVALIDCALL); + + hr = D3DXCreateCubeTextureFromFileInMemory(device, NULL, sizeof(dds_cube_map), &cube_texture); + ok(hr == D3DERR_INVALIDCALL, "D3DXCreateCubeTextureFromFileInMemory returned %#x, expected %#x\n", hr, D3DERR_INVALIDCALL); + + hr = D3DXCreateCubeTextureFromFileInMemory(device, dds_cube_map, 0, &cube_texture); + ok(hr == D3DERR_INVALIDCALL, "D3DXCreateCubeTextureFromFileInMemory returned %#x, expected %#x\n", hr, D3DERR_INVALIDCALL); + + hr = D3DXCreateCubeTextureFromFileInMemory(device, dds_cube_map, sizeof(dds_cube_map), NULL); + ok(hr == D3DERR_INVALIDCALL, "D3DXCreateCubeTextureFromFileInMemory returned %#x, expected %#x\n", hr, D3DERR_INVALIDCALL); + + hr = D3DXCreateCubeTextureFromFileInMemory(device, dds_cube_map, sizeof(dds_cube_map), &cube_texture); + if(SUCCEEDED(hr)) { + levelcount = IDirect3DCubeTexture9_GetLevelCount(cube_texture); + ok(levelcount == 3, "GetLevelCount returned %u, expected 3\n", levelcount); + + hr = IDirect3DCubeTexture9_GetLevelDesc(cube_texture, 0, &surface_desc); + ok(hr == D3D_OK, "GetLevelDesc returned %#x, expected %#x\n", hr, D3D_OK); + ok(surface_desc.Width == 4, "Got width %u, expected 4\n", surface_desc.Width); + ok(surface_desc.Height == 4, "Got height %u, expected 4\n", surface_desc.Height); + + hr = IDirect3DCubeTexture9_GetLevelDesc(cube_texture, 3, &surface_desc); + ok(hr == D3DERR_INVALIDCALL, "GetLevelDesc returned %#x, expected %#x\n", hr, D3DERR_INVALIDCALL); + + ref = IDirect3DCubeTexture9_Release(cube_texture); + ok(ref == 0, "Invalid reference count. Got %u, expected 0\n", ref); + } else skip("Couldn't create cube texture\n"); + } +} + START_TEST(surface) { HWND wnd; @@ -772,6 +812,7 @@ START_TEST(surface)
test_D3DXGetImageInfo(); test_D3DXLoadSurface(device); + test_D3DXCreateCubeTexture(device);
check_release((IUnknown*)device, 0); check_release((IUnknown*)d3d, 0);