ID3D12Device::CreateUnorderedAccessView 方法 (d3d12.h)

为无序访问创建视图。

语法

void CreateUnorderedAccessView(
       ID3D12Resource                         *pResource,
       ID3D12Resource                         *pCounterResource,
       const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
  [in] D3D12_CPU_DESCRIPTOR_HANDLE            DestDescriptor
);

参数

pResource

类型:[in,可选] ID3D12Resource*

指向 ID3D12Resource 对象的指针,该对象表示无序访问。

必须至少提供 一个 pResourcepDesc

null pResource 用于初始化 null 描述符,该描述符保证 (读取 0 (类似于 Direct3D 11 的空绑定行为,写入) 被丢弃,但必须具有有效的 pDesc 才能确定描述符类型。

pCounterResource

类型:[in,可选] ID3D12Resource*

如果有任何与 UAV 关联的) ,则计数器的 ID3D12Resource (。

如果未指定 pCounterResource,则 D3D12_BUFFER_UAV 结构的 CounterOffsetInBytes 成员必须为 0。

如果指定 了 pCounterResource ,则存在与 UAV 关联的计数器,运行时将执行以下要求的验证:

  • D3D12_BUFFER_UAV 结构的 StructureByteStride 成员必须大于 0。
  • 格式必须为DXGI_FORMAT_UNKNOWN。
  • 不得设置D3D12_BUFFER_UAV_FLAG_RAW标志 (D3D12_BUFFER_UAV_FLAGS 枚举常量) 。
  • (pResourcepCounterResource) 的两个资源都必须是缓冲区。
  • D3D12_BUFFER_UAV 结构的 CounterOffsetInBytes 成员必须是 (4096) D3D12_UAV_COUNTER_PLACEMENT_ALIGNMENT的倍数,并且必须在计数器资源的范围内。
  • pResource 不能为 NULL
  • pDesc 不能为 NULL。

pDesc

类型:[in, optional] const D3D12_UNORDERED_ACCESS_VIEW_DESC*

指向描述无序访问视图 的D3D12_UNORDERED_ACCESS_VIEW_DESC 结构的指针。

如果可能,使用 null pDesc 初始化默认描述符。 此行为与 D3D11 null 描述符行为相同,其中将填充默认值。 此行为继承资源格式和维度 ((如果不是无类型) )和缓冲区的 UAV 以完整缓冲区为目标并已类型化,对于纹理 UAV,则以第一个 mip 和所有数组切片为目标。 并非所有资源都支持 null 描述符初始化。

[in] DestDescriptor

类型: D3D12_CPU_DESCRIPTOR_HANDLE

描述 CPU 描述符句柄,该句柄表示保存无序访问视图的堆的开头。

返回值

要求

   
目标平台 Windows
标头 d3d12.h
Library D3D12.lib
DLL D3D12.dll

请参阅

ID3D12Device