aboutsummaryrefslogtreecommitdiff
path: root/vendor/winapi/src/shared/dxgi1_4.rs
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2024-01-08 00:21:28 +0300
committerValentin Popov <valentin@popov.link>2024-01-08 00:21:28 +0300
commit1b6a04ca5504955c571d1c97504fb45ea0befee4 (patch)
tree7579f518b23313e8a9748a88ab6173d5e030b227 /vendor/winapi/src/shared/dxgi1_4.rs
parent5ecd8cf2cba827454317368b68571df0d13d7842 (diff)
downloadfparkan-1b6a04ca5504955c571d1c97504fb45ea0befee4.tar.xz
fparkan-1b6a04ca5504955c571d1c97504fb45ea0befee4.zip
Initial vendor packages
Signed-off-by: Valentin Popov <valentin@popov.link>
Diffstat (limited to 'vendor/winapi/src/shared/dxgi1_4.rs')
-rw-r--r--vendor/winapi/src/shared/dxgi1_4.rs112
1 files changed, 112 insertions, 0 deletions
diff --git a/vendor/winapi/src/shared/dxgi1_4.rs b/vendor/winapi/src/shared/dxgi1_4.rs
new file mode 100644
index 0000000..53269e8
--- /dev/null
+++ b/vendor/winapi/src/shared/dxgi1_4.rs
@@ -0,0 +1,112 @@
+// 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_4.h
+use ctypes::c_void;
+use shared::basetsd::UINT64;
+use shared::dxgi1_2::{IDXGIAdapter2, IDXGIAdapter2Vtbl};
+use shared::dxgi1_3::{
+ IDXGIFactory3, IDXGIFactory3Vtbl, IDXGIOutput3, IDXGIOutput3Vtbl, IDXGISwapChain2,
+ IDXGISwapChain2Vtbl,
+};
+use shared::dxgiformat::DXGI_FORMAT;
+use shared::dxgitype::DXGI_COLOR_SPACE_TYPE;
+use shared::guiddef::REFGUID;
+use shared::minwindef::{DWORD, UINT};
+use um::unknwnbase::IUnknown;
+use um::winnt::{HANDLE, HRESULT, LUID};
+ENUM!{enum DXGI_MEMORY_SEGMENT_GROUP {
+ DXGI_MEMORY_SEGMENT_GROUP_LOCAL = 0,
+ DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL = 1,
+}}
+ENUM!{enum DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG {
+ DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG_PRESENT = 0x1,
+}}
+ENUM!{enum DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG {
+ DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_PRESENT = 0x1,
+ DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_OVERLAY_PRESENT = 0x2,
+}}
+STRUCT!{struct DXGI_QUERY_VIDEO_MEMORY_INFO {
+ Budget: UINT64,
+ CurrentUsage: UINT64,
+ AvailableForReservation: UINT64,
+ CurrentReservation: UINT64,
+}}
+RIDL!{#[uuid(0x645967a4, 0x1392, 0x4310, 0xa7, 0x98, 0x80, 0x53, 0xce, 0x3e, 0x93, 0xfd)]
+interface IDXGIAdapter3(IDXGIAdapter3Vtbl): IDXGIAdapter2(IDXGIAdapter2Vtbl) {
+ fn RegisterHardwareContentProtectionTeardownStatusEvent(
+ hEvent: HANDLE,
+ pdwCookie: *mut DWORD,
+ ) -> HRESULT,
+ fn UnregisterHardwareContentProtectionTeardownStatus(
+ dwCookie: DWORD,
+ ) -> (),
+ fn QueryVideoMemoryInfo(
+ NodeIndex: UINT,
+ MemorySegmentGroup: DXGI_MEMORY_SEGMENT_GROUP,
+ pVideoMemoryInfo: *mut DXGI_QUERY_VIDEO_MEMORY_INFO,
+ ) -> HRESULT,
+ fn SetVideoMemoryReservation(
+ NodeIndex: UINT,
+ MemorySegmentGroup: DXGI_MEMORY_SEGMENT_GROUP,
+ Reservation: UINT64,
+ ) -> HRESULT,
+ fn RegisterVideoMemoryBudgetChangeNotificationEvent(
+ hEvent: HANDLE,
+ pdwCookie: *mut DWORD,
+ ) -> HRESULT,
+ fn UnregisterVideoMemoryBudgetChangeNotification(
+ dwCookie: DWORD,
+ ) -> (),
+}}
+RIDL!{#[uuid(0x1bc6ea02, 0xef36, 0x464f, 0xbf, 0x0c, 0x21, 0xca, 0x39, 0xe5, 0x16, 0x8a)]
+interface IDXGIFactory4(IDXGIFactory4Vtbl): IDXGIFactory3(IDXGIFactory3Vtbl) {
+ fn EnumAdapterByLuid(
+ AdapterLuid: LUID,
+ riid: REFGUID,
+ ppvAdapter: *mut *mut c_void,
+ ) -> HRESULT,
+ fn EnumWarpAdapter(
+ riid: REFGUID,
+ ppvAdapter: *mut *mut c_void,
+ ) -> HRESULT,
+}}
+RIDL!{#[uuid(0xdc7dca35, 0x2196, 0x414d, 0x9f, 0x53, 0x61, 0x78, 0x84, 0x03, 0x2a, 0x60)]
+interface IDXGIOutput4(IDXGIOutput4Vtbl): IDXGIOutput3(IDXGIOutput3Vtbl) {
+ fn CheckOverlayColorSpaceSupport(
+ Format: DXGI_FORMAT,
+ ColorSpace: DXGI_COLOR_SPACE_TYPE,
+ pConcernedDevice: *mut IUnknown,
+ pFlags: *mut UINT,
+ ) -> HRESULT,
+}}
+RIDL!{#[uuid(0x94d99bdb, 0xf1f8, 0x4ab0, 0xb2, 0x36, 0x7d, 0xa0, 0x17, 0x0e, 0xda, 0xb1)]
+interface IDXGISwapChain3(IDXGISwapChain3Vtbl): IDXGISwapChain2(IDXGISwapChain2Vtbl) {
+ fn GetCurrentBackBufferIndex() -> UINT,
+ fn CheckColorSpaceSupport(
+ ColorSpace: DXGI_COLOR_SPACE_TYPE,
+ pColorSpaceSupport: *mut UINT,
+ ) -> HRESULT,
+ fn SetColorSpace1(
+ ColorSpace: DXGI_COLOR_SPACE_TYPE,
+ ) -> HRESULT,
+ fn ResizeBuffers1(
+ BufferCount: UINT,
+ Width: UINT,
+ Height: UINT,
+ Format: DXGI_FORMAT,
+ SwapChainFlags: UINT,
+ pCreationNodeMask: *const UINT,
+ ppPresentQueue: *mut *mut IUnknown,
+ ) -> HRESULT,
+}}
+DEFINE_GUID!{IID_IDXGISwapChain3,
+ 0x94d99bdb, 0xf1f8, 0x4ab0, 0xb2, 0x36, 0x7d, 0xa0, 0x17, 0x0e, 0xda, 0xb1}
+DEFINE_GUID!{IID_IDXGIOutput4,
+ 0xdc7dca35, 0x2196, 0x414d, 0x9f, 0x53, 0x61, 0x78, 0x84, 0x03, 0x2a, 0x60}
+DEFINE_GUID!{IID_IDXGIFactory4,
+ 0x1bc6ea02, 0xef36, 0x464f, 0xbf, 0x0c, 0x21, 0xca, 0x39, 0xe5, 0x16, 0x8a}
+DEFINE_GUID!{IID_IDXGIAdapter3,
+ 0x645967a4, 0x1392, 0x4310, 0xa7, 0x98, 0x80, 0x53, 0xce, 0x3e, 0x93, 0xfd}