Composition swapchain

Overview of the composition swapchain technology.

To develop with composition swapchain, you need these headers:

For programming guidance for this technology, see:

Enumerations

 
CompositionFrameInstanceKind

Defines constants that indicate how the content was used in a composition frame.
PresentStatisticsKind

Defines constants that indicate the kind of presentation surface the statistics are for.
PresentStatus

Defines constants that specify the status of a present.

Functions

 
CancelPresentsFrom

Cancels any previously issued and still in-flight presents that have not yet displayed, and whose Present IDs are at least the passed in presentIdToCancelFrom.
CreatePresentationFactory

Creates a presentation factory.
CreatePresentationManager

Creates a presentation manager.
CreatePresentationSurface

Creates a presentation surface for a piece of content that can be hosted in a visual tree and assigned a single front buffer.
DECLSPEC_XFGVIRT

DECLSPEC_XFGVIRT

EnablePresentStatisticsKind

Enables or disables the specified present statistics kind.
ForceVSyncInterrupt

Sets a value that indicates whether the GPU should always issue a VSync interrupt when a present is shown.
GetAvailableEvent

Gets a handle to an event that signals when the buffer is available.
GetCompositionFrameId

Gets the ID of the composition frame, to be used in other APIs to get more detailed information.
GetCompositionFrameId

Gets the ID of the composition frame on which the present was processed, skipped, or canceled.
GetContentTag

Gets the tag of the content on which statistics are being reporting.
GetContentTag

Gets the tag of the content on which statistics are being reporting.
GetDisplayedTime

Gets the time the present was displayed.
GetDisplayInstanceArray

Gets the array of display instances and its count.
GetKind

Gets the specific kind of present statistics to which this data corresponds.
GetLostEvent

Gets a handle to an event that signals when the presentation manager hits an error it cannot recover from.
GetNextPresentId

Gets the identifier for the next present. All synchronization fences will be signaled to this value when referring to that present.
GetNextPresentStatistics

Gets the next present statistics item in the queue.
GetOutputAdapterLUID

Gets the locally unique ID (LUID) that refers to the display adapter on which this independent-flip present occurred.
GetOutputVidPnSourceId

Gets an integer that identifies a video present source on the display adapter.
GetPresentDuration

Gets the actual amount of time the present was displayed.
GetPresentId

Gets the identifier of the present to which this statistic corresponds.
GetPresentRetiringFence

Gets a fence that signals when a present is retiring.
GetPresentStatisticsAvailableEvent

Gets a handle to an event that signals when present statistics are available to report.
GetPresentStatus

Gets the status of the frame.
IIndependentFlipFramePresentStatistics_GetDisplayedTime_Proxy

IIndependentFlipFramePresentStatistics_GetDisplayedTime_Stub

IIndependentFlipFramePresentStatistics_GetOutputAdapterLUID_Proxy

IIndependentFlipFramePresentStatistics_GetOutputAdapterLUID_Stub

IIndependentFlipFramePresentStatistics_GetPresentDuration_Proxy

IIndependentFlipFramePresentStatistics_GetPresentDuration_Stub

IsAvailable

Gets a value that indicates whether or not this buffer is available for use by the producer.
IsPresentationSupported

Gets a value that indicates whether presentation of any sort (with or without independent flip) is supported on the backing D3D device.
IsPresentationSupportedWithIndependentFlip

Gets a value that indicates whether independent-flip-enabled presentation is supported on the backing D3D device.
Present

Presents this presentation manager.
RestrictToOutput

Restricts presentation to a specific display adapter output.
SetAlphaMode

Sets the transparency behavior of the presentation surface.
SetBuffer

Sets the presentation buffer associated with this presentation surface.
SetColorSpace

Sets the type of color space used by the presentation surface.
SetDisableReadback

Sets a flag to disable or enable buffer read back.
SetLetterboxingMargins

Sets the size, in visual space, taken by each letterbox area.
SetPreferredPresentDuration

Sets the preferred frame duration.
SetSourceRect

Sets the area of the source presentation buffer to sample from.
SetTag

Sets a user-defined tag to associate with this content. This tag is how the content is referenced in statistics.
SetTargetTime

Sets a target time for the next present.
SetTransform

Sets the transform applied to the source buffer area to define the on-screen area where the buffer will appear.

Interfaces

 
ICompositionFramePresentStatistics

Describes how the system displayed an instance of a particular piece of content within a particular present.
IIndependentFlipFramePresentStatistics

Describes how the system displayed an instance of a particular piece of content within a particular independent-flip present.
IPresentationBuffer

Describes a presentation buffer that has been registered with a presentation manager.
IPresentationContent

Describes the base representation of all presentation content.
IPresentationFactory

This interface is used to query system support for presentation, and create a presentation manager.
IPresentationManager

Defines methods for managing presentation.
IPresentationSurface

Describes an IPresentationContent with a single bound buffer, that can be shared with the system compositor and displayed as content in the global visual tree.
IPresentStatistics

Represents a single entry in the present statistics queue.
IPresentStatusPresentStatistics

Describes how a present was processed during a DWM-composed frame.

Structures

 
CompositionFrameDisplayInstance

Represents a single instance of the content shown on a single output.
PresentationTransform

Represents an arbitrary affine 2D transformation defined by a 3-by-2 matrix.
SystemInterruptTime

Represents the amount of time since the system was last started, in 100ns intervals.