qt: add device preferences for mmdevice
[vlc.git] / contrib / src / d3d11 / dxgi1_4.idl
blob9467f3f6b9912dd3c81ac0149c54e93b87333b0c
1 /*
2 * Copyright 2016 Steve Lhomme
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 import "dxgi1_3.idl";
21 typedef enum DXGI_COLOR_SPACE_TYPE {
22 DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709 = 0,
23 DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709 = 1,
24 DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P709 = 2,
25 DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P2020 = 3,
26 DXGI_COLOR_SPACE_RESERVED = 4,
27 DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601 = 5,
28 DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601 = 6,
29 DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P601 = 7,
30 DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709 = 8,
31 DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P709 = 9,
32 DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020 = 10,
33 DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020 = 11,
34 DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020 = 12,
35 DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_LEFT_P2020 = 13,
36 DXGI_COLOR_SPACE_RGB_STUDIO_G2084_NONE_P2020 = 14,
37 DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_TOPLEFT_P2020 = 15,
38 DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_TOPLEFT_P2020 = 16,
39 DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P2020 = 17,
40 DXGI_COLOR_SPACE_CUSTOM = 0xFFFFFFFF,
41 } DXGI_COLOR_SPACE_TYPE;
44 object,
45 local,
46 uuid(94d99bdb-f1f8-4ab0-b236-7da0170edab1)
48 interface IDXGISwapChain3 : IDXGISwapChain2
50 UINT GetCurrentBackBufferIndex();
52 HRESULT CheckColorSpaceSupport(
53 [in] DXGI_COLOR_SPACE_TYPE ColorSpace,
54 [out] UINT* pColorSpaceSupport
57 HRESULT SetColorSpace1(
58 [in] DXGI_COLOR_SPACE_TYPE ColorSpace
61 HRESULT ResizeBuffers1(
62 [in] UINT BufferCount,
63 [in] UINT Width,
64 [in] UINT Height,
65 [in] DXGI_FORMAT Format,
66 [in] UINT SwapChainFlags,
67 [in] const UINT* pCreationNodeMask,
68 [in] IUnknown* const* ppPresentQueue
72 typedef enum DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG
74 DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_PRESENT = 0x01,
75 DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_OVERLAY_PRESENT = 0x02,
76 } DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG;
79 object,
80 local,
81 uuid(1bc6ea02-ef36-464f-bf0c-21ca39e5168a)
83 interface IDXGIFactory4 : IDXGIFactory3
85 HRESULT EnumAdapterByLuid(
86 [in] LUID AdapterLuid,
87 [in] REFIID riid,
88 [out] void **ppvAdapter
90 HRESULT EnumWarpAdapter(
91 [in] REFIID riid,
92 [out] void **ppvAdapter
97 object,
98 local,
99 uuid(dc7dca35-2196-414d-9F53-617884032a60)
101 interface IDXGIOutput4 : IDXGIOutput3
103 HRESULT CheckOverlayColorSpaceSupport(
104 [in] DXGI_FORMAT Format,
105 [in] DXGI_COLOR_SPACE_TYPE ColorSpace,
106 [in] IUnknown *pConcernedDevice,
107 [out] UINT *pFlags