d3d9/tests: Add a basic test for default value and limits of max frame latency parameter.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
f7926c0793
commit
c39b87fff8
|
@ -4043,6 +4043,55 @@ static void test_device_caps(void)
|
||||||
DestroyWindow(window);
|
DestroyWindow(window);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void test_frame_latency(void)
|
||||||
|
{
|
||||||
|
IDirect3DDevice9Ex *device;
|
||||||
|
ULONG refcount;
|
||||||
|
UINT latency;
|
||||||
|
HWND window;
|
||||||
|
HRESULT hr;
|
||||||
|
|
||||||
|
window = create_window();
|
||||||
|
if (!(device = create_device(window, NULL)))
|
||||||
|
{
|
||||||
|
skip("Failed to create a D3D device.\n");
|
||||||
|
DestroyWindow(window);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr = IDirect3DDevice9Ex_GetMaximumFrameLatency(device, &latency);
|
||||||
|
todo_wine {
|
||||||
|
ok(SUCCEEDED(hr), "Failed to get max frame latency, hr %#x.\n", hr);
|
||||||
|
ok(latency == 3, "Unexpected default max frame latency %u.\n", latency);
|
||||||
|
}
|
||||||
|
hr = IDirect3DDevice9Ex_SetMaximumFrameLatency(device, 1);
|
||||||
|
ok(SUCCEEDED(hr), "Failed to set max frame latency, hr %#x.\n", hr);
|
||||||
|
|
||||||
|
hr = IDirect3DDevice9Ex_GetMaximumFrameLatency(device, &latency);
|
||||||
|
todo_wine {
|
||||||
|
ok(SUCCEEDED(hr), "Failed to get max frame latency, hr %#x.\n", hr);
|
||||||
|
ok(latency == 1, "Unexpected max frame latency %u.\n", latency);
|
||||||
|
}
|
||||||
|
hr = IDirect3DDevice9Ex_SetMaximumFrameLatency(device, 0);
|
||||||
|
ok(SUCCEEDED(hr), "Failed to set max frame latency, hr %#x.\n", hr);
|
||||||
|
|
||||||
|
hr = IDirect3DDevice9Ex_GetMaximumFrameLatency(device, &latency);
|
||||||
|
todo_wine {
|
||||||
|
ok(SUCCEEDED(hr), "Failed to get max frame latency, hr %#x.\n", hr);
|
||||||
|
ok(latency == 3, "Unexpected default max frame latency %u.\n", latency);
|
||||||
|
}
|
||||||
|
hr = IDirect3DDevice9Ex_SetMaximumFrameLatency(device, 30);
|
||||||
|
ok(SUCCEEDED(hr), "Failed to set max frame latency, hr %#x.\n", hr);
|
||||||
|
|
||||||
|
hr = IDirect3DDevice9Ex_SetMaximumFrameLatency(device, 31);
|
||||||
|
todo_wine
|
||||||
|
ok(hr == D3DERR_INVALIDCALL, "Unexpected hr %#x.\n", hr);
|
||||||
|
|
||||||
|
refcount = IDirect3DDevice9Ex_Release(device);
|
||||||
|
ok(!refcount, "Device has %u references left.\n", refcount);
|
||||||
|
DestroyWindow(window);
|
||||||
|
}
|
||||||
|
|
||||||
START_TEST(d3d9ex)
|
START_TEST(d3d9ex)
|
||||||
{
|
{
|
||||||
DEVMODEW current_mode;
|
DEVMODEW current_mode;
|
||||||
|
@ -4093,4 +4142,5 @@ START_TEST(d3d9ex)
|
||||||
test_backbuffer_resize();
|
test_backbuffer_resize();
|
||||||
test_format_unknown();
|
test_format_unknown();
|
||||||
test_device_caps();
|
test_device_caps();
|
||||||
|
test_frame_latency();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue