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

dxgi/tests: Add test for creating IDXGIFactory2.

parent 6d6dd78e
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
#include <assert.h> #include <assert.h>
#define COBJMACROS #define COBJMACROS
#include "initguid.h" #include "initguid.h"
#include "dxgi1_6.h"
#include "d3d11.h" #include "d3d11.h"
#include "wine/test.h" #include "wine/test.h"
...@@ -2305,6 +2306,7 @@ static void test_create_factory(void) ...@@ -2305,6 +2306,7 @@ static void test_create_factory(void)
{ {
IDXGIFactory1 *factory; IDXGIFactory1 *factory;
IUnknown *iface; IUnknown *iface;
ULONG refcount;
HRESULT hr; HRESULT hr;
iface = (void *)0xdeadbeef; iface = (void *)0xdeadbeef;
...@@ -2333,6 +2335,17 @@ static void test_create_factory(void) ...@@ -2333,6 +2335,17 @@ static void test_create_factory(void)
ok(hr == E_NOINTERFACE, "Got unexpected hr %#x.\n", hr); ok(hr == E_NOINTERFACE, "Got unexpected hr %#x.\n", hr);
ok(!iface, "Got unexpected iface %p.\n", iface); ok(!iface, "Got unexpected iface %p.\n", iface);
iface = NULL;
hr = CreateDXGIFactory(&IID_IDXGIFactory2, (void **)&iface);
todo_wine
ok(hr == S_OK || broken(hr == E_NOINTERFACE) /* Not available on all Windows versions. */,
"Got unexpected hr %#x.\n", hr);
if (SUCCEEDED(hr))
{
refcount = IUnknown_Release(iface);
ok(!refcount, "Factory has %u references left.\n", refcount);
}
if (!pCreateDXGIFactory1) if (!pCreateDXGIFactory1)
{ {
win_skip("CreateDXGIFactory1 not available, skipping tests.\n"); win_skip("CreateDXGIFactory1 not available, skipping tests.\n");
...@@ -2362,6 +2375,17 @@ static void test_create_factory(void) ...@@ -2362,6 +2375,17 @@ static void test_create_factory(void)
hr = pCreateDXGIFactory1(&IID_IDXGIFactory1, (void **)&iface); hr = pCreateDXGIFactory1(&IID_IDXGIFactory1, (void **)&iface);
ok(SUCCEEDED(hr), "Failed to create factory with IID_IDXGIFactory1, hr %#x.\n", hr); ok(SUCCEEDED(hr), "Failed to create factory with IID_IDXGIFactory1, hr %#x.\n", hr);
IUnknown_Release(iface); IUnknown_Release(iface);
iface = NULL;
hr = pCreateDXGIFactory1(&IID_IDXGIFactory2, (void **)&iface);
todo_wine
ok(hr == S_OK || broken(hr == E_NOINTERFACE) /* Not available on all Windows versions. */,
"Got unexpected hr %#x.\n", hr);
if (SUCCEEDED(hr))
{
refcount = IUnknown_Release(iface);
ok(!refcount, "Factory has %u references left.\n", refcount);
}
} }
static void test_private_data(void) static void test_private_data(void)
......
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