DXGI

Overview of the DXGI technology.

To develop DXGI, you need these headers:

For programming guidance for this technology, see:

Enumerations

 
DXGI_ADAPTER_FLAG

Identifies the type of DXGI adapter.
DXGI_ADAPTER_FLAG3

Identifies the type of DXGI adapter.
DXGI_ALPHA_MODE

Identifies the alpha value, transparency behavior, of a surface.
DXGI_COLOR_SPACE_TYPE

Specifies color space types.
DXGI_COMPUTE_PREEMPTION_GRANULARITY

Identifies the granularity at which the graphics processing unit (GPU) can be preempted from performing its current compute task.
DXGI_DEBUG_RLO_FLAGS

Flags used with ReportLiveObjects to specify the amount of info to report about an object's lifetime.
DXGI_FEATURE

Specifies a range of hardware features, to be used when checking for feature support.
DXGI_FORMAT

Resource data formats, including fully-typed and typeless formats. A list of modifiers at the bottom of the page more fully describes each format type.
DXGI_FRAME_PRESENTATION_MODE

Indicates options for presenting frames to the swap chain.
DXGI_GPU_PREFERENCE

The preference of GPU for the app to run on.
DXGI_GRAPHICS_PREEMPTION_GRANULARITY

Identifies the granularity at which the graphics processing unit (GPU) can be preempted from performing its current graphics rendering task.
DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS

Describes which levels of hardware composition are supported.
DXGI_HDR_METADATA_TYPE

Specifies the header metadata type.
DXGI_INFO_QUEUE_MESSAGE_CATEGORY

Values that specify categories of debug messages.
DXGI_INFO_QUEUE_MESSAGE_SEVERITY

Values that specify debug message severity levels for an information queue.
DXGI_MEMORY_SEGMENT_GROUP

Specifies the memory segment group to use.
DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS

Options for swap-chain color space.
DXGI_OFFER_RESOURCE_FLAGS

Specifies flags for the OfferResources1 method.
DXGI_OFFER_RESOURCE_PRIORITY

Identifies the importance of a resource’s content when you call the IDXGIDevice2::OfferResources method to offer the resource.
DXGI_OUTDUPL_POINTER_SHAPE_TYPE

Identifies the type of pointer shape.
DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG

Specifies support for overlay color space.
DXGI_OVERLAY_SUPPORT_FLAG

Specifies overlay support to check for in a call to IDXGIOutput3::CheckOverlaySupport.
DXGI_RECLAIM_RESOURCE_RESULTS

Specifies result flags for the ReclaimResources1 method.
DXGI_RESIDENCY

Flags indicating the memory location of a resource.
DXGI_SCALING

Identifies resize behavior when the back-buffer size does not match the size of the target output.
DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG

Specifies color space support for the swap chain.
DXGI_SWAP_CHAIN_FLAG

Options for swap-chain behavior.
DXGI_SWAP_EFFECT

Options for handling pixels in a display surface after calling IDXGISwapChain1::Present1.

Functions

 
AcquireNextFrame

Indicates that the application is ready to process the next desktop image.
AcquireSync

Using a key, acquires exclusive rendering access to a shared resource.
AddApplicationMessage

Adds a user-defined message to the message queue and sends that message to the debug output.
AddMessage

Adds a debug message to the message queue and sends that message to the debug output.
AddRetrievalFilterEntries

Adds retrieval filters to the top of the retrieval-filter stack.
AddStorageFilterEntries

Adds storage filters to the top of the storage-filter stack.
CheckColorSpaceSupport

Checks the swap chain's support for color space.
CheckFeatureSupport

Used to check for hardware feature support.
CheckHardwareCompositionSupport

Notifies applications that hardware stretching is supported.
CheckInterfaceSupport

Checks whether the system supports a device interface for a graphics component.
CheckOverlayColorSpaceSupport

Checks for overlay color space support.
CheckOverlaySupport

Checks for overlay support.
CheckPresentDurationSupport

Queries the graphics driver for a supported frame present duration corresponding to a custom refresh rate.
ClearRetrievalFilter

Removes a retrieval filter from the top of the retrieval-filter stack.
ClearStorageFilter

Removes a storage filter from the top of the storage-filter stack.
ClearStoredMessages

Clears all messages from the message queue.
CreateDecodeSwapChainForCompositionSurfaceHandle

Creates a YUV swap chain for an existing DirectComposition surface handle.
CreateDXGIFactory

Creates a DXGI 1.0 factory that you can use to generate other DXGI objects.
CreateDXGIFactory1

Creates a DXGI 1.1 factory that you can use to generate other DXGI objects.
CreateDXGIFactory2

Creates a DXGI 1.3 factory that you can use to generate other DXGI objects.
CreateSharedHandle

Creates a handle to a shared resource. You can then use the returned handle with multiple Direct3D devices.
CreateSoftwareAdapter

Create an adapter interface that represents a software adapter.
CreateSubresourceSurface

Creates a subresource surface object.
CreateSurface

Returns a surface. This method is used internally and you should not call it directly in your application.
CreateSwapChain

Creates a swap chain.
CreateSwapChainForComposition

Creates a swap chain that you can use to send Direct3D content into the DirectComposition API or the Windows.UI.Xaml framework to compose in a window.
CreateSwapChainForCompositionSurfaceHandle

Creates a YUV swap chain for an existing DirectComposition surface handle.
CreateSwapChainForCoreWindow

Creates a swap chain that is associated with the CoreWindow object for the output window for the swap chain.
CreateSwapChainForHwnd

Creates a swap chain that is associated with an HWND handle to the output window for the swap chain.
DisableLeakTrackingForThread

Stops tracking leaks for the current thread.
DuplicateOutput

Creates a desktop duplication interface from the IDXGIOutput1 interface that represents an adapter output.
DuplicateOutput1

Allows specifying a list of supported formats for fullscreen surfaces that can be returned by the IDXGIOutputDuplication object.
DXGIDeclareAdapterRemovalSupport

Allows a process to indicate that it's resilient to any of its graphics devices being removed.
DXGIGetDebugInterface

Retrieves a debugging interface.
DXGIGetDebugInterface1

Retrieves an interface that Windows Store apps use for debugging the Microsoft DirectX Graphics Infrastructure (DXGI).
EnableLeakTrackingForThread

Starts tracking leaks for the current thread.
EnqueueSetEvent

Flushes any outstanding rendering commands and sets the specified event object to the signaled state after all previously submitted rendering commands complete.
EnumAdapterByGpuPreference

Enumerates graphics adapters based on a given GPU preference.
EnumAdapterByLuid

Outputs the IDXGIAdapter for the specified LUID.
EnumAdapters

Enumerates the adapters (video cards).
EnumAdapters1

Enumerates both adapters (video cards) with or without outputs.
EnumOutputs

Enumerate adapter (video card) outputs.
EnumWarpAdapter

Provides an adapter which can be provided to D3D12CreateDevice to use the WARP renderer.
FindClosestMatchingMode

Finds the display mode that most closely matches the requested display mode.
FindClosestMatchingMode1

Finds the display mode that most closely matches the requested display mode.
GetAdapter

Returns the adapter for the specified device.
GetBackgroundColor

Retrieves the background color of the swap chain.
GetBreakOnCategory

Determines whether the break on a message category is turned on or off.
GetBreakOnID

Determines whether the break on a message identifier is turned on or off.
GetBreakOnSeverity

Determines whether the break on a message severity level is turned on or off.
GetBuffer

Accesses one of the swap-chain's back buffers.
GetColorSpace

Gets the color space used by the swap chain.
GetContainingOutput

Get the output (the display monitor) that contains the majority of the client area of the target window.
GetCoreWindow

Retrieves the underlying CoreWindow object for this swap-chain object.
GetCreationFlags

Gets the flags that were used when a Microsoft DirectX Graphics Infrastructure (DXGI) object was created.
GetCurrentBackBufferIndex

Gets the index of the swap chain's current back buffer.
GetDC

Returns a device context (DC) that allows you to render to a Microsoft DirectX Graphics Infrastructure (DXGI) surface using Windows Graphics Device Interface (GDI).
GetDesc

Gets a DXGI 1.0 description of an adapter (or video card).
GetDesc

Get a description of the output.
GetDesc

Get a description of the surface.
GetDesc

Get a description of the swap chain.
GetDesc

Retrieves a description of a duplicated output. This description specifies the dimensions of the surface that contains the desktop image.
GetDesc1

Gets a DXGI 1.1 description of an adapter (or video card).
GetDesc1

Gets a description of the swap chain.
GetDesc1

Get an extended description of the output that includes color characteristics and connection type.
GetDesc2

Gets a Microsoft DirectX Graphics Infrastructure (DXGI) 1.2 description of an adapter or video card.
GetDesc3

Gets a Microsoft DirectX Graphics Infrastructure (DXGI) 1.6 description of an adapter or video card. This description includes information about ACG compatibility.
GetDestSize

Gets the size of the destination surface to use for the video processing blit operation.
GetDevice

Retrieves the device.
GetDisplayModeList

Gets the display modes that match the requested format and other input options.
GetDisplayModeList1

Gets the display modes that match the requested format and other input options.
GetDisplaySurfaceData

Gets a copy of the current display surface.
GetDisplaySurfaceData1

Copies the display surface (front buffer) to a user-provided resource.
GetEvictionPriority

Get the eviction priority.
GetFrameDirtyRects

Gets information about dirty rectangles for the current desktop frame.
GetFrameLatencyWaitableObject

Returns a waitable handle that signals when the DXGI adapter has finished presenting a new frame.
GetFrameMoveRects

Gets information about the moved rectangles for the current desktop frame.
GetFramePointerShape

Gets information about the new pointer shape for the current desktop frame.
GetFrameStatistics

Gets statistics about recently rendered frames.
GetFrameStatistics

Gets performance statistics about the last render frame.
GetFrameStatisticsMedia

Queries the system for a DXGI_FRAME_STATISTICS_MEDIA structure that indicates whether a custom refresh rate is currently approved by the system.
GetFullscreenDesc

Gets a description of a full-screen swap chain.
GetFullscreenState

Get the state associated with full-screen mode.
GetGammaControl

Gets the gamma control settings.
GetGammaControlCapabilities

Gets a description of the gamma-control capabilities.
GetGPUThreadPriority

Gets the GPU thread priority.
GetHwnd

Retrieves the underlying HWND for this swap-chain object.
GetLastPresentCount

Gets the number of times that IDXGISwapChain::Present or IDXGISwapChain1::Present1 has been called.
GetMatrixTransform

Gets the transform matrix that will be applied to a composition swap chain upon the next present.
GetMaximumFrameLatency

Gets the number of frames that the system is allowed to queue for rendering.
GetMaximumFrameLatency

Gets the number of frames that the swap chain is allowed to queue for rendering.
GetMessage

Gets a message from the message queue.
GetMessageCountLimit

Gets the maximum number of messages that can be added to the message queue.
GetMuteDebugOutput

Determines whether the debug output is turned on or off.
GetNumMessagesAllowedByStorageFilter

Gets the number of messages that a storage filter allowed to pass through.
GetNumMessagesDeniedByStorageFilter

Gets the number of messages that were denied passage through a storage filter.
GetNumMessagesDiscardedByMessageCountLimit

Gets the number of messages that were discarded due to the message count limit.
GetNumStoredMessages

Gets the number of messages currently stored in the message queue.
GetNumStoredMessagesAllowedByRetrievalFilters

Gets the number of messages that can pass through a retrieval filter.
GetParent

Gets the parent of the object.
GetPrivateData

Get a pointer to the object's data.
GetResource

Gets the parent resource and subresource index that support a subresource surface.
GetRestrictToOutput

Gets the output (the display monitor) to which you can restrict the contents of a present operation.
GetRetrievalFilter

Gets the retrieval filter at the top of the retrieval-filter stack.
GetRetrievalFilterStackSize

Gets the size of the retrieval-filter stack in bytes.
GetRotation

Gets the rotation of the back buffers for the swap chain.
GetSharedHandle

Gets the handle to a shared resource.
GetSharedResourceAdapterLuid

Identifies the adapter on which a shared resource object was created.
GetSourceRect

Gets the source region that is used for the swap chain.
GetSourceSize

Gets the source region used for the swap chain.
GetStorageFilter

Gets the storage filter at the top of the storage-filter stack.
GetStorageFilterStackSize

Gets the size of the storage-filter stack in bytes.
GetTargetRect

Gets the rectangle that defines the target region for the video processing blit operation.
GetUsage

Get the expected resource usage.
GetWindowAssociation

Get the window through which the user controls the transition to and from full screen.
IsCurrent

Informs an application of the possible need to re-enumerate adapters.
IsLeakTrackingEnabledForThread

Gets a value indicating whether leak tracking is turned on for the current thread.
IsStereoEnabled

Retrieves a Boolean value that indicates whether the operating system's stereoscopic 3D display behavior is enabled.
IsTemporaryMonoSupported

Determines whether a swap chain supports “temporary mono.”
IsWindowedStereoEnabled

Determines whether to use stereo mode.
MakeWindowAssociation

Allows DXGI to monitor an application's message queue for the alt-enter key sequence (which causes the application to switch from windowed to full screen or vice versa).
Map

Get a pointer to the data contained in the surface, and deny GPU access to the surface.
MapDesktopSurface

Provides the CPU with efficient access to a desktop image if that desktop image is already in system memory.
OfferResources

Allows the operating system to free the video memory of resources by discarding their content.
OfferResources1

Allows the operating system to free the video memory of resources, including both discarding the content and de-committing the memory.
PopRetrievalFilter

Pops a retrieval filter from the top of the retrieval-filter stack.
PopStorageFilter

Pops a storage filter from the top of the storage-filter stack.
Present

Presents a rendered image to the user.
Present1

Presents a frame on the display screen.
PresentBuffer

Presents a frame on the output adapter.
PushCopyOfRetrievalFilter

Pushes a copy of the retrieval filter that is currently on the top of the retrieval-filter stack onto the retrieval-filter stack.
PushCopyOfStorageFilter

Pushes a copy of the storage filter that is currently on the top of the storage-filter stack onto the storage-filter stack.
PushDenyAllRetrievalFilter

Pushes a deny-all retrieval filter onto the retrieval-filter stack.
PushDenyAllStorageFilter

Pushes a deny-all storage filter onto the storage-filter stack.
PushEmptyRetrievalFilter

Pushes an empty retrieval filter onto the retrieval-filter stack.
PushEmptyStorageFilter

Pushes an empty storage filter onto the storage-filter stack.
PushRetrievalFilter

Pushes a retrieval filter onto the retrieval-filter stack.
PushStorageFilter

Pushes a storage filter onto the storage-filter stack.
QueryResourceResidency

Gets the residency status of an array of resources.
QueryVideoMemoryInfo

This method informs the process of the current budget and process usage.
ReclaimResources

Restores access to resources that were previously offered by calling IDXGIDevice2::OfferResources.
ReclaimResources1

Restores access to resources that were previously offered by calling IDXGIDevice4::OfferResources1.
RegisterAdaptersChangedEvent

Registers to receive notification of changes whenever the adapter enumeration state changes.
RegisterHardwareContentProtectionTeardownStatusEvent

Registers to receive notification of hardware content protection teardown events.
RegisterOcclusionStatusEvent

Registers to receive notification of changes in occlusion status by using event signaling.
RegisterOcclusionStatusWindow

Registers an application window to receive notification messages of changes of occlusion status.
RegisterStereoStatusEvent

Registers to receive notification of changes in stereo status by using event signaling.
RegisterStereoStatusWindow

Registers an application window to receive notification messages of changes of stereo status.
RegisterVideoMemoryBudgetChangeNotificationEvent

This method establishes a correlation between a CPU synchronization object and the budget change event.
ReleaseDC

Releases the GDI device context (DC) that is associated with the current surface and allows you to use Direct3D to render.
ReleaseFrame

Indicates that the application finished processing the frame.
ReleaseOwnership

Releases ownership of the output.
ReleaseSync

Using a key, releases exclusive rendering access to a shared resource.
ReportLiveObjects

Reports info about the lifetime of an object or objects.
ResizeBuffers

Changes the swap chain's back buffer size, format, and number of buffers. This should be called when the application window is resized.
ResizeBuffers1

Changes the swap chain's back buffer size, format, and number of buffers, where the swap chain was created using a D3D12 command queue as an input device. This should be called when the application window is resized.
ResizeTarget

Resizes the output target.
SetBackgroundColor

Changes the background color of the swap chain.
SetBreakOnCategory

Sets a message category to break on when a message with that category passes through the storage filter.
SetBreakOnID

Sets a message identifier to break on when a message with that identifier passes through the storage filter.
SetBreakOnSeverity

Sets a message severity level to break on when a message with that severity level passes through the storage filter.
SetColorSpace

Sets the color space used by the swap chain.
SetColorSpace1

Sets the color space used by the swap chain.
SetDestSize

Sets the size of the destination surface to use for the video processing blit operation.
SetDisplaySurface

Changes the display mode.
SetEvictionPriority

Set the priority for evicting the resource from memory.
SetFullscreenState

Sets the display state to windowed or full screen.
SetGammaControl

Sets the gamma controls.
SetGPUThreadPriority

Sets the GPU thread priority.
SetHDRMetaData

This method sets High Dynamic Range (HDR) and Wide Color Gamut (WCG) header metadata.
SetMatrixTransform

Sets the transform matrix that will be applied to a composition swap chain upon the next present.
SetMaximumFrameLatency

Sets the number of frames that the system is allowed to queue for rendering.
SetMaximumFrameLatency

Sets the number of frames that the swap chain is allowed to queue for rendering.
SetMessageCountLimit

Sets the maximum number of messages that can be added to the message queue.
SetMuteDebugOutput

Turns the debug output on or off.
SetPresentDuration

Requests a custom presentation duration (custom refresh rate).
SetPrivateData

Sets application-defined data to the object and associates that data with a GUID.
SetPrivateDataInterface

Set an interface in the object's private data.
SetRotation

Sets the rotation of the back buffers for the swap chain.
SetSourceRect

Sets the rectangle that defines the source region for the video processing blit operation.
SetSourceSize

Sets the source region to be used for the swap chain.
SetStereoEnabled

Set a Boolean value to either enable or disable the operating system's stereoscopic 3D display behavior.
SetTargetRect

Sets the rectangle that defines the target region for the video processing blit operation.
SetVideoMemoryReservation

This method sends the minimum required physical memory for an application, to the OS.
SupportsOverlays

Queries an adapter output for multiplane overlay support.
TakeOwnership

Takes ownership of an output.
Trim

Trims the graphics memory allocated by the IDXGIDevice3 DXGI device on the app's behalf.
Unmap

Invalidate the pointer to the surface retrieved by IDXGISurface::Map and re-enable GPU access to the resource.
UnMapDesktopSurface

Invalidates the pointer to the desktop image that was retrieved by using IDXGIOutputDuplication::MapDesktopSurface.
UnregisterAdaptersChangedEvent

Unregisters an event to stop receiving notifications when the adapter enumeration state changes.
UnregisterHardwareContentProtectionTeardownStatus

Unregisters an event to stop it from receiving notification of hardware content protection teardown events.
UnregisterOcclusionStatus

Unregisters a window or an event to stop it from receiving notification when occlusion status changes.
UnregisterStereoStatus

Unregisters a window or an event to stop it from receiving notification when stereo status changes.
UnregisterVideoMemoryBudgetChangeNotification

This method stops notifying a CPU synchronization object whenever a budget change occurs. An application may switch back to polling the information regularly.
WaitForVBlank

Halt a thread until the next vertical blank occurs.

Interfaces

 
IDXGIAdapter

The IDXGIAdapter interface represents a display subsystem (including one or more GPUs, DACs and video memory).
IDXGIAdapter1

The IDXGIAdapter1 interface represents a display sub-system (including one or more GPU's, DACs and video memory).
IDXGIAdapter2

The IDXGIAdapter2 interface represents a display subsystem, which includes one or more GPUs, DACs, and video memory.
IDXGIAdapter3

This interface adds some memory residency methods, for budgeting and reserving physical memory.
IDXGIAdapter4

This interface represents a display subsystem, and extends this family of interfaces to expose a method to check for an adapter's compatibility with Arbitrary Code Guard (ACG).
IDXGIDebug

This interface controls debug settings, and can only be used if the debug layer is turned on.
IDXGIDebug1

Controls debug settings for Microsoft DirectX Graphics Infrastructure (DXGI). You can use the IDXGIDebug1 interface in Windows Store apps.
IDXGIDecodeSwapChain

Represents a swap chain that is used by desktop media apps to decode video data and show it on a DirectComposition surface.
IDXGIDevice

An IDXGIDevice interface implements a derived class for DXGI objects that produce image data.
IDXGIDevice1

An IDXGIDevice1 interface implements a derived class for DXGI objects that produce image data.
IDXGIDevice2

The IDXGIDevice2 interface implements a derived class for DXGI objects that produce image data. The interface exposes methods to block CPU processing until the GPU completes processing, and to offer resources to the operating system.
IDXGIDevice3

The IDXGIDevice3 interface implements a derived class for DXGI objects that produce image data. The interface exposes a method to trim graphics memory usage by the DXGI device.
IDXGIDevice4

This interface provides updated methods to offer and reclaim resources.
IDXGIDeviceSubObject

Inherited from objects that are tied to the device so that they can retrieve a pointer to it.
IDXGIDisplayControl

The IDXGIDisplayControl interface exposes methods to indicate user preference for the operating system's stereoscopic 3D display behavior and to set stereoscopic 3D display status to enable or disable.
IDXGIFactory

An IDXGIFactory interface implements methods for generating DXGI objects (which handle full screen transitions).
IDXGIFactory1

The IDXGIFactory1 interface implements methods for generating DXGI objects.
IDXGIFactory2

The IDXGIFactory2 interface includes methods to create a newer version swap chain with more features than IDXGISwapChain and to monitor stereoscopic 3D capabilities.
IDXGIFactory3

Enables creating Microsoft DirectX Graphics Infrastructure (DXGI) objects.
IDXGIFactory4

Enables creating Microsoft DirectX Graphics Infrastructure (DXGI) objects.
IDXGIFactory5

This interface enables a single method to support variable refresh rate displays.
IDXGIFactory6

This interface enables a single method that enumerates graphics adapters based on a given GPU preference.
IDXGIFactory7

This interface enables registration for notifications to detect adapter enumeration state changes.
IDXGIFactoryMedia

Creates swap chains for desktop media apps that use DirectComposition surfaces to decode and display video.
IDXGIInfoQueue

This interface controls the debug information queue, and can only be used if the debug layer is turned on.
IDXGIKeyedMutex

Represents a keyed mutex, which allows exclusive access to a shared resource that is used by multiple devices.
IDXGIObject

An IDXGIObject interface is a base interface for all DXGI objects; IDXGIObject supports associating caller-defined (private data) with an object and retrieval of an interface to the parent object.
IDXGIOutput

An IDXGIOutput interface represents an adapter output (such as a monitor).
IDXGIOutput1

An IDXGIOutput1 interface represents an adapter output (such as a monitor).
IDXGIOutput2

Represents an adapter output (such as a monitor). The IDXGIOutput2 interface exposes a method to check for multiplane overlay support on the primary output adapter.
IDXGIOutput3

Represents an adapter output (such as a monitor). The IDXGIOutput3 interface exposes a method to check for overlay support.
IDXGIOutput4

Represents an adapter output (such as a monitor). The IDXGIOutput4 interface exposes a method to check for overlay color space support.
IDXGIOutput5

Represents an adapter output (such as a monitor). The IDXGIOutput5 interface exposes a single method to specify a list of supported formats for fullscreen surfaces.
IDXGIOutput6

Represents an adapter output (such as a monitor). The IDXGIOutput6 interface exposes methods to provide specific monitor capabilities.
IDXGIOutputDuplication

The IDXGIOutputDuplication interface accesses and manipulates the duplicated desktop image.
IDXGIResource

An IDXGIResource interface allows resource sharing and identifies the memory that a resource resides in.
IDXGIResource1

An IDXGIResource1 interface extends the IDXGIResource interface by adding support for creating a subresource surface object and for creating a handle to a shared resource.
IDXGISurface

The IDXGISurface interface implements methods for image-data objects.
IDXGISurface1

The IDXGISurface1 interface extends the IDXGISurface by adding support for using Windows Graphics Device Interface (GDI) to render to a Microsoft DirectX Graphics Infrastructure (DXGI) surface.
IDXGISurface2

The IDXGISurface2 interface extends the IDXGISurface1 interface by adding support for subresource surfaces and getting a handle to a shared resource.
IDXGISwapChain

An IDXGISwapChain interface implements one or more surfaces for storing rendered data before presenting it to an output.
IDXGISwapChain1

Provides presentation capabilities that are enhanced from IDXGISwapChain. These presentation capabilities consist of specifying dirty rectangles and scroll rectangle to optimize the presentation.
IDXGISwapChain2

Extends IDXGISwapChain1 with methods to support swap back buffer scaling and lower-latency swap chains.
IDXGISwapChain3

Extends IDXGISwapChain2 with methods to support getting the index of the swap chain's current back buffer and support for color space.
IDXGISwapChain4

This interface exposes a single method for setting video metadata.
IDXGISwapChainMedia

This swap chain interface allows desktop media applications to request a seamless change to a specific refresh rate.

Structures

 
DXGI_ADAPTER_DESC

Describes an adapter (or video card) by using DXGI 1.0.
DXGI_ADAPTER_DESC1

Describes an adapter (or video card) using DXGI 1.1.
DXGI_ADAPTER_DESC2

Describes an adapter (or video card) that uses Microsoft DirectX Graphics Infrastructure (DXGI) 1.2.
DXGI_ADAPTER_DESC3

Describes an adapter (or video card) that uses Microsoft DirectX Graphics Infrastructure (DXGI) 1.6.
DXGI_DECODE_SWAP_CHAIN_DESC

Used with IDXGIFactoryMedia::CreateDecodeSwapChainForCompositionSurfaceHandle to describe a decode swap chain.
DXGI_DISPLAY_COLOR_SPACE

Don't use this structure; it is not supported and it will be removed from the header in a future release.
DXGI_FRAME_STATISTICS

Describes timing and presentation statistics for a frame.
DXGI_FRAME_STATISTICS_MEDIA

Used to verify system approval for the app's custom present duration (custom refresh rate).
DXGI_HDR_METADATA_HDR10

Describes the metadata for HDR10, used when video is compressed using High Efficiency Video Coding (HEVC).
DXGI_INFO_QUEUE_FILTER

Describes a debug message filter, which contains lists of message types to allow and deny.
DXGI_INFO_QUEUE_FILTER_DESC

Describes the types of messages to allow or deny to pass through a filter.
DXGI_INFO_QUEUE_MESSAGE

Describes a debug message in the information queue.
DXGI_MAPPED_RECT

Describes a mapped rectangle that is used to access a surface.
DXGI_MATRIX_3X2_F

Represents a 3x2 matrix. Used with GetMatrixTransform and SetMatrixTransform to indicate the scaling and translation transform for SwapChainPanel swap chains.
DXGI_MODE_DESC1

Describes a display mode and whether the display mode supports stereo.
DXGI_OUTDUPL_DESC

The DXGI_OUTDUPL_DESC structure describes the dimension of the output and the surface that contains the desktop image. The format of the desktop image is always DXGI_FORMAT_B8G8R8A8_UNORM.
DXGI_OUTDUPL_FRAME_INFO

The DXGI_OUTDUPL_FRAME_INFO structure describes the current desktop image.
DXGI_OUTDUPL_MOVE_RECT

The DXGI_OUTDUPL_MOVE_RECT structure describes the movement of a rectangle.
DXGI_OUTDUPL_POINTER_POSITION

The DXGI_OUTDUPL_POINTER_POSITION structure describes the position of the hardware cursor.
DXGI_OUTDUPL_POINTER_SHAPE_INFO

The DXGI_OUTDUPL_POINTER_SHAPE_INFO structure describes information about the cursor shape.
DXGI_OUTPUT_DESC

Describes an output or physical connection between the adapter (video card) and a device.
DXGI_OUTPUT_DESC1

Describes an output or physical connection between the adapter (video card) and a device, including additional information about color capabilities and connection type.
DXGI_PRESENT_PARAMETERS

Describes information about present that helps the operating system optimize presentation.
DXGI_QUERY_VIDEO_MEMORY_INFO

Describes the current video memory budgeting parameters.
DXGI_RATIONAL

Represents a rational number.
DXGI_SAMPLE_DESC

Describes multi-sampling parameters for a resource.
DXGI_SHARED_RESOURCE

Represents a handle to a shared resource.
DXGI_SURFACE_DESC

Describes a surface.
DXGI_SWAP_CHAIN_DESC

Describes a swap chain.
DXGI_SWAP_CHAIN_DESC1

Describes a swap chain.
DXGI_SWAP_CHAIN_FULLSCREEN_DESC

Describes full-screen mode for a swap chain.
LUID

Describes a local identifier for an adapter.