// dxgiddi.h
typedef enum DXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS {
DXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS_ROTATION_WITHOUT_INDEPENDENT_FLIP,
DXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS_VERTICAL_FLIP,
DXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS_HORIZONTAL_FLIP,
DXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS_DEINTERLACE,
DXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS_STEREO,
DXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS_RGB,
DXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS_YUV,
DXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS_BILINEAR_FILTER,
DXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS_HIGH_FILTER,
DXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS_ROTATION,
DXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS_FULLSCREEN_POST_COMPOSITION,
DXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_RESERVED1,
DXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS_SHARED,
DXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS_IMMEDIATE,
DXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS_PLANE0_FOR_VIRTUAL_MODE_ONLY
} ;
View the official Windows Driver Kit DDI referenceNo description available.
Identifies overlay capabilities.
DXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS_ROTATION_WITHOUT_INDEPENDENT_FLIPDXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS_VERTICAL_FLIPThe overlay plane can flip the data vertically, making it appear upside-down.
DXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS_HORIZONTAL_FLIPThe overlay plane can flip the data horizontally, making it appear as a right-to-left mirror image.
DXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS_DEINTERLACEReserved for system use. The user-mode display driver should not use this value.
DXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS_STEREOReserved for system use. The user-mode display driver should not use this value.
DXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS_RGBDXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS_YUVDXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS_BILINEAR_FILTERCan do bilinear stretching.
DXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS_HIGH_FILTERCan do better than bilinear stretching.
DXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS_ROTATIONThe overlay plane can rotate the data 90, 180, and 270 degrees.
DXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS_FULLSCREEN_POST_COMPOSITIONIndicates that the caps reported in this group apply to a fullscreen plane and that all operation applied to this plane occur after composition with other MPO planes has occurred. This is useful for the following scenarios:
Panel fitter HW can be employed to stretch the surface to match the screen. This is useful for supporting virtual modes.
It can stretch or shrink the desktop plane for the VidPnSourceId to match of a single monitor with the following limitations:
If a HW cursor is supported, the HW cursor will get composed with the desktop plane prior to the stretching (i.e. the HW cursor will get stretched or shrunk with the rest of the desktop plane).
In HDR scenarios, the presenting the HDR allocation (potentially with metadata) will just look like an MPO present with a single plane that covers the entire screen.
This flag should not be reported in the same capability groups as normal MPO.
DXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_RESERVED1DXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS_SHAREDIndicates that the hardware described in this capability group could be shared across outputs.
For example, if hardware supports a dedicated panel fitter per output, but also supports 4 additional MPO planes that are shared across multiple outputs, the driver would report the following capability groups on each output:
DXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS_IMMEDIATEIndicates that the HW supports immediate flips of the MPO plane as long as the only change is the display start address.
DXGI_DDI_MULTIPLANE_OVERLAY_FEATURE_CAPS_PLANE0_FOR_VIRTUAL_MODE_ONLYIndicates that stretching/shrinking of plane 0 should only occur when plane 0 is the desktop plane and the stretching/shrinking is used for virtual mode support.