Commit 0ccc7c09 authored by Józef Kucia's avatar Józef Kucia Committed by Alexandre Julliard

d3d9/tests: Add test for checking D3DUSAGE_AUTOGENMIPMAP support.

parent 6e5df50a
...@@ -11497,6 +11497,27 @@ static void test_swapchain_parameters(void) ...@@ -11497,6 +11497,27 @@ static void test_swapchain_parameters(void)
static void test_check_device_format(void) static void test_check_device_format(void)
{ {
static const D3DFORMAT adapter_formats[] =
{
D3DFMT_A8R8G8B8,
D3DFMT_X8R8G8B8,
};
static const D3DFORMAT mipmap_autogen_formats[] =
{
D3DFMT_R8G8B8,
D3DFMT_A8R8G8B8,
D3DFMT_X8R8G8B8,
D3DFMT_R5G6B5,
D3DFMT_X1R5G5B5,
D3DFMT_A8P8,
D3DFMT_P8,
D3DFMT_A1R5G5B5,
D3DFMT_A4R4G4B4,
};
D3DFORMAT adapter_format, format;
BOOL render_target_supported;
unsigned int i, j;
IDirect3D9 *d3d; IDirect3D9 *d3d;
HRESULT hr; HRESULT hr;
...@@ -11538,6 +11559,32 @@ static void test_check_device_format(void) ...@@ -11538,6 +11559,32 @@ static void test_check_device_format(void)
D3DUSAGE_SOFTWAREPROCESSING, D3DRTYPE_INDEXBUFFER, D3DFMT_INDEX16); D3DUSAGE_SOFTWAREPROCESSING, D3DRTYPE_INDEXBUFFER, D3DFMT_INDEX16);
todo_wine ok(hr == D3DERR_INVALIDCALL, "Got unexpected hr %#x.\n", hr); todo_wine ok(hr == D3DERR_INVALIDCALL, "Got unexpected hr %#x.\n", hr);
for (i = 0; i < ARRAY_SIZE(adapter_formats); ++i)
{
adapter_format = adapter_formats[i];
for (j = 0; j < ARRAY_SIZE(mipmap_autogen_formats); ++j)
{
format = mipmap_autogen_formats[j];
hr = IDirect3D9_CheckDeviceFormat(d3d, 0, D3DDEVTYPE_HAL, adapter_format,
D3DUSAGE_RENDERTARGET, D3DRTYPE_TEXTURE, format);
ok(hr == D3D_OK || hr == D3DERR_NOTAVAILABLE, "Got unexpected hr %#x.\n", hr);
render_target_supported = hr == D3D_OK;
hr = IDirect3D9_CheckDeviceFormat(d3d, 0, D3DDEVTYPE_HAL, adapter_format,
D3DUSAGE_RENDERTARGET | D3DUSAGE_AUTOGENMIPMAP, D3DRTYPE_TEXTURE, format);
if (render_target_supported)
{
ok(hr == D3D_OK || hr == D3DOK_NOAUTOGEN, "Got unexpected hr %#x.\n", hr);
}
else
{
ok(hr == D3DERR_NOTAVAILABLE, "Got unexpected hr %#x.\n", hr);
}
}
}
IDirect3D9_Release(d3d); IDirect3D9_Release(d3d);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment