1 module aurora.directx.dxgi.dxgi1_5;
2 
3 version(Windows):
4 
5 import aurora.directx.com;
6 public import aurora.directx.dxgi.dxgi1_4;
7 
8 public:
9 
10 ///
11 /// Constants
12 ///
13 
14 ///
15 /// Functions
16 ///
17 
18 ///
19 /// Enumerations
20 ///
21 
22 enum DXGI_OUTDUPL_FLAG
23 {
24     COMPOSITED_UI_CAPTURE_ONLY= 1
25 }
26 
27 enum DXGI_HDR_METADATA_TYPE
28 {
29     NONE = 0,
30     HDR10 = 1
31 }
32 
33 enum DXGI_OFFER_RESOURCE_FLAGS
34 {
35     ALLOW_DECOMMIT= 0x1
36 }
37 
38 enum DXGI_RECLAIM_RESOURCE_RESULTS
39 {
40     OK	= 0,
41     DISCARDED	= 1,
42     NOT_COMMITTED	= 2
43 }
44 
45 enum DXGI_FEATURE
46 {
47     PRESENT_ALLOW_TEARING	= 0
48 }
49 
50 ///
51 /// Structures
52 ///
53 
54 struct DXGI_HDR_METADATA_HDR10
55 {
56     ushort[2] RedPrimary;
57     ushort[2] GreenPrimary;
58     ushort[2] BluePrimary;
59     ushort[2] WhitePoint;
60     uint MaxMasteringLuminance;
61     uint MinMasteringLuminance;
62     ushort MaxContentLightLevel;
63     ushort MaxFrameAverageLightLevel;
64 }
65 
66 ///
67 /// Interfaces
68 ///
69 
70 mixin(uuid!(IDXGIOutput5, "80A07424-AB52-42EB-833C-0C42FD282D98"));
71 public interface IDXGIOutput5 : IDXGISwapChain3
72 {
73 extern(Windows):
74     HRESULT DuplicateOutput1(IUnknown pDevice, uint Flags, uint SupportedFormatsCount, const DXGI_FORMAT *pSupportedFormats, IDXGIOutputDuplication *ppOutputDuplication);
75 }
76 
77 mixin(uuid!(IDXGISwapChain4, "3D585D5A-BD4A-489E-B1F4-3DBCB6452FFB"));
78 public interface IDXGISwapChain4 : IDXGISwapChain3
79 {
80 extern(Windows):
81     HRESULT SetHDRMetaData(DXGI_HDR_METADATA_TYPE Type, uint Size, void *pMetaData);
82 }
83 
84 mixin(uuid!(IDXGIDevice4, "95B4F95F-D8DA-4CA4-9EE6-3B76D5968A10"));
85 public interface IDXGIDevice4 : IDXGIDevice3
86 {
87 extern(Windows):
88     HRESULT OfferResources1(uint NumResources, const(IDXGIResource) *ppResources, DXGI_OFFER_RESOURCE_PRIORITY Priority, uint Flags);
89     HRESULT ReclaimResources1(uint NumResources, const(IDXGIResource) *ppResources, DXGI_RECLAIM_RESOURCE_RESULTS *pResults);
90 }
91 
92 mixin(uuid!(IDXGIFactory5, "7632e1f5-ee65-4dca-87fd-84cd75f8838d"));
93 public interface IDXGIFactory5 : IDXGIFactory4
94 {
95 extern(Windows):
96     HRESULT CheckFeatureSupport(DXGI_FEATURE Feature, void *pFeatureSupportData, uint FeatureSupportDataSize);
97 }