[PATCH 2/7] d3d9/tests: Add test for checking D3DUSAGE_AUTOGENMIPMAP support.
Józef Kucia
jkucia at codeweavers.com
Mon Dec 11 03:25:25 CST 2017
Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
dlls/d3d9/tests/device.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)
diff --git a/dlls/d3d9/tests/device.c b/dlls/d3d9/tests/device.c
index 866f435f8368..1a226ec9f1d8 100644
--- a/dlls/d3d9/tests/device.c
+++ b/dlls/d3d9/tests/device.c
@@ -11497,6 +11497,27 @@ static void test_swapchain_parameters(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;
HRESULT hr;
@@ -11538,6 +11559,32 @@ static void test_check_device_format(void)
D3DUSAGE_SOFTWAREPROCESSING, D3DRTYPE_INDEXBUFFER, D3DFMT_INDEX16);
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);
}
--
2.13.6
More information about the wine-devel
mailing list