typedef enum D3D12_RESOURCE_FLAGS {
D3D12_RESOURCE_FLAG_NONE = 0,
D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET = 0x1,
D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL = 0x2,
D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS = 0x4,
D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE = 0x8,
D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER = 0x10,
D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS = 0x20
} ;
这个枚举定义了以下几个标志位:
- D3D12_RESOURCE_FLAG_NONE: 无特殊标志,表示默认情况。
- D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET: 允许资源用作渲染目标。
- D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL: 允许资源用作深度/模板缓冲区。
- D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS: 允许资源用作无序访问(UAV)资源。
- D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE: 禁止资源用作着色器资源。
- D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER: 允许资源在多个GPU适配器之间共享。
- D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS: 允许资源在多个命令队列中同时使用。
这些标志位可以在创建资源时通过 D3D12_HEAP_PROPERTIES 结构中的 Flags 成员来指定,以配置资源的属性和用途。
转载请注明出处:http://www.zyzy.cn/article/detail/26095/Win32 API/D3d12.h/D3D12_RESOURCE_FLAGS