d3dx9/tests: Add basic tests for D3DXCreateRenderToSurface.
This commit is contained in:
parent
ad5a00b7f8
commit
4200198355
|
@ -446,6 +446,44 @@ static void test_ID3DXFont(IDirect3DDevice9 *device)
|
||||||
} else skip("Failed to create a ID3DXFont object\n");
|
} else skip("Failed to create a ID3DXFont object\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void test_D3DXCreateRenderToSurface(IDirect3DDevice9 *device)
|
||||||
|
{
|
||||||
|
HRESULT hr;
|
||||||
|
ULONG ref_count;
|
||||||
|
ID3DXRenderToSurface *render = (void *)0xdeadbeef;
|
||||||
|
|
||||||
|
hr = D3DXCreateRenderToSurface(NULL /* device */, 256, 256, D3DFMT_A8R8G8B8, FALSE, D3DFMT_UNKNOWN, &render);
|
||||||
|
ok(hr == D3DERR_INVALIDCALL, "D3DXCreateRenderToSurface returned %#x, expected %#x\n", hr, D3DERR_INVALIDCALL);
|
||||||
|
ok(render == (void *)0xdeadbeef, "Got %p, expected %p\n", render, (void *)0xdeadbeef);
|
||||||
|
|
||||||
|
hr = D3DXCreateRenderToSurface(device, 256, 256, D3DFMT_A8R8G8B8, FALSE, D3DFMT_UNKNOWN, NULL /* out */);
|
||||||
|
ok(hr == D3DERR_INVALIDCALL, "D3DXCreateRenderToSurface returned %#x, expected %#x\n", hr, D3DERR_INVALIDCALL);
|
||||||
|
|
||||||
|
todo_wine {
|
||||||
|
hr = D3DXCreateRenderToSurface(device, 0 /* width */, 256, D3DFMT_A8R8G8B8, FALSE, D3DFMT_UNKNOWN, &render);
|
||||||
|
ok(hr == D3D_OK, "D3DXCreateRenderToSurface returned %#x, expected %#x\n", hr, D3D_OK);
|
||||||
|
if (SUCCEEDED(hr)) ID3DXRenderToSurface_Release(render);
|
||||||
|
|
||||||
|
hr = D3DXCreateRenderToSurface(device, 256, 0 /* height */, D3DFMT_A8R8G8B8, FALSE, D3DFMT_UNKNOWN, &render);
|
||||||
|
ok(hr == D3D_OK, "D3DXCreateRenderToSurface returned %#x, expected %#x\n", hr, D3D_OK);
|
||||||
|
if (SUCCEEDED(hr)) ID3DXRenderToSurface_Release(render);
|
||||||
|
|
||||||
|
hr = D3DXCreateRenderToSurface(device, 256, 256, D3DFMT_UNKNOWN /* format */, FALSE, D3DFMT_UNKNOWN, &render);
|
||||||
|
ok(hr == D3D_OK, "D3DXCreateRenderToSurface returned %#x, expected %#x\n", hr, D3D_OK);
|
||||||
|
if (SUCCEEDED(hr)) ID3DXRenderToSurface_Release(render);
|
||||||
|
|
||||||
|
hr = D3DXCreateRenderToSurface(device, 0, 0, D3DFMT_UNKNOWN, FALSE, D3DFMT_UNKNOWN, &render);
|
||||||
|
ok(hr == D3D_OK, "D3DXCreateRenderToSurface returned %#x, expected %#x\n", hr, D3D_OK);
|
||||||
|
if (SUCCEEDED(hr)) ID3DXRenderToSurface_Release(render);
|
||||||
|
|
||||||
|
/* check device ref count */
|
||||||
|
ref_count = get_ref((IUnknown *)device);
|
||||||
|
hr = D3DXCreateRenderToSurface(device, 0, 0, D3DFMT_UNKNOWN, FALSE, D3DFMT_UNKNOWN, &render);
|
||||||
|
check_ref((IUnknown *)device, ref_count + 1);
|
||||||
|
if (SUCCEEDED(hr)) ID3DXRenderToSurface_Release(render);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
START_TEST(core)
|
START_TEST(core)
|
||||||
{
|
{
|
||||||
HWND wnd;
|
HWND wnd;
|
||||||
|
@ -480,6 +518,7 @@ START_TEST(core)
|
||||||
test_ID3DXBuffer();
|
test_ID3DXBuffer();
|
||||||
test_ID3DXSprite(device);
|
test_ID3DXSprite(device);
|
||||||
test_ID3DXFont(device);
|
test_ID3DXFont(device);
|
||||||
|
test_D3DXCreateRenderToSurface(device);
|
||||||
|
|
||||||
check_release((IUnknown*)device, 0);
|
check_release((IUnknown*)device, 0);
|
||||||
check_release((IUnknown*)d3d, 0);
|
check_release((IUnknown*)d3d, 0);
|
||||||
|
|
Loading…
Reference in New Issue