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