PFND3DWDDM2_6DDI_QUERY_SCANOUT_CAPS回调函数 (d3d10umddi.h)

查询是否应在准备翻转作时发生转换。

语法

PFND3DWDDM2_6DDI_QUERY_SCANOUT_CAPS Pfnd3dwddm26DdiQueryScanoutCaps;

void Pfnd3dwddm26DdiQueryScanoutCaps(
  D3D10DDI_HDEVICE unnamedParam1,
  D3D10DDI_HRESOURCE unnamedParam2,
  UINT Subresource,
  D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId,
  UINT PlaneIdx,
  D3DWDDM2_6DDI_SCANOUT_FLAGS *pFlags
)
{...}

参数

unnamedParam1

hDevice [in]

设备的句柄。

unnamedParam2

hResource [in]

与分配关联的资源的句柄。

Subresource

子资源索引。

VidPnSourceId

视频演示网络拓扑路径中视频演示源的从零开始的 ID。

PlaneIdx

平面的索引。

pFlags

指示转换类型的 D3DWDDM2_6DDI_SCANOUT_FLAGS 值。

返回值

没有

言论

在 WDDM 2.6 中,D3D11 运行时将更新为在发出全屏或多平面覆盖翻转之前调用此 DDI。 如果结果是需要转换,或者需要转换,并且没有 API 请求来禁用转换,则运行时将调用 PFND3DWDDM2_6DDI_PREPARE_SCANOUT_TRANSFORMATION

请注意,运行时不会在 Windows 10 版本 1903 中存在的窗口翻转模型期间调用PFND3DWDDM2_6DDI_QUERY_SCANOUT_CAPS和PFND3DWDDM2_6DDI_PREPARE_SCANOUT_TRANSFORMATION,因为运行时不知道是否会发生,如果是,它将使用哪个 VidPnSource 和平面。

驱动程序可能不会在 D3DWDDM2_6DDI_SCANOUT_FLAGS中同时设置D3DWDDM2_6DDI_SCANOUT_FLAG_TRANSFORMATION_REQUIRED和D3DWDDM2_6DDI_SCANOUT_FLAG_TRANSFORMATION_DESIRED标志。

无论是否发生转换,驱动程序都应使用 D3DWDDM2_6DDI_SCANOUT_FLAG_UNPREDICTABLE_TIMING 标志向运行时指示生成的分配是否遵循可预测的扫描超时时间。 此信息将用于调整前缓冲区呈现安全边距。

要求

要求 价值
最低支持的客户端 Windows 10 版本 1903
标头 d3d10umddi.h