ID3D12GraphicsCommandList1::ResolveSubresourceRegion 方法 (d3d12.h)

将多重采样或压缩资源的区域复制到非多重采样或非压缩资源中。

语法

void ResolveSubresourceRegion(
  [in]           ID3D12Resource     *pDstResource,
  [in]           UINT               DstSubresource,
  [in]           UINT               DstX,
  [in]           UINT               DstY,
  [in]           ID3D12Resource     *pSrcResource,
  [in]           UINT               SrcSubresource,
  [in, optional] D3D12_RECT         *pSrcRect,
  [in]           DXGI_FORMAT        Format,
  [in]           D3D12_RESOLVE_MODE ResolveMode
);

参数

[in] pDstResource

类型: ID3D12Resource*

SALIn

目标资源。 必须使用 D3D11_USAGE_DEFAULT 标志创建,并且必须进行单采样,除非要从压缩的资源 (D3D12_RESOLVE_MODE_DECOMPRESS) 解析它;在这种情况下,它必须具有与压缩源相同的样本计数。

[in] DstSubresource

类型: UINT

SALIn

标识目标子资源的从零开始的索引。 如果父资源很复杂,请使用 D3D12CalcSubresource 计算子资源索引。

[in] DstX

类型: UINT

SALIn

目标区域最左侧边缘的 X 坐标。 目标区域的宽度与源矩形的宽度相同。

[in] DstY

类型: UINT

SALIn

目标区域最上边缘的 Y 坐标。 目标区域的高度与源矩形的高度相同。

[in] pSrcResource

类型: ID3D12Resource*

SALIn

源资源。 必须是多重采样或压缩的。

[in] SrcSubresource

类型: UINT

SALIn

标识源子资源的从零开始的索引。

[in, optional] pSrcRect

类型: D3D12_RECT*

SALIn_opt

指定要解析的源资源的矩形区域。 为 pSrcRect 传递 NULL 指定要解析整个子资源。

[in] Format

类型: DXGI_FORMAT

SALIn

指定如何合并源和目标资源格式的DXGI_FORMAT。

[in] ResolveMode

类型: D3D12_RESOLVE_MODE

SALIn

指定用于解析源样本的操作。

使用 D3D12_RESOLVE_MODE_DECOMPRESS 操作时,只要源和目标具有相同的样本计数,样本计数可以大于 1,并且源和目标可以指定相同的资源,前提是源矩形与目标 X 和 Y 坐标对齐,在这种情况下,将发生解压缩。

使用 D3D12_RESOLVE_MODE_MIND3D12_RESOLVE_MODE_MAXD3D12_RESOLVE_MODE_AVERAGE 操作时,目标的样本计数必须为 1。

返回值

备注

ResolveSubresourceRegion 的运行方式与 ResolveSubresource 类似,但只允许解析资源的一部分,并且允许通过多种方式解析源示例。 部分解析在多适配器方案中可能很有用;例如,当渲染区域跨适配器分区时,每个适配器可能只需要解析与其分配的分区相对应的子资源部分。

要求

要求
目标平台 Windows
标头 d3d12.h
Library D3d12.lib
DLL D3d12.dll

另请参阅

ID3D12GraphicsCommandList1