Modules

dxgi

moduleSource

Available on Windows·since 0.31.0

#import "dxgi";

Procedures#

vtable39 overloadssince 0.31.0Source
CreateDXGIFactoryforeign2 overloadsSource
(riid: *IID, ppFactory: **void) -> HRESULT
(riid: IID, ppFactory: **void) -> HRESULT
CreateDXGIFactory1foreign2 overloadsSource
(riid: *IID, ppFactory: **void) -> HRESULT
(riid: IID, ppFactory: **void) -> HRESULT
CreateDXGIFactory2foreign2 overloadsSource
(Flags: u32, riid: *IID, ppFactory: **void) -> HRESULT
(Flags: u32, riid: IID, ppFactory: **void) -> HRESULT
(Flags: u32, riid: *IID, pDebug: **void) -> HRESULT
(Flags: u32, riid: IID, pDebug: **void) -> HRESULT

Types#

:: struct
Description: [128] s16
VendorId: u32
DeviceId: u32
SubSysId: u32
Revision: u32
DedicatedVideoMemory: SIZE_T
DedicatedSystemMemory: SIZE_T
SharedSystemMemory: SIZE_T
AdapterLuid: LUID
:: struct
Description: [128] s16
VendorId: u32
DeviceId: u32
SubSysId: u32
Revision: u32
DedicatedVideoMemory: SIZE_T
DedicatedSystemMemory: SIZE_T
SharedSystemMemory: SIZE_T
AdapterLuid: LUID
Flags: u32
DXGI_ADAPTER_FLAGenum flagsforeignSource
:: enum_flags
NONE
REMOTE
SOFTWARE
FORCE_DWORD
DXGI_ADAPTER_FLAG_NONE
DXGI_ADAPTER_FLAG_REMOTE
DXGI_ADAPTER_FLAG_SOFTWARE
DXGI_ADAPTER_FLAG_FORCE_DWORD
:: enum
UNSPECIFIED
PREMULTIPLIED
STRAIGHT
IGNORE
FORCE_DWORD
DXGI_ALPHA_MODE_UNSPECIFIED
DXGI_ALPHA_MODE_PREMULTIPLIED
DXGI_ALPHA_MODE_STRAIGHT
DXGI_ALPHA_MODE_IGNORE
DXGI_ALPHA_MODE_FORCE_DWORD
:: enum
RGB_FULL_G22_NONE_P709
RGB_FULL_G10_NONE_P709
RGB_STUDIO_G22_NONE_P709
RGB_STUDIO_G22_NONE_P2020
RESERVED
YCBCR_FULL_G22_NONE_P709_X601
YCBCR_STUDIO_G22_LEFT_P601
YCBCR_FULL_G22_LEFT_P601
YCBCR_STUDIO_G22_LEFT_P709
YCBCR_FULL_G22_LEFT_P709
YCBCR_STUDIO_G22_LEFT_P2020
YCBCR_FULL_G22_LEFT_P2020
RGB_FULL_G2084_NONE_P2020
YCBCR_STUDIO_G2084_LEFT_P2020
RGB_STUDIO_G2084_NONE_P2020
YCBCR_STUDIO_G22_TOPLEFT_P2020
YCBCR_STUDIO_G2084_TOPLEFT_P2020
RGB_FULL_G22_NONE_P2020
YCBCR_STUDIO_GHLG_TOPLEFT_P2020
YCBCR_FULL_GHLG_TOPLEFT_P2020
RGB_STUDIO_G24_NONE_P709
RGB_STUDIO_G24_NONE_P2020
YCBCR_STUDIO_G24_LEFT_P709
YCBCR_STUDIO_G24_LEFT_P2020
YCBCR_STUDIO_G24_TOPLEFT_P2020
CUSTOM
DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709
DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709
DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P709
DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P2020
DXGI_COLOR_SPACE_RESERVED
DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601
DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601
DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P601
DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709
DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P709
DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020
DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020
DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020
DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_LEFT_P2020
DXGI_COLOR_SPACE_RGB_STUDIO_G2084_NONE_P2020
DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_TOPLEFT_P2020
DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_TOPLEFT_P2020
DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P2020
DXGI_COLOR_SPACE_YCBCR_STUDIO_GHLG_TOPLEFT_P2020
DXGI_COLOR_SPACE_YCBCR_FULL_GHLG_TOPLEFT_P2020
DXGI_COLOR_SPACE_RGB_STUDIO_G24_NONE_P709
DXGI_COLOR_SPACE_RGB_STUDIO_G24_NONE_P2020
DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_LEFT_P709
DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_LEFT_P2020
DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_TOPLEFT_P2020
DXGI_COLOR_SPACE_CUSTOM
:: enum
DMA_BUFFER_BOUNDARY
DISPATCH_BOUNDARY
THREAD_GROUP_BOUNDARY
THREAD_BOUNDARY
INSTRUCTION_BOUNDARY
DXGI_COMPUTE_PREEMPTION_DMA_BUFFER_BOUNDARY
DXGI_COMPUTE_PREEMPTION_DISPATCH_BOUNDARY
DXGI_COMPUTE_PREEMPTION_THREAD_GROUP_BOUNDARY
DXGI_COMPUTE_PREEMPTION_THREAD_BOUNDARY
DXGI_COMPUTE_PREEMPTION_INSTRUCTION_BOUNDARY
:: enum
NONE
DYNAMIC
READ_WRITE
SCRATCH
FIELD
DXGI_CPU_ACCESS_NONE
DXGI_CPU_ACCESS_DYNAMIC
DXGI_CPU_ACCESS_READ_WRITE
DXGI_CPU_ACCESS_SCRATCH
DXGI_CPU_ACCESS_FIELD
DXGI_ENUM_MODESenum flagsforeignSource
:: enum_flags
INTERLACED
SCALING
STEREO
DISABLED_STEREO
DXGI_ENUM_MODES_INTERLACED
DXGI_ENUM_MODES_SCALING
DXGI_ENUM_MODES_STEREO
DXGI_ENUM_MODES_DISABLED_STEREO
:: enum
PRESENT_ALLOW_TEARING
DXGI_FEATURE_PRESENT_ALLOW_TEARING
:: enum
UNKNOWN
R32G32B32A32_TYPELESS
R32G32B32A32_FLOAT
R32G32B32A32_UINT
R32G32B32A32_SINT
R32G32B32_TYPELESS
R32G32B32_FLOAT
R32G32B32_UINT
R32G32B32_SINT
R16G16B16A16_TYPELESS
R16G16B16A16_FLOAT
R16G16B16A16_UNORM
R16G16B16A16_UINT
R16G16B16A16_SNORM
R16G16B16A16_SINT
R32G32_TYPELESS
R32G32_FLOAT
R32G32_UINT
R32G32_SINT
R32G8X24_TYPELESS
D32_FLOAT_S8X24_UINT
R32_FLOAT_X8X24_TYPELESS
X32_TYPELESS_G8X24_UINT
R10G10B10A2_TYPELESS
R10G10B10A2_UNORM
R10G10B10A2_UINT
R11G11B10_FLOAT
R8G8B8A8_TYPELESS
R8G8B8A8_UNORM
R8G8B8A8_UNORM_SRGB
R8G8B8A8_UINT
R8G8B8A8_SNORM
R8G8B8A8_SINT
R16G16_TYPELESS
R16G16_FLOAT
R16G16_UNORM
R16G16_UINT
R16G16_SNORM
R16G16_SINT
R32_TYPELESS
D32_FLOAT
R32_FLOAT
R32_UINT
R32_SINT
R24G8_TYPELESS
D24_UNORM_S8_UINT
R24_UNORM_X8_TYPELESS
X24_TYPELESS_G8_UINT
R8G8_TYPELESS
R8G8_UNORM
R8G8_UINT
R8G8_SNORM
R8G8_SINT
R16_TYPELESS
R16_FLOAT
D16_UNORM
R16_UNORM
R16_UINT
R16_SNORM
R16_SINT
R8_TYPELESS
R8_UNORM
R8_UINT
R8_SNORM
R8_SINT
A8_UNORM
R1_UNORM
R9G9B9E5_SHAREDEXP
R8G8_B8G8_UNORM
G8R8_G8B8_UNORM
BC1_TYPELESS
BC1_UNORM
BC1_UNORM_SRGB
BC2_TYPELESS
BC2_UNORM
BC2_UNORM_SRGB
BC3_TYPELESS
BC3_UNORM
BC3_UNORM_SRGB
BC4_TYPELESS
BC4_UNORM
BC4_SNORM
BC5_TYPELESS
BC5_UNORM
BC5_SNORM
B5G6R5_UNORM
B5G5R5A1_UNORM
B8G8R8A8_UNORM
B8G8R8X8_UNORM
R10G10B10_XR_BIAS_A2_UNORM
B8G8R8A8_TYPELESS
B8G8R8A8_UNORM_SRGB
B8G8R8X8_TYPELESS
B8G8R8X8_UNORM_SRGB
BC6H_TYPELESS
BC6H_UF16
BC6H_SF16
BC7_TYPELESS
BC7_UNORM
BC7_UNORM_SRGB
AYUV
Y410
Y416
NV12
P010
P016
_420_OPAQUE
YUY2
Y210
Y216
NV11
AI44
IA44
P8
A8P8
B4G4R4A4_UNORM
P208
V208
V408
SAMPLER_FEEDBACK_MIN_MIP_OPAQUE
SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE
A4B4G4R4_UNORM
FORCE_UINT
DXGI_FORMAT_UNKNOWN
DXGI_FORMAT_R32G32B32A32_TYPELESS
DXGI_FORMAT_R32G32B32A32_FLOAT
DXGI_FORMAT_R32G32B32A32_UINT
DXGI_FORMAT_R32G32B32A32_SINT
DXGI_FORMAT_R32G32B32_TYPELESS
DXGI_FORMAT_R32G32B32_FLOAT
DXGI_FORMAT_R32G32B32_UINT
DXGI_FORMAT_R32G32B32_SINT
DXGI_FORMAT_R16G16B16A16_TYPELESS
DXGI_FORMAT_R16G16B16A16_FLOAT
DXGI_FORMAT_R16G16B16A16_UNORM
DXGI_FORMAT_R16G16B16A16_UINT
DXGI_FORMAT_R16G16B16A16_SNORM
DXGI_FORMAT_R16G16B16A16_SINT
DXGI_FORMAT_R32G32_TYPELESS
DXGI_FORMAT_R32G32_FLOAT
DXGI_FORMAT_R32G32_UINT
DXGI_FORMAT_R32G32_SINT
DXGI_FORMAT_R32G8X24_TYPELESS
DXGI_FORMAT_D32_FLOAT_S8X24_UINT
DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS
DXGI_FORMAT_X32_TYPELESS_G8X24_UINT
DXGI_FORMAT_R10G10B10A2_TYPELESS
DXGI_FORMAT_R10G10B10A2_UNORM
DXGI_FORMAT_R10G10B10A2_UINT
DXGI_FORMAT_R11G11B10_FLOAT
DXGI_FORMAT_R8G8B8A8_TYPELESS
DXGI_FORMAT_R8G8B8A8_UNORM
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB
DXGI_FORMAT_R8G8B8A8_UINT
DXGI_FORMAT_R8G8B8A8_SNORM
DXGI_FORMAT_R8G8B8A8_SINT
DXGI_FORMAT_R16G16_TYPELESS
DXGI_FORMAT_R16G16_FLOAT
DXGI_FORMAT_R16G16_UNORM
DXGI_FORMAT_R16G16_UINT
DXGI_FORMAT_R16G16_SNORM
DXGI_FORMAT_R16G16_SINT
DXGI_FORMAT_R32_TYPELESS
DXGI_FORMAT_D32_FLOAT
DXGI_FORMAT_R32_FLOAT
DXGI_FORMAT_R32_UINT
DXGI_FORMAT_R32_SINT
DXGI_FORMAT_R24G8_TYPELESS
DXGI_FORMAT_D24_UNORM_S8_UINT
DXGI_FORMAT_R24_UNORM_X8_TYPELESS
DXGI_FORMAT_X24_TYPELESS_G8_UINT
DXGI_FORMAT_R8G8_TYPELESS
DXGI_FORMAT_R8G8_UNORM
DXGI_FORMAT_R8G8_UINT
DXGI_FORMAT_R8G8_SNORM
DXGI_FORMAT_R8G8_SINT
DXGI_FORMAT_R16_TYPELESS
DXGI_FORMAT_R16_FLOAT
DXGI_FORMAT_D16_UNORM
DXGI_FORMAT_R16_UNORM
DXGI_FORMAT_R16_UINT
DXGI_FORMAT_R16_SNORM
DXGI_FORMAT_R16_SINT
DXGI_FORMAT_R8_TYPELESS
DXGI_FORMAT_R8_UNORM
DXGI_FORMAT_R8_UINT
DXGI_FORMAT_R8_SNORM
DXGI_FORMAT_R8_SINT
DXGI_FORMAT_A8_UNORM
DXGI_FORMAT_R1_UNORM
DXGI_FORMAT_R9G9B9E5_SHAREDEXP
DXGI_FORMAT_R8G8_B8G8_UNORM
DXGI_FORMAT_G8R8_G8B8_UNORM
DXGI_FORMAT_BC1_TYPELESS
DXGI_FORMAT_BC1_UNORM
DXGI_FORMAT_BC1_UNORM_SRGB
DXGI_FORMAT_BC2_TYPELESS
DXGI_FORMAT_BC2_UNORM
DXGI_FORMAT_BC2_UNORM_SRGB
DXGI_FORMAT_BC3_TYPELESS
DXGI_FORMAT_BC3_UNORM
DXGI_FORMAT_BC3_UNORM_SRGB
DXGI_FORMAT_BC4_TYPELESS
DXGI_FORMAT_BC4_UNORM
DXGI_FORMAT_BC4_SNORM
DXGI_FORMAT_BC5_TYPELESS
DXGI_FORMAT_BC5_UNORM
DXGI_FORMAT_BC5_SNORM
DXGI_FORMAT_B5G6R5_UNORM
DXGI_FORMAT_B5G5R5A1_UNORM
DXGI_FORMAT_B8G8R8A8_UNORM
DXGI_FORMAT_B8G8R8X8_UNORM
DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM
DXGI_FORMAT_B8G8R8A8_TYPELESS
DXGI_FORMAT_B8G8R8A8_UNORM_SRGB
DXGI_FORMAT_B8G8R8X8_TYPELESS
DXGI_FORMAT_B8G8R8X8_UNORM_SRGB
DXGI_FORMAT_BC6H_TYPELESS
DXGI_FORMAT_BC6H_UF16
DXGI_FORMAT_BC6H_SF16
DXGI_FORMAT_BC7_TYPELESS
DXGI_FORMAT_BC7_UNORM
DXGI_FORMAT_BC7_UNORM_SRGB
DXGI_FORMAT_AYUV
DXGI_FORMAT_Y410
DXGI_FORMAT_Y416
DXGI_FORMAT_NV12
DXGI_FORMAT_P010
DXGI_FORMAT_P016
DXGI_FORMAT_420_OPAQUE
DXGI_FORMAT_YUY2
DXGI_FORMAT_Y210
DXGI_FORMAT_Y216
DXGI_FORMAT_NV11
DXGI_FORMAT_AI44
DXGI_FORMAT_IA44
DXGI_FORMAT_P8
DXGI_FORMAT_A8P8
DXGI_FORMAT_B4G4R4A4_UNORM
DXGI_FORMAT_P208
DXGI_FORMAT_V208
DXGI_FORMAT_V408
DXGI_FORMAT_SAMPLER_FEEDBACK_MIN_MIP_OPAQUE
DXGI_FORMAT_SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE
DXGI_FORMAT_A4B4G4R4_UNORM
DXGI_FORMAT_FORCE_UINT
:: enum
COMPOSED
OVERLAY
NONE
COMPOSITION_FAILURE
DXGI_FRAME_PRESENTATION_MODE_COMPOSED
DXGI_FRAME_PRESENTATION_MODE_OVERLAY
DXGI_FRAME_PRESENTATION_MODE_NONE
DXGI_FRAME_PRESENTATION_MODE_COMPOSITION_FAILURE
:: struct
PresentCount: u32
PresentRefreshCount: u32
SyncRefreshCount: u32
SyncQPCTime: LARGE_INTEGER
SyncGPUTime: LARGE_INTEGER
:: struct
ScaleAndOffsetSupported: BOOL
MaxConvertedValue: float
MinConvertedValue: float
NumGammaControlPoints: u32
ControlPointPositions: [1025] float
:: enum
DMA_BUFFER_BOUNDARY
PRIMITIVE_BOUNDARY
TRIANGLE_BOUNDARY
PIXEL_BOUNDARY
INSTRUCTION_BOUNDARY
DXGI_GRAPHICS_PREEMPTION_DMA_BUFFER_BOUNDARY
DXGI_GRAPHICS_PREEMPTION_PRIMITIVE_BOUNDARY
DXGI_GRAPHICS_PREEMPTION_TRIANGLE_BOUNDARY
DXGI_GRAPHICS_PREEMPTION_PIXEL_BOUNDARY
DXGI_GRAPHICS_PREEMPTION_INSTRUCTION_BOUNDARY
:: struct
RedPrimary: [2] u16
GreenPrimary: [2] u16
BluePrimary: [2] u16
WhitePoint: [2] u16
MaxMasteringLuminance: u32
MinMasteringLuminance: u32
MaxContentLightLevel: u16
MaxFrameAverageLightLevel: u16
:: enum
NONE
HDR10
HDR10PLUS
DXGI_HDR_METADATA_TYPE_NONE
DXGI_HDR_METADATA_TYPE_HDR10
DXGI_HDR_METADATA_TYPE_HDR10PLUS
DXGI_MAPenum flagsforeignSource
:: enum_flags
READ
WRITE
DISCARD
DXGI_MAP_READ
DXGI_MAP_WRITE
DXGI_MAP_DISCARD
:: enum
UNSPECIFIED
IDENTITY
ROTATE90
ROTATE180
ROTATE270
DXGI_MODE_ROTATION_UNSPECIFIED
DXGI_MODE_ROTATION_IDENTITY
DXGI_MODE_ROTATION_ROTATE90
DXGI_MODE_ROTATION_ROTATE180
DXGI_MODE_ROTATION_ROTATE270
:: enum
UNSPECIFIED
CENTERED
STRETCHED
DXGI_MODE_SCALING_UNSPECIFIED
DXGI_MODE_SCALING_CENTERED
DXGI_MODE_SCALING_STRETCHED
:: enum
UNSPECIFIED
PROGRESSIVE
UPPER_FIELD_FIRST
LOWER_FIELD_FIRST
DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED
DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE
DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST
DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST
:: enum_flags
NOMINAL_RANGE
BT709
xvYCC
DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_NOMINAL_RANGE
DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_BT709
DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_xvYCC
DXGI_MWAenum flagsforeignSource
:: enum_flags
NO_WINDOW_CHANGES
NO_ALT_ENTER
NO_PRINT_SCREEN
VALID
DXGI_MWA_NO_WINDOW_CHANGES
DXGI_MWA_NO_ALT_ENTER
DXGI_MWA_NO_PRINT_SCREEN
DXGI_MWA_VALID
:: enum
LOW
NORMAL
HIGH
DXGI_OFFER_RESOURCE_PRIORITY_LOW
DXGI_OFFER_RESOURCE_PRIORITY_NORMAL
DXGI_OFFER_RESOURCE_PRIORITY_HIGH
:: struct
LastPresentTime: LARGE_INTEGER
LastMouseUpdateTime: LARGE_INTEGER
AccumulatedFrames: u32
RectsCoalesced: BOOL
ProtectedContentMaskedOut: BOOL
TotalMetadataBufferSize: u32
PointerShapeBufferSize: u32
:: enum
MONOCHROME
COLOR
MASKED_COLOR
DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MONOCHROME
DXGI_OUTDUPL_POINTER_SHAPE_TYPE_COLOR
DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MASKED_COLOR
DXGI_PRESENTenum flagsforeignSource
:: enum_flags
TEST
DO_NOT_SEQUENCE
RESTART
DO_NOT_WAIT
STEREO_PREFER_RIGHT
STEREO_TEMPORARY_MONO
RESTRICT_TO_OUTPUT
USE_DURATION
ALLOW_TEARING
DXGI_PRESENT_TEST
DXGI_PRESENT_DO_NOT_SEQUENCE
DXGI_PRESENT_RESTART
DXGI_PRESENT_DO_NOT_WAIT
DXGI_PRESENT_STEREO_PREFER_RIGHT
DXGI_PRESENT_STEREO_TEMPORARY_MONO
DXGI_PRESENT_RESTRICT_TO_OUTPUT
DXGI_PRESENT_USE_DURATION
DXGI_PRESENT_ALLOW_TEARING
:: enum
OK
DISCARDED
NOT_COMMITTED
DXGI_RECLAIM_RESOURCE_RESULT_OK
DXGI_RECLAIM_RESOURCE_RESULT_DISCARDED
DXGI_RECLAIM_RESOURCE_RESULT_NOT_COMMITTED
:: enum
FULLY_RESIDENT
RESIDENT_IN_SHARED_MEMORY
EVICTED_TO_DISK
DXGI_RESIDENCY_FULLY_RESIDENT
DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY
DXGI_RESIDENCY_EVICTED_TO_DISK
:: enum
MINIMUM
LOW
NORMAL
HIGH
MAXIMUM
DXGI_RESOURCE_PRIORITY_MINIMUM
DXGI_RESOURCE_PRIORITY_LOW
DXGI_RESOURCE_PRIORITY_NORMAL
DXGI_RESOURCE_PRIORITY_HIGH
DXGI_RESOURCE_PRIORITY_MAXIMUM
DXGI_RGBstructforeignSource
:: struct
Red: float
Green: float
Blue: float
:: enum
STRETCH
NONE
ASPECT_RATIO_STRETCH
DXGI_SCALING_STRETCH
DXGI_SCALING_NONE
DXGI_SCALING_ASPECT_RATIO_STRETCH
:: enum_flags
NONPREROTATED
ALLOW_MODE_SWITCH
GDI_COMPATIBLE
RESTRICTED_CONTENT
RESTRICT_SHARED_RESOURCE_DRIVER
DISPLAY_ONLY
FRAME_LATENCY_WAITABLE_OBJECT
FOREGROUND_LAYER
FULLSCREEN_VIDEO
YUV_VIDEO
HW_PROTECTED
ALLOW_TEARING
RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS
DXGI_SWAP_CHAIN_FLAG_NONPREROTATED
DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH
DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE
DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT
DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER
DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY
DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT
DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER
DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO
DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO
DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED
DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING
DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS
:: enum
DISCARD
SEQUENTIAL
FLIP_SEQUENTIAL
FLIP_DISCARD
DXGI_SWAP_EFFECT_DISCARD
DXGI_SWAP_EFFECT_SEQUENTIAL
DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL
DXGI_SWAP_EFFECT_FLIP_DISCARD
DXGI_USAGEenum flagsforeignSource
:: enum_flags
SHADER_INPUT
RENDER_TARGET_OUTPUT
BACK_BUFFER
SHARED
READ_ONLY
DISCARD_ON_PRESENT
UNORDERED_ACCESS
DXGI_USAGE_SHADER_INPUT
DXGI_USAGE_RENDER_TARGET_OUTPUT
DXGI_USAGE_BACK_BUFFER
DXGI_USAGE_SHARED
DXGI_USAGE_READ_ONLY
DXGI_USAGE_DISCARD_ON_PRESENT
DXGI_USAGE_UNORDERED_ACCESS
:: struct
RegisterHardwareContentProtectionTeardownStatusEvent: #type (this: *IDXGIAdapter3, hEvent: HANDLE, pdwCookie: *u32) -> HRESULT #cpp_method
UnregisterHardwareContentProtectionTeardownStatus: #type (this: *IDXGIAdapter3, dwCookie: u32) -> void #cpp_method
QueryVideoMemoryInfo: #type (this: *IDXGIAdapter3, NodeIndex: u32, MemorySegmentGroup: DXGI_MEMORY_SEGMENT_GROUP, pVideoMemoryInfo: *DXGI_QUERY_VIDEO_MEMORY_INFO) -> HRESULT #cpp_method
SetVideoMemoryReservation: #type (this: *IDXGIAdapter3, NodeIndex: u32, MemorySegmentGroup: DXGI_MEMORY_SEGMENT_GROUP, Reservation: u64) -> HRESULT #cpp_method
RegisterVideoMemoryBudgetChangeNotificationEvent: #type (this: *IDXGIAdapter3, hEvent: HANDLE, pdwCookie: *u32) -> HRESULT #cpp_method
UnregisterVideoMemoryBudgetChangeNotification: #type (this: *IDXGIAdapter3, dwCookie: u32) -> void #cpp_method
:: struct
vtable: IUnknown_VTable
PresentBuffer: #type (this: *IDXGIDecodeSwapChain, BufferToPresent: u32, SyncInterval: u32, Flags: u32) -> HRESULT #cpp_method
SetSourceRect: #type (this: *IDXGIDecodeSwapChain, pRect: *RECT) -> HRESULT #cpp_method
SetTargetRect: #type (this: *IDXGIDecodeSwapChain, pRect: *RECT) -> HRESULT #cpp_method
SetDestSize: #type (this: *IDXGIDecodeSwapChain, Width: u32, Height: u32) -> HRESULT #cpp_method
GetSourceRect: #type (this: *IDXGIDecodeSwapChain, pRect: *RECT) -> HRESULT #cpp_method
GetTargetRect: #type (this: *IDXGIDecodeSwapChain, pRect: *RECT) -> HRESULT #cpp_method
GetDestSize: #type (this: *IDXGIDecodeSwapChain, pWidth: *u32, pHeight: *u32) -> HRESULT #cpp_method
SetColorSpace: #type (this: *IDXGIDecodeSwapChain, ColorSpace: DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS) -> HRESULT #cpp_method
GetColorSpace: #type (this: *IDXGIDecodeSwapChain) -> DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS #cpp_method
:: struct
GetAdapter: #type (this: *IDXGIDevice, pAdapter: **IDXGIAdapter) -> HRESULT #cpp_method
CreateSurface: #type (this: *IDXGIDevice, pDesc: *DXGI_SURFACE_DESC, NumSurfaces: u32, Usage: DXGI_USAGE, pSharedResource: *DXGI_SHARED_RESOURCE, ppSurface: **IDXGISurface) -> HRESULT #cpp_method
QueryResourceResidency: #type (this: *IDXGIDevice, ppResources: **IUnknown, pResidencyStatus: *DXGI_RESIDENCY, NumResources: u32) -> HRESULT #cpp_method
SetGPUThreadPriority: #type (this: *IDXGIDevice, Priority: s32) -> HRESULT #cpp_method
GetGPUThreadPriority: #type (this: *IDXGIDevice, pPriority: *s32) -> HRESULT #cpp_method
:: struct
IsWindowedStereoEnabled: #type (this: *IDXGIFactory2) -> BOOL #cpp_method
CreateSwapChainForHwnd: #type (this: *IDXGIFactory2, pDevice: *IUnknown, hWnd: HWND, pDesc: *DXGI_SWAP_CHAIN_DESC1, pFullscreenDesc: *DXGI_SWAP_CHAIN_FULLSCREEN_DESC, pRestrictToOutput: *IDXGIOutput, ppSwapChain: **IDXGISwapChain1) -> HRESULT #cpp_method
CreateSwapChainForCoreWindow: #type (this: *IDXGIFactory2, pDevice: *IUnknown, pWindow: *IUnknown, pDesc: *DXGI_SWAP_CHAIN_DESC1, pRestrictToOutput: *IDXGIOutput, ppSwapChain: **IDXGISwapChain1) -> HRESULT #cpp_method
GetSharedResourceAdapterLuid: #type (this: *IDXGIFactory2, hResource: HANDLE, pLuid: *LUID) -> HRESULT #cpp_method
RegisterStereoStatusWindow: #type (this: *IDXGIFactory2, WindowHandle: HWND, wMsg: u32, pdwCookie: *u32) -> HRESULT #cpp_method
RegisterStereoStatusEvent: #type (this: *IDXGIFactory2, hEvent: HANDLE, pdwCookie: *u32) -> HRESULT #cpp_method
UnregisterStereoStatus: #type (this: *IDXGIFactory2, dwCookie: u32) -> void #cpp_method
RegisterOcclusionStatusWindow: #type (this: *IDXGIFactory2, WindowHandle: HWND, wMsg: u32, pdwCookie: *u32) -> HRESULT #cpp_method
RegisterOcclusionStatusEvent: #type (this: *IDXGIFactory2, hEvent: HANDLE, pdwCookie: *u32) -> HRESULT #cpp_method
UnregisterOcclusionStatus: #type (this: *IDXGIFactory2, dwCookie: u32) -> void #cpp_method
CreateSwapChainForComposition: #type (this: *IDXGIFactory2, pDevice: *IUnknown, pDesc: *DXGI_SWAP_CHAIN_DESC1, pRestrictToOutput: *IDXGIOutput, ppSwapChain: **IDXGISwapChain1) -> HRESULT #cpp_method
:: struct
EnumAdapters: #type (this: *IDXGIFactory, Adapter: u32, ppAdapter: **IDXGIAdapter) -> HRESULT #cpp_method
MakeWindowAssociation: #type (this: *IDXGIFactory, WindowHandle: HWND, Flags: u32) -> HRESULT #cpp_method
GetWindowAssociation: #type (this: *IDXGIFactory, pWindowHandle: *HWND) -> HRESULT #cpp_method
CreateSwapChain: #type (this: *IDXGIFactory, pDevice: *IUnknown, pDesc: *DXGI_SWAP_CHAIN_DESC, ppSwapChain: **IDXGISwapChain) -> HRESULT #cpp_method
CreateSoftwareAdapter: #type (this: *IDXGIFactory, Module: HMODULE, ppAdapter: **IDXGIAdapter) -> HRESULT #cpp_method
:: struct
vtable: IUnknown_VTable
CreateSwapChainForCompositionSurfaceHandle: #type (this: *IDXGIFactoryMedia, pDevice: *IUnknown, hSurface: HANDLE, pDesc: *DXGI_SWAP_CHAIN_DESC1, pRestrictToOutput: *IDXGIOutput, ppSwapChain: **IDXGISwapChain1) -> HRESULT #cpp_method
CreateDecodeSwapChainForCompositionSurfaceHandle: #type (this: *IDXGIFactoryMedia, pDevice: *IUnknown, hSurface: HANDLE, pDesc: *DXGI_DECODE_SWAP_CHAIN_DESC, pYuvDecodeBuffers: *IDXGIResource, pRestrictToOutput: *IDXGIOutput, ppSwapChain: **IDXGIDecodeSwapChain) -> HRESULT #cpp_method
:: struct
vtable: IUnknown_VTable
SetPrivateData: #type (this: *IDXGIObject, Name: *GUID, DataSize: u32, pData: *void) -> HRESULT #cpp_method
SetPrivateDataInterface: #type (this: *IDXGIObject, Name: *GUID, pUnknown: *IUnknown) -> HRESULT #cpp_method
GetPrivateData: #type (this: *IDXGIObject, Name: *GUID, pDataSize: *u32, pData: *void) -> HRESULT #cpp_method
GetParent: #type (this: *IDXGIObject, riid: *IID, ppParent: **void) -> HRESULT #cpp_method
:: struct
GetDisplayModeList1: #type (this: *IDXGIOutput1, EnumFormat: DXGI_FORMAT, Flags: u32, pNumModes: *u32, pDesc: *DXGI_MODE_DESC1) -> HRESULT #cpp_method
FindClosestMatchingMode1: #type (this: *IDXGIOutput1, pModeToMatch: *DXGI_MODE_DESC1, pClosestMatch: *DXGI_MODE_DESC1, pConcernedDevice: *IUnknown) -> HRESULT #cpp_method
GetDisplaySurfaceData1: #type (this: *IDXGIOutput1, pDestination: *IDXGIResource) -> HRESULT #cpp_method
DuplicateOutput: #type (this: *IDXGIOutput1, pDevice: *IUnknown, ppOutputDuplication: **IDXGIOutputDuplication) -> HRESULT #cpp_method
:: struct
GetDesc: #type (this: *IDXGIOutput, pDesc: *DXGI_OUTPUT_DESC) -> HRESULT #cpp_method
GetDisplayModeList: #type (this: *IDXGIOutput, EnumFormat: DXGI_FORMAT, Flags: u32, pNumModes: *u32, pDesc: *DXGI_MODE_DESC) -> HRESULT #cpp_method
FindClosestMatchingMode: #type (this: *IDXGIOutput, pModeToMatch: *DXGI_MODE_DESC, pClosestMatch: *DXGI_MODE_DESC, pConcernedDevice: *IUnknown) -> HRESULT #cpp_method
WaitForVBlank: #type (this: *IDXGIOutput) -> HRESULT #cpp_method
TakeOwnership: #type (this: *IDXGIOutput, pDevice: *IUnknown, Exclusive: BOOL) -> HRESULT #cpp_method
ReleaseOwnership: #type (this: *IDXGIOutput) -> void #cpp_method
GetGammaControlCapabilities: #type (this: *IDXGIOutput, pGammaCaps: *DXGI_GAMMA_CONTROL_CAPABILITIES) -> HRESULT #cpp_method
SetGammaControl: #type (this: *IDXGIOutput, pArray: *DXGI_GAMMA_CONTROL) -> HRESULT #cpp_method
GetGammaControl: #type (this: *IDXGIOutput, pArray: *DXGI_GAMMA_CONTROL) -> HRESULT #cpp_method
SetDisplaySurface: #type (this: *IDXGIOutput, pScanoutSurface: *IDXGISurface) -> HRESULT #cpp_method
GetDisplaySurfaceData: #type (this: *IDXGIOutput, pDestination: *IDXGISurface) -> HRESULT #cpp_method
GetFrameStatistics: #type (this: *IDXGIOutput, pStats: *DXGI_FRAME_STATISTICS) -> HRESULT #cpp_method
:: struct
GetDesc: #type (this: *IDXGIOutputDuplication, pDesc: *DXGI_OUTDUPL_DESC) -> void #cpp_method
AcquireNextFrame: #type (this: *IDXGIOutputDuplication, TimeoutInMilliseconds: u32, pFrameInfo: *DXGI_OUTDUPL_FRAME_INFO, ppDesktopResource: **IDXGIResource) -> HRESULT #cpp_method
GetFrameDirtyRects: #type (this: *IDXGIOutputDuplication, DirtyRectsBufferSize: u32, pDirtyRectsBuffer: *RECT, pDirtyRectsBufferSizeRequired: *u32) -> HRESULT #cpp_method
GetFrameMoveRects: #type (this: *IDXGIOutputDuplication, MoveRectsBufferSize: u32, pMoveRectBuffer: *DXGI_OUTDUPL_MOVE_RECT, pMoveRectsBufferSizeRequired: *u32) -> HRESULT #cpp_method
GetFramePointerShape: #type (this: *IDXGIOutputDuplication, PointerShapeBufferSize: u32, pPointerShapeBuffer: *void, pPointerShapeBufferSizeRequired: *u32, pPointerShapeInfo: *DXGI_OUTDUPL_POINTER_SHAPE_INFO) -> HRESULT #cpp_method
MapDesktopSurface: #type (this: *IDXGIOutputDuplication, pLockedRect: *DXGI_MAPPED_RECT) -> HRESULT #cpp_method
UnMapDesktopSurface: #type (this: *IDXGIOutputDuplication) -> HRESULT #cpp_method
ReleaseFrame: #type (this: *IDXGIOutputDuplication) -> HRESULT #cpp_method
:: struct
GetDesc1: #type (this: *IDXGISwapChain1, pDesc: *DXGI_SWAP_CHAIN_DESC1) -> HRESULT #cpp_method
GetFullscreenDesc: #type (this: *IDXGISwapChain1, pDesc: *DXGI_SWAP_CHAIN_FULLSCREEN_DESC) -> HRESULT #cpp_method
GetHwnd: #type (this: *IDXGISwapChain1, pHwnd: *HWND) -> HRESULT #cpp_method
GetCoreWindow: #type (this: *IDXGISwapChain1, refiid: *IID, ppUnk: **void) -> HRESULT #cpp_method
Present1: #type (this: *IDXGISwapChain1, SyncInterval: u32, PresentFlags: u32, pPresentParameters: *DXGI_PRESENT_PARAMETERS) -> HRESULT #cpp_method
IsTemporaryMonoSupported: #type (this: *IDXGISwapChain1) -> BOOL #cpp_method
GetRestrictToOutput: #type (this: *IDXGISwapChain1, ppRestrictToOutput: **IDXGIOutput) -> HRESULT #cpp_method
SetBackgroundColor: #type (this: *IDXGISwapChain1, pColor: *DXGI_RGBA) -> HRESULT #cpp_method
GetBackgroundColor: #type (this: *IDXGISwapChain1, pColor: *DXGI_RGBA) -> HRESULT #cpp_method
SetRotation: #type (this: *IDXGISwapChain1, Rotation: DXGI_MODE_ROTATION) -> HRESULT #cpp_method
GetRotation: #type (this: *IDXGISwapChain1, pRotation: *DXGI_MODE_ROTATION) -> HRESULT #cpp_method
:: struct
SetSourceSize: #type (this: *IDXGISwapChain2, Width: u32, Height: u32) -> HRESULT #cpp_method
GetSourceSize: #type (this: *IDXGISwapChain2, pWidth: *u32, pHeight: *u32) -> HRESULT #cpp_method
SetMaximumFrameLatency: #type (this: *IDXGISwapChain2, MaxLatency: u32) -> HRESULT #cpp_method
GetMaximumFrameLatency: #type (this: *IDXGISwapChain2, pMaxLatency: *u32) -> HRESULT #cpp_method
GetFrameLatencyWaitableObject: #type (this: *IDXGISwapChain2) -> HANDLE #cpp_method
SetMatrixTransform: #type (this: *IDXGISwapChain2, pMatrix: *DXGI_MATRIX_3X2_F) -> HRESULT #cpp_method
GetMatrixTransform: #type (this: *IDXGISwapChain2, pMatrix: *DXGI_MATRIX_3X2_F) -> HRESULT #cpp_method
:: struct
GetCurrentBackBufferIndex: #type (this: *IDXGISwapChain3) -> u32 #cpp_method
CheckColorSpaceSupport: #type (this: *IDXGISwapChain3, ColorSpace: DXGI_COLOR_SPACE_TYPE, pColorSpaceSupport: *u32) -> HRESULT #cpp_method
SetColorSpace1: #type (this: *IDXGISwapChain3, ColorSpace: DXGI_COLOR_SPACE_TYPE) -> HRESULT #cpp_method
ResizeBuffers1: #type (this: *IDXGISwapChain3, BufferCount: u32, Width: u32, Height: u32, Format: DXGI_FORMAT, SwapChainFlags: u32, pCreationNodeMask: *u32, ppPresentQueue: **IUnknown) -> HRESULT #cpp_method
:: struct
Present: #type (this: *IDXGISwapChain, SyncInterval: u32, Flags: u32) -> HRESULT #cpp_method
GetBuffer: #type (this: *IDXGISwapChain, Buffer: u32, riid: *IID, ppSurface: **void) -> HRESULT #cpp_method
SetFullscreenState: #type (this: *IDXGISwapChain, Fullscreen: BOOL, pTarget: *IDXGIOutput) -> HRESULT #cpp_method
GetFullscreenState: #type (this: *IDXGISwapChain, pFullscreen: *BOOL, ppTarget: **IDXGIOutput) -> HRESULT #cpp_method
GetDesc: #type (this: *IDXGISwapChain, pDesc: *DXGI_SWAP_CHAIN_DESC) -> HRESULT #cpp_method
ResizeBuffers: #type (this: *IDXGISwapChain, BufferCount: u32, Width: u32, Height: u32, NewFormat: DXGI_FORMAT, SwapChainFlags: u32) -> HRESULT #cpp_method
ResizeTarget: #type (this: *IDXGISwapChain, pNewTargetParameters: *DXGI_MODE_DESC) -> HRESULT #cpp_method
GetContainingOutput: #type (this: *IDXGISwapChain, ppOutput: **IDXGIOutput) -> HRESULT #cpp_method
GetFrameStatistics: #type (this: *IDXGISwapChain, pStats: *DXGI_FRAME_STATISTICS) -> HRESULT #cpp_method
GetLastPresentCount: #type (this: *IDXGISwapChain, pLastPresentCount: *u32) -> HRESULT #cpp_method
DXGI_RGBAstructforeignSource
:: struct
r: float
g: float
b: float
a: float

Constants#