diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c index bc44dbd89a0..a079acffe47 100644 --- a/dlls/d3d11/tests/d3d11.c +++ b/dlls/d3d11/tests/d3d11.c @@ -1612,6 +1612,27 @@ static void test_create_rasterizer_state(void) ok(!refcount, "Device has %u references left.\n", refcount); } +static void test_device_removed_reason(void) +{ + ID3D11Device *device; + ULONG refcount; + HRESULT hr; + + if (!(device = create_device(NULL))) + { + skip("Failed to create device.\n"); + return; + } + + hr = ID3D11Device_GetDeviceRemovedReason(device); + ok(hr == S_OK, "Got unexpected hr %#x.\n", hr); + hr = ID3D11Device_GetDeviceRemovedReason(device); + ok(hr == S_OK, "Got unexpected hr %#x.\n", hr); + + refcount = ID3D11Device_Release(device); + ok(!refcount, "Device has %u references left.\n", refcount); +} + START_TEST(d3d11) { test_create_device(); @@ -1628,4 +1649,5 @@ START_TEST(d3d11) test_create_shader(); test_create_depthstencil_state(); test_create_rasterizer_state(); + test_device_removed_reason(); }