summaryrefslogtreecommitdiffstats
path: root/third_party/rust/winapi-0.2.8/src/dxgi1_2.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
commit2aa4a82499d4becd2284cdb482213d541b8804dd (patch)
treeb80bf8bf13c3766139fbacc530efd0dd9d54394c /third_party/rust/winapi-0.2.8/src/dxgi1_2.rs
parentInitial commit. (diff)
downloadfirefox-2aa4a82499d4becd2284cdb482213d541b8804dd.tar.xz
firefox-2aa4a82499d4becd2284cdb482213d541b8804dd.zip
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/rust/winapi-0.2.8/src/dxgi1_2.rs')
-rw-r--r--third_party/rust/winapi-0.2.8/src/dxgi1_2.rs288
1 files changed, 288 insertions, 0 deletions
diff --git a/third_party/rust/winapi-0.2.8/src/dxgi1_2.rs b/third_party/rust/winapi-0.2.8/src/dxgi1_2.rs
new file mode 100644
index 0000000000..42082747c2
--- /dev/null
+++ b/third_party/rust/winapi-0.2.8/src/dxgi1_2.rs
@@ -0,0 +1,288 @@
+// Copyright © 2015; Dmitry Roschin
+// Licensed under the MIT License <LICENSE.md>
+//! Mappings for the contents of dxgi1_2.h
+
+ENUM!{ enum DXGI_ALPHA_MODE {
+ DXGI_ALPHA_MODE_UNSPECIFIED = 0,
+ DXGI_ALPHA_MODE_PREMULTIPLIED = 1,
+ DXGI_ALPHA_MODE_STRAIGHT = 2,
+ DXGI_ALPHA_MODE_IGNORE = 3,
+ DXGI_ALPHA_MODE_FORCE_DWORD = 0xFFFFFFFF,
+}}
+
+ENUM!{ enum DXGI_COMPUTE_PREEMPTION_GRANULARITY {
+ DXGI_COMPUTE_PREEMPTION_DMA_BUFFER_BOUNDARY = 0,
+ DXGI_COMPUTE_PREEMPTION_DISPATCH_BOUNDARY = 1,
+ DXGI_COMPUTE_PREEMPTION_THREAD_GROUP_BOUNDARY = 2,
+ DXGI_COMPUTE_PREEMPTION_THREAD_BOUNDARY = 3,
+ DXGI_COMPUTE_PREEMPTION_INSTRUCTION_BOUNDARY = 4,
+}}
+
+ENUM!{ enum DXGI_GRAPHICS_PREEMPTION_GRANULARITY {
+ DXGI_GRAPHICS_PREEMPTION_DMA_BUFFER_BOUNDARY = 0,
+ DXGI_GRAPHICS_PREEMPTION_PRIMITIVE_BOUNDARY = 1,
+ DXGI_GRAPHICS_PREEMPTION_TRIANGLE_BOUNDARY = 2,
+ DXGI_GRAPHICS_PREEMPTION_PIXEL_BOUNDARY = 3,
+ DXGI_GRAPHICS_PREEMPTION_INSTRUCTION_BOUNDARY = 4,
+}}
+
+ENUM!{ enum DXGI_OUTDUPL_POINTER_SHAPE_TYPE {
+ DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MONOCHROME = 1,
+ DXGI_OUTDUPL_POINTER_SHAPE_TYPE_COLOR = 2,
+ DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MASKED_COLOR = 4,
+}}
+
+ENUM!{ enum DXGI_SCALING {
+ DXGI_SCALING_STRETCH = 0,
+ DXGI_SCALING_NONE = 1,
+ DXGI_SCALING_ASPECT_RATIO_STRETCH = 2,
+}}
+
+ENUM!{ enum _DXGI_OFFER_RESOURCE_PRIORITY {
+ DXGI_OFFER_RESOURCE_PRIORITY_LOW = 1,
+ DXGI_OFFER_RESOURCE_PRIORITY_NORMAL = 2,
+ DXGI_OFFER_RESOURCE_PRIORITY_HIGH = 3,
+}}
+
+STRUCT!{nodebug struct DXGI_ADAPTER_DESC2 {
+ Description: [::WCHAR; 128],
+ VendorId: ::UINT,
+ DeviceId: ::UINT,
+ SubSysId: ::UINT,
+ Revision: ::UINT,
+ DedicatedVideoMemory: ::SIZE_T,
+ DedicatedSystemMemory: ::SIZE_T,
+ SharedSystemMemory: ::SIZE_T,
+ AdapterLuid: ::LUID,
+ Flags: ::UINT,
+ GraphicsPreemptionGranularity: ::DXGI_GRAPHICS_PREEMPTION_GRANULARITY,
+ ComputePreemptionGranularity: ::DXGI_COMPUTE_PREEMPTION_GRANULARITY,
+}}
+
+STRUCT!{struct DXGI_MODE_DESC1 {
+ Width: ::UINT,
+ Height: ::UINT,
+ RefreshRate: ::DXGI_RATIONAL,
+ Format: ::DXGI_FORMAT,
+ ScanlineOrdering: ::DXGI_MODE_SCANLINE_ORDER,
+ Scaling: ::DXGI_MODE_SCALING,
+ Stereo: ::BOOL,
+}}
+
+STRUCT!{struct DXGI_OUTDUPL_DESC {
+ ModeDesc: ::DXGI_MODE_DESC,
+ Rotation: ::DXGI_MODE_ROTATION,
+ DesktopImageInSystemMemory: ::BOOL,
+}}
+
+STRUCT!{struct DXGI_OUTDUPL_FRAME_INFO {
+ LastPresentTime: ::LARGE_INTEGER,
+ LastMouseUpdateTime: ::LARGE_INTEGER,
+ AccumulatedFrames: ::UINT,
+ RectsCoalesced: ::BOOL,
+ ProtectedContentMaskedOut: ::BOOL,
+ PointerPosition: ::DXGI_OUTDUPL_POINTER_POSITION,
+ TotalMetadataBufferSize: ::UINT,
+ PointerShapeBufferSize: ::UINT,
+}}
+
+STRUCT!{struct DXGI_OUTDUPL_MOVE_RECT {
+ SourcePoint: ::POINT,
+ DestinationRect: ::RECT,
+}}
+
+STRUCT!{struct DXGI_OUTDUPL_POINTER_POSITION {
+ Position: ::POINT,
+ Visible: ::BOOL,
+}}
+
+STRUCT!{struct DXGI_OUTDUPL_POINTER_SHAPE_INFO {
+ Type: ::UINT,
+ Width: ::UINT,
+ Height: ::UINT,
+ Pitch: ::UINT,
+ HotSpot: ::POINT,
+}}
+
+STRUCT!{struct DXGI_PRESENT_PARAMETERS {
+ DirtyRectsCount: ::UINT,
+ pDirtyRects: *mut ::RECT,
+ pScrollRect: *mut ::RECT,
+ pScrollOffset: *mut ::POINT,
+}}
+
+STRUCT!{struct DXGI_SWAP_CHAIN_DESC1 {
+ Width: ::UINT,
+ Height: ::UINT,
+ Format: ::DXGI_FORMAT,
+ Stereo: ::BOOL,
+ SampleDesc: ::DXGI_SAMPLE_DESC,
+ BufferUsage: ::DXGI_USAGE,
+ BufferCount: ::UINT,
+ Scaling: ::DXGI_SCALING,
+ SwapEffect: ::DXGI_SWAP_EFFECT,
+ AlphaMode: ::DXGI_ALPHA_MODE,
+ Flags: ::UINT,
+}}
+
+STRUCT!{struct DXGI_SWAP_CHAIN_FULLSCREEN_DESC {
+ RefreshRate: ::DXGI_RATIONAL,
+ ScanlineOrdering: ::DXGI_MODE_SCANLINE_ORDER,
+ Scaling: ::DXGI_MODE_SCALING,
+ Windowed: ::BOOL,
+}}
+
+RIDL!(
+interface IDXGIAdapter2(IDXGIAdapter2Vtbl): IDXGIAdapter1(IDXGIAdapter1Vtbl) {
+ fn GetDesc2(&mut self, pDesc: *mut ::DXGI_ADAPTER_DESC2) -> ::HRESULT
+});
+
+RIDL!(
+interface IDXGIDevice2(IDXGIDevice2Vtbl): IDXGIDevice1(IDXGIDevice1Vtbl) {
+ fn OfferResources(
+ &mut self, NumResources: ::UINT, ppResources: *mut *mut ::IDXGIResource,
+ Priority: ::DXGI_OFFER_RESOURCE_PRIORITY
+ ) -> ::HRESULT,
+ fn ReclaimResources(
+ &mut self, NumResources: ::UINT, ppResources: *mut *mut ::IDXGIResource,
+ pDiscarded: *mut ::BOOL
+ ) -> ::HRESULT,
+ fn EnqueueSetEvent(&mut self, hEvent: ::HANDLE) -> ::HRESULT
+});
+
+RIDL!(
+interface IDXGIDisplayControl(IDXGIDisplayControlVtbl): IUnknown(IUnknownVtbl) {
+ fn IsStereoEnabled(&mut self) -> ::BOOL,
+ fn SetStereoEnabled(&mut self, enabled: ::BOOL) -> ()
+});
+
+RIDL!(
+interface IDXGIFactory2(IDXGIFactory2Vtbl): IDXGIFactory1(IDXGIFactory1Vtbl) {
+ fn IsWindowedStereoEnabled(&mut self) -> ::BOOL,
+ fn CreateSwapChainForHwnd(
+ &mut self, pDevice: *mut ::IUnknown, hWnd: ::HWND, pDesc: *const ::DXGI_SWAP_CHAIN_DESC1,
+ pFullscreenDesc: *const ::DXGI_SWAP_CHAIN_FULLSCREEN_DESC,
+ pRestrictToOutput: *mut ::IDXGIOutput, ppSwapChain: *mut *mut ::IDXGISwapChain1
+ ) -> ::HRESULT,
+ fn CreateSwapChainForCoreWindow(
+ &mut self, pDevice: *mut ::IUnknown, pWindow: *mut ::IUnknown,
+ pDesc: *const ::DXGI_SWAP_CHAIN_DESC1, pRestrictToOutput: *mut ::IDXGIOutput,
+ ppSwapChain: *mut *mut ::IDXGISwapChain1
+ ) -> ::HRESULT,
+ fn GetSharedResourceAdapterLuid(
+ &mut self, hResource: ::HANDLE, pLuid: *mut ::LUID
+ ) -> ::HRESULT,
+ fn RegisterStereoStatusWindow(
+ &mut self, WindowHandle: ::HWND, wMsg: ::UINT, pdwCookie: *mut ::DWORD
+ ) -> ::HRESULT,
+ fn RegisterStereoStatusEvent(
+ &mut self, hEvent: ::HANDLE, pdwCookie: *mut ::DWORD
+ ) -> ::HRESULT,
+ fn UnregisterStereoStatus(&mut self, dwCookie: ::DWORD) -> (),
+ fn RegisterOcclusionStatusWindow(
+ &mut self, WindowHandle: ::HWND, wMsg: ::UINT, pdwCookie: *mut ::DWORD
+ ) -> ::HRESULT,
+ fn RegisterOcclusionStatusEvent(
+ &mut self, hEvent: ::HANDLE, pdwCookie: *mut ::DWORD
+ ) -> ::HRESULT,
+ fn UnregisterOcclusionStatus(&mut self, dwCookie: ::DWORD) -> (),
+ fn CreateSwapChainForComposition(
+ &mut self, pDevice: *mut ::IUnknown, pDesc: *const ::DXGI_SWAP_CHAIN_DESC1,
+ pRestrictToOutput: *mut ::IDXGIOutput, ppSwapChain: *mut *mut ::IDXGISwapChain1
+ ) -> ::HRESULT
+});
+
+RIDL!(
+interface IDXGIOutput1(IDXGIOutput1Vtbl): IDXGIOutput(IDXGIOutputVtbl) {
+ fn GetDisplayModeList1(
+ &mut self, EnumFormat: ::DXGI_FORMAT, Flags: ::UINT, pNumModes: *mut ::UINT,
+ pDesc: *mut ::DXGI_MODE_DESC1
+ ) -> ::HRESULT,
+ fn FindClosestMatchingMode1(
+ &mut self, pModeToMatch: *const ::DXGI_MODE_DESC1, pClosestMatch: *mut ::DXGI_MODE_DESC1,
+ pConcernedDevice: *mut ::IUnknown
+ ) -> ::HRESULT,
+ fn GetDisplaySurfaceData1(
+ &mut self, pDestination: *mut ::IDXGIResource
+ ) -> ::HRESULT,
+ fn DuplicateOutput(
+ &mut self, pDevice: *mut ::IUnknown,
+ ppOutputDuplication: *mut *mut ::IDXGIOutputDuplication
+ ) -> ::HRESULT
+});
+
+RIDL!(
+interface IDXGIOutputDuplication(IDXGIOutputDuplicationVtbl): IDXGIObject(IDXGIObjectVtbl) {
+ fn GetDesc(&mut self, pDesc: *mut ::DXGI_OUTDUPL_DESC) -> (),
+ fn AcquireNextFrame(
+ &mut self, TimeoutInMilliseconds: ::UINT, pFrameInfo: *mut ::DXGI_OUTDUPL_FRAME_INFO,
+ ppDesktopResource: *mut *mut ::IDXGIResource
+ ) -> ::HRESULT,
+ fn GetFrameDirtyRects(
+ &mut self, DirtyRectsBufferSize: ::UINT, pDirtyRectsBuffer: *mut ::RECT,
+ pDirtyRectsBufferSizeRequired: *mut ::UINT
+ ) -> ::HRESULT,
+ fn GetFrameMoveRects(
+ &mut self, MoveRectsBufferSize: ::UINT, pMoveRectBuffer: *mut ::DXGI_OUTDUPL_MOVE_RECT,
+ pMoveRectsBufferSizeRequired: *mut ::UINT
+ ) -> ::HRESULT,
+ fn GetFramePointerShape(
+ &mut self, PointerShapeBufferSize: ::UINT, pPointerShapeBuffer: *mut ::c_void,
+ pPointerShapeBufferSizeRequired: *mut ::UINT,
+ pPointerShapeInfo: *mut ::DXGI_OUTDUPL_POINTER_SHAPE_INFO
+ ) -> ::HRESULT,
+ fn MapDesktopSurface(
+ &mut self, pLockedRect: *mut ::DXGI_MAPPED_RECT
+ ) -> ::HRESULT,
+ fn UnMapDesktopSurface(&mut self) -> ::HRESULT,
+ fn ReleaseFrame(&mut self) -> ::HRESULT
+});
+
+RIDL!(
+interface IDXGIResource1(IDXGIResource1Vtbl): IDXGIResource(IDXGIResourceVtbl) {
+ fn CreateSubresourceSurface(
+ &mut self, index: ::UINT, ppSurface: *mut *mut ::IDXGISurface2
+ ) -> ::HRESULT,
+ fn CreateSharedHandle(
+ &mut self, pAttributes: *const ::SECURITY_ATTRIBUTES, dwAccess: ::DWORD, lpName: ::LPCWSTR,
+ pHandle: *mut ::HANDLE
+ ) -> ::HRESULT
+});
+
+RIDL!(
+interface IDXGISurface2(IDXGISurface2Vtbl): IDXGISurface1(IDXGISurface1Vtbl) {
+ fn GetResource(
+ &mut self, riid: ::REFGUID, ppParentResource: *mut *mut ::c_void,
+ pSubresourceIndex: *mut ::UINT
+ ) -> ::HRESULT
+});
+
+RIDL!(
+interface IDXGISwapChain1(IDXGISwapChain1Vtbl): IDXGISwapChain(IDXGISwapChainVtbl) {
+ fn GetDesc1(&mut self, pDesc: *mut ::DXGI_SWAP_CHAIN_DESC1) -> ::HRESULT,
+ fn GetFullscreenDesc(
+ &mut self, pDesc: *mut ::DXGI_SWAP_CHAIN_FULLSCREEN_DESC
+ ) -> ::HRESULT,
+ fn GetHwnd(&mut self, pHwnd: *mut ::HWND) -> ::HRESULT,
+ fn GetCoreWindow(
+ &mut self, refiid: ::REFGUID, ppUnk: *mut *mut ::c_void
+ ) -> ::HRESULT,
+ fn Present1(
+ &mut self, SyncInterval: ::UINT, PresentFlags: ::UINT,
+ pPresentParameters: *const ::DXGI_PRESENT_PARAMETERS
+ ) -> ::HRESULT,
+ fn IsTemporaryMonoSupported(&mut self) -> ::BOOL,
+ fn GetRestrictToOutput(
+ &mut self, ppRestrictToOutput: *mut *mut ::IDXGIOutput
+ ) -> ::HRESULT,
+ fn SetBackgroundColor(&mut self, pColor: *const ::DXGI_RGBA) -> ::HRESULT,
+ fn GetBackgroundColor(&mut self, pColor: *mut ::DXGI_RGBA) -> ::HRESULT,
+ fn SetRotation(&mut self, Rotation: ::DXGI_MODE_ROTATION) -> ::HRESULT,
+ fn GetRotation(&mut self, pRotation: *mut ::DXGI_MODE_ROTATION) -> ::HRESULT
+});
+
+pub type DXGI_OFFER_RESOURCE_PRIORITY = ::_DXGI_OFFER_RESOURCE_PRIORITY;
+pub const DXGI_ENUM_MODES_DISABLED_STEREO: ::UINT = 8;
+pub const DXGI_ENUM_MODES_STEREO: ::UINT = 4;
+pub const DXGI_SHARED_RESOURCE_READ: ::UINT = 0x80000000;
+pub const DXGI_SHARED_RESOURCE_WRITE: ::UINT = 1;