1 module aurora.directx.dxgi.dxgi1_6;
2 
3 import aurora.directx.com;
4 public import aurora.directx.dxgi.dxgi1_5;
5 
6 public:
7 
8 ///
9 /// Constants
10 ///
11 
12 ///
13 /// Functions
14 ///
15 
16 ///
17 /// Enumerations
18 ///
19 
20 enum DXGI_ADAPTER_FLAG3
21 {
22     NONE = 0,
23     REMOTE = 1,
24     SOFTWARE = 2,
25     ACG_COMPATIBLE = 4,
26     SUPPORT_MONITORED_FENCES = 8,
27     SUPPORT_NON_MONITORED_FENCES = 0x10,
28     KEYED_MUTEX_CONFORMANCE	= 0x20,
29     FORCE_DWORD	= 0xffffffff
30 }
31 
32 enum DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS
33 {
34     FULLSCREEN= 1,
35     WINDOWED = 2,
36     CURSOR_STRETCHED = 4
37 }
38 
39 ///
40 /// Structures
41 ///
42 
43 struct DXGI_ADAPTER_DESC3
44 {
45     wchar[128] Description;
46     uint VendorId;
47     uint DeviceId;
48     uint SubSysId;
49     uint Revision;
50     size_t DedicatedVideoMemory;
51     size_t DedicatedSystemMemory;
52     size_t SharedSystemMemory;
53     LUID AdapterLuid;
54     DXGI_ADAPTER_FLAG3 Flags;
55     DXGI_GRAPHICS_PREEMPTION_GRANULARITY GraphicsPreemptionGranularity;
56     DXGI_COMPUTE_PREEMPTION_GRANULARITY ComputePreemptionGranularity;
57 }
58 
59 struct DXGI_OUTPUT_DESC1
60 {
61     wchar[32] DeviceName;
62     RECT DesktopCoordinates;
63     bool AttachedToDesktop;
64     DXGI_MODE_ROTATION Rotation;
65     HMONITOR Monitor;
66     uint BitsPerColor;
67     DXGI_COLOR_SPACE_TYPE ColorSpace;
68     float[2] RedPrimary;
69     float[2] GreenPrimary;
70     float[2] BluePrimary;
71     float[2] WhitePoint;
72     float MinLuminance;
73     float MaxLuminance;
74     float MaxFullFrameLuminance;
75 }
76 
77 ///
78 /// Interfaces
79 ///
80 
81 mixin(uuid!(IDXGIAdapter4, "3c8d99d1-4fbf-4181-a82c-af66bf7bd24e"));
82 public interface IDXGIAdapter4 : IDXGIAdapter3
83 {
84 extern(Windows):
85     HRESULT GetDesc3(DXGI_ADAPTER_DESC3 *pDesc);
86 }
87 
88 mixin(uuid!(IDXGIOutput6, "068346e8-aaec-4b84-add7-137f513f77a1"));
89 public interface IDXGIOutput6 : IDXGIOutput5
90 {
91 extern(Windows):
92     HRESULT GetDesc1(DXGI_OUTPUT_DESC1 *pDesc);
93 }