summaryrefslogtreecommitdiff
path: root/vendor/winapi/src/shared/dxgi1_6.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/winapi/src/shared/dxgi1_6.rs')
-rw-r--r--vendor/winapi/src/shared/dxgi1_6.rs98
1 files changed, 98 insertions, 0 deletions
diff --git a/vendor/winapi/src/shared/dxgi1_6.rs b/vendor/winapi/src/shared/dxgi1_6.rs
new file mode 100644
index 0000000..30af205
--- /dev/null
+++ b/vendor/winapi/src/shared/dxgi1_6.rs
@@ -0,0 +1,98 @@
+// Licensed under the Apache License, Version 2.0
+// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
+// All files in the project carrying such notice may not be copied, modified, or distributed
+// except according to those terms.
+//! Mappings for the contents of dxgi1_6.h
+use ctypes::c_void;
+use shared::basetsd::SIZE_T;
+use shared::dxgi1_2::{
+ DXGI_COMPUTE_PREEMPTION_GRANULARITY, DXGI_GRAPHICS_PREEMPTION_GRANULARITY,
+};
+use shared::dxgi1_4::{IDXGIAdapter3, IDXGIAdapter3Vtbl};
+use shared::dxgi1_5::{IDXGIFactory5, IDXGIFactory5Vtbl, IDXGIOutput5, IDXGIOutput5Vtbl};
+use shared::dxgitype::{DXGI_COLOR_SPACE_TYPE, DXGI_MODE_ROTATION};
+use shared::guiddef::REFIID;
+use shared::minwindef::{BOOL, FLOAT, UINT};
+use shared::windef::{HMONITOR, RECT};
+use um::winnt::{HRESULT, LUID, WCHAR};
+ENUM!{enum DXGI_ADAPTER_FLAG3 {
+ DXGI_ADAPTER_FLAG3_NONE = 0,
+ DXGI_ADAPTER_FLAG3_REMOTE = 1,
+ DXGI_ADAPTER_FLAG3_SOFTWARE = 2,
+ DXGI_ADAPTER_FLAG3_ACG_COMPATIBLE = 4,
+ DXGI_ADAPTER_FLAG3_SUPPORT_MONITORED_FENCES = 8,
+ DXGI_ADAPTER_FLAG3_SUPPORT_NON_MONITORED_FENCES = 0x10,
+ DXGI_ADAPTER_FLAG3_KEYED_MUTEX_CONFORMANCE = 0x20,
+ DXGI_ADAPTER_FLAG3_FORCE_DWORD = 0xFFFFFFFF,
+}}
+STRUCT!{struct DXGI_ADAPTER_DESC3 {
+ Description: [WCHAR; 128],
+ VendorID: UINT,
+ DeviceID: UINT,
+ SubSysID: UINT,
+ Revision: UINT,
+ DedicatedVideoMemory: SIZE_T,
+ DedicatedSystemMemory: SIZE_T,
+ SharedSystemMemory: SIZE_T,
+ AdapterLuid: LUID,
+ Flags: DXGI_ADAPTER_FLAG3,
+ GraphicsPreemptionGranularity: DXGI_GRAPHICS_PREEMPTION_GRANULARITY,
+ ComputePreemptionGranularity: DXGI_COMPUTE_PREEMPTION_GRANULARITY,
+}}
+RIDL!{#[uuid(0x3c8d99d1, 0x4fbf, 0x4181, 0xa8, 0x2c, 0xaf, 0x66, 0xbf, 0x7b, 0xd2, 0x4e)]
+interface IDXGIAdapter4(IDXGIAdapter4Vtbl): IDXGIAdapter3(IDXGIAdapter3Vtbl) {
+ fn GetDesc3(
+ pDesc: *mut DXGI_ADAPTER_DESC3,
+ ) -> HRESULT,
+}}
+STRUCT!{struct DXGI_OUTPUT_DESC1 {
+ DeviceName: [WCHAR; 32],
+ DesktopCoordinates: RECT,
+ AttachedToDesktop: BOOL,
+ Rotation: DXGI_MODE_ROTATION,
+ Monitor: HMONITOR,
+ BitsPerColor: UINT,
+ ColorSpace: DXGI_COLOR_SPACE_TYPE,
+ RedPrimary: [FLOAT; 2],
+ GreenPrimary: [FLOAT; 2],
+ BluePrimary: [FLOAT; 2],
+ WhitePoint: [FLOAT; 2],
+ MinLuminance: FLOAT,
+ MaxLuminance: FLOAT,
+ MaxFullFrameLuminance: FLOAT,
+}}
+ENUM!{enum DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS {
+ DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_FULLSCREEN = 1,
+ DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_WINDOWED = 2,
+ DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_CURSOR_STRETCHED = 4,
+}}
+RIDL!{#[uuid(0x068346e8, 0xaaec, 0x4b84, 0xad, 0xd7, 0x13, 0x7f, 0x51, 0x3f, 0x77, 0xa1)]
+interface IDXGIOutput6(IDXGIOutput6Vtbl): IDXGIOutput5(IDXGIOutput5Vtbl) {
+ fn GetDesc1(
+ pDesc: *mut DXGI_OUTPUT_DESC1,
+ ) -> HRESULT,
+ fn CheckHardwareCompositionSupport(
+ pFlags: *mut UINT,
+ ) -> HRESULT,
+}}
+ENUM!{enum DXGI_GPU_PREFERENCE {
+ DXGI_GPU_PREFERENCE_UNSPECIFIED = 0,
+ DXGI_GPU_PREFERENCE_MINIMUM_POWER = 1,
+ DXGI_GPU_PREFERENCE_HIGH_PERFORMANCE = 2,
+}}
+RIDL!{#[uuid(0xc1b6694f, 0xff09, 0x44a9, 0xb0, 0x3c, 0x77, 0x90, 0x0a, 0x0a, 0x1d, 0x17)]
+interface IDXGIFactory6(IDXGIFactory6Vtbl): IDXGIFactory5(IDXGIFactory5Vtbl) {
+ fn EnumAdapterByGpuPreference(
+ Adapter: UINT,
+ GpuPreference: DXGI_GPU_PREFERENCE,
+ riid: REFIID,
+ ppvAdapter: *mut *mut c_void,
+ ) -> HRESULT,
+}}
+DEFINE_GUID!{IID_IDXGIAdapter4,
+ 0x3c8d99d1, 0x4fbf, 0x4181, 0xa8, 0x2c, 0xaf, 0x66, 0xbf, 0x7b, 0xd2, 0x4e}
+DEFINE_GUID!{IID_IDXGIOutput6,
+ 0x068346e8, 0xaaec, 0x4b84, 0xad, 0xd7, 0x13, 0x7f, 0x51, 0x3f, 0x77, 0xa1}
+DEFINE_GUID!{IID_IDXGIFactory6,
+ 0xc1b6694f, 0xff09, 0x44a9, 0xb0, 0x3c, 0x77, 0x90, 0x0a, 0x0a, 0x1d, 0x17}