D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE 枚举 (d3d12.h)

指定应用程序在转换到呈现通道时 () 指定资源的访问权限类型。

语法

typedef enum D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE {
  D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_DISCARD = 0,
  D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE,
  D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_CLEAR,
  D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_NO_ACCESS,
  D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER,
  D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_SRV,
  D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_UAV
} ;

常量

 
D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_DISCARD
值: 0
指示应用程序不依赖于资源的先前内容 () 。 你也不应该对这些内容有任何期望,因为显示驱动程序可能会返回以前写入的内容,或者可能会返回未初始化的数据。 可以放心,从资源 (读取) 不会挂起 GPU,即使你确实会找回未定义的数据。
读取定义为从无序访问视图 (UAV) 的传统读取, (SRV) 的着色器资源视图、 (CBV) 常量缓冲区视图、 (VBV) 的顶点缓冲区视图、 (IBV) 索引缓冲区视图、IndirectArg 绑定/读取或混合/深度测试引入的读取。
D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE
指示应用程序依赖于资源 () 的先前内容,因此必须从main内存加载内容。
D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_CLEAR
指示应用程序需要将资源 () 清除为应用程序指定的) 值 (特定值。 无论在呈现传递期间是否与资源 () 交互,都会出现此清除。 在 处指定清除值
BeginRenderPass 时间,位于 D3D12_RENDER_PASS_BEGINNING_ACCESS 结构的 Clear 成员中。
D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_NO_ACCESS
指示应用程序在呈现传递期间不会读取或写入资源 () 。 很可能使用此值来指示不会访问深度/模具视图的深度/模具平面 (DSV) 。 必须将此值与相应 D3D12_RENDER_PASS_ENDING_ACCESS 结构中的 D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_NO_ACCESS 配对。

要求

   
标头 d3d12.h

另请参阅

呈现