vkd3d-shader/hlsl: Handle error instructions in add_shader_compilation().
[vkd3d.git] / include / vkd3d_dxgi1_2.idl
blobe7f951ac9172b46496a036d7d9c46044d5851655
1 /*
2 * Copyright 2016 Józef Kucia for CodeWeavers
3 * Copyright 2016 Henri Verbeet for CodeWeavers
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20 import "vkd3d_dxgi.idl";
22 typedef enum DXGI_SCALING
24 DXGI_SCALING_STRETCH = 0x0,
25 DXGI_SCALING_NONE = 0x1,
26 DXGI_SCALING_ASPECT_RATIO_STRETCH = 0x2,
27 DXGI_SCALING_FORCE_DWORD = 0xffffffff,
28 } DXGI_SCALING;
30 typedef enum DXGI_ALPHA_MODE
32 DXGI_ALPHA_MODE_UNSPECIFIED = 0x0,
33 DXGI_ALPHA_MODE_PREMULTIPLIED = 0x1,
34 DXGI_ALPHA_MODE_STRAIGHT = 0x2,
35 DXGI_ALPHA_MODE_IGNORE = 0x3,
36 DXGI_ALPHA_MODE_FORCE_DWORD = 0xffffffff,
37 } DXGI_ALPHA_MODE;
39 typedef struct DXGI_SWAP_CHAIN_DESC1
41 UINT Width;
42 UINT Height;
43 DXGI_FORMAT Format;
44 BOOL Stereo;
45 DXGI_SAMPLE_DESC SampleDesc;
46 DXGI_USAGE BufferUsage;
47 UINT BufferCount;
48 DXGI_SCALING Scaling;
49 DXGI_SWAP_EFFECT SwapEffect;
50 DXGI_ALPHA_MODE AlphaMode;
51 UINT Flags;
52 } DXGI_SWAP_CHAIN_DESC1;
54 typedef struct DXGI_SWAP_CHAIN_FULLSCREEN_DESC DXGI_SWAP_CHAIN_FULLSCREEN_DESC;
55 typedef struct DXGI_PRESENT_PARAMETERS DXGI_PRESENT_PARAMETERS;
58 local,
59 object,
60 uuid(790a45f7-0d42-4876-983a-0a55cfe6f4aa),
61 pointer_default(unique)
63 interface IDXGISwapChain1 : IDXGISwapChain
65 HRESULT GetDesc1(DXGI_SWAP_CHAIN_DESC1 *desc);
66 HRESULT GetFullscreenDesc(DXGI_SWAP_CHAIN_FULLSCREEN_DESC *desc);
67 HRESULT GetHwnd(HWND *hwnd);
68 HRESULT GetCoreWindow(REFIID riid, void **object);
69 HRESULT Present1(UINT sync_interval, UINT flags, const DXGI_PRESENT_PARAMETERS *parameters);
70 BOOL IsTemporaryMonoSupported();
71 HRESULT GetRestrictToOutput(IDXGIOutput **output);
72 HRESULT SetBackgroundColor(const DXGI_RGBA *color);
73 HRESULT GetBackgroundColor(DXGI_RGBA *color);
74 HRESULT SetRotation(DXGI_MODE_ROTATION rotation);
75 HRESULT GetRotation(DXGI_MODE_ROTATION *rotation);
79 local,
80 object,
81 uuid(50c83a1c-e072-4c48-87b0-3630fa36a6d0),
82 pointer_default(unique)
84 interface IDXGIFactory2 : IDXGIFactory1
86 BOOL IsWindowedStereoEnabled();
87 HRESULT CreateSwapChainForHwnd(IUnknown *device, HWND window, const DXGI_SWAP_CHAIN_DESC1 *desc,
88 const DXGI_SWAP_CHAIN_FULLSCREEN_DESC *fullscreen_desc, IDXGIOutput *output, IDXGISwapChain1 **swapchain);
89 HRESULT CreateSwapChainForCoreWindow(IUnknown *device, IUnknown *window, const DXGI_SWAP_CHAIN_DESC1 *desc,
90 IDXGIOutput *output, IDXGISwapChain1 **swapchain);
91 HRESULT GetSharedResourceAdapterLuid(HANDLE resource, LUID *luid);
92 HRESULT RegisterStereoStatusWindow(HWND window, UINT msg, DWORD *cookie);
93 HRESULT RegisterStereoStatusEvent(HANDLE event, DWORD *cookie);
94 void UnregisterStereoStatus(DWORD cookie);
95 HRESULT RegisterOcclusionStatusWindow(HWND window, UINT msg, DWORD *cookie);
96 HRESULT RegisterOcclusionStatusEvent(HANDLE event, DWORD *cookie);
97 void UnregisterOcclusionStatus(DWORD cookie);
98 HRESULT CreateSwapChainForComposition(IUnknown *device, const DXGI_SWAP_CHAIN_DESC1 *desc,
99 IDXGIOutput *output, IDXGISwapChain1 **swapchain);