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
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
;
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
,
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
;
81 uuid(1bc6ea02
-ef36
-464f
-bf0c
-21ca39e5168a
)
83 interface IDXGIFactory4
: IDXGIFactory3
85 HRESULT EnumAdapterByLuid
(
86 [in] LUID AdapterLuid
,
88 [out] void **ppvAdapter
90 HRESULT EnumWarpAdapter
(
92 [out] void **ppvAdapter
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
,