1f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/*
2f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Copyright 2008 Henri Verbeet for CodeWeavers
3f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org *
4f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * This library is free software; you can redistribute it and/or
5f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * modify it under the terms of the GNU Lesser General Public
6f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * License as published by the Free Software Foundation; either
7f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * version 2.1 of the License, or (at your option) any later version.
8f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org *
9f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * This library is distributed in the hope that it will be useful,
10f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * but WITHOUT ANY WARRANTY; without even the implied warranty of
11f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Lesser General Public License for more details.
13f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org *
14f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * You should have received a copy of the GNU Lesser General Public
15f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * License along with this library; if not, write to the Free Software
16f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */
18f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
19f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef __D3D10MISC_H__
20f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define __D3D10MISC_H__
21f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
22f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "d3d10.h"
23f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
24f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifdef __cplusplus
25f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgextern "C" {
26f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif
27f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
28f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef enum D3D10_DRIVER_TYPE {
29f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org	D3D10_DRIVER_TYPE_HARDWARE = 0,
30f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org	D3D10_DRIVER_TYPE_REFERENCE = 1,
31f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org	D3D10_DRIVER_TYPE_NULL	 = 2,
32f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org	D3D10_DRIVER_TYPE_SOFTWARE = 3,
33f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org	D3D10_DRIVER_TYPE_WARP	 = 5, // added by Luca Barbieri in Sep 2010
34f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} D3D10_DRIVER_TYPE;
35f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
36f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgHRESULT WINAPI D3D10CreateDevice(IDXGIAdapter *adapter, D3D10_DRIVER_TYPE driver_type,
37f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org	HMODULE swrast, UINT flags, UINT sdk_version, ID3D10Device **device);
38f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
39f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgHRESULT WINAPI D3D10CreateDeviceAndSwapChain(IDXGIAdapter *adapter, D3D10_DRIVER_TYPE driver_type,
40f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org	HMODULE swrast, UINT flags, UINT sdk_version, DXGI_SWAP_CHAIN_DESC *swapchain_desc,
41f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org	IDXGISwapChain **swapchain, ID3D10Device **device);
42f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
43f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifdef __cplusplus
44f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org}
45f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif
46f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
47f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif /* __D3D10MISC_H__ */
48