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 对象的指针,该对象表示无序访问。
必须至少提供 一个 pResource 或 pDesc 。
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 枚举常量) 。
- (pResource 和 pCounterResource) 的两个资源都必须是缓冲区。
- 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 |