D3D12DDI_RESOURCE_STATES 枚举 (d3d12umddi.h)

包含资源状态。 资源屏障允许在相应操作的硬件特定状态之间转换,并在写入后同步读取。 资源屏障是 D3D12 中的一个现有概念,它通过添加这些使用标志来扩展以支持视频解码和视频过程。

语法

typedef enum D3D12DDI_RESOURCE_STATES {
  D3D12DDI_RESOURCE_STATE_COMMON = 0x00000000,
  D3D12DDI_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER = 0x00000001,
  D3D12DDI_RESOURCE_STATE_INDEX_BUFFER = 0x00000002,
  D3D12DDI_RESOURCE_STATE_RENDER_TARGET = 0x00000004,
  D3D12DDI_RESOURCE_STATE_UNORDERED_ACCESS = 0x00000008,
  D3D12DDI_RESOURCE_STATE_DEPTH_WRITE = 0x00000010,
  D3D12DDI_RESOURCE_STATE_DEPTH_READ = 0x00000020,
  D3D12DDI_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE = 0x00000040,
  D3D12DDI_RESOURCE_STATE_PIXEL_SHADER_RESOURCE = 0x00000080,
  D3D12DDI_RESOURCE_STATE_STREAM_OUT = 0x00000100,
  D3D12DDI_RESOURCE_STATE_INDIRECT_ARGUMENT = 0x00000200,
  D3D12DDI_RESOURCE_STATE_COPY_DEST = 0x00000400,
  D3D12DDI_RESOURCE_STATE_COPY_SOURCE = 0x00000800,
  D3D12DDI_RESOURCE_STATE_RESOLVE_DEST = 0x00001000,
  D3D12DDI_RESOURCE_STATE_RESOLVE_SOURCE = 0x00002000,
  D3D12DDI_RESOURCE_STATE_0020_VIDEO_DECODE_READ = 0x00010000,
  D3D12DDI_RESOURCE_STATE_0020_VIDEO_DECODE_WRITE = 0x00020000,
  D3D12DDI_RESOURCE_STATE_0020_VIDEO_PROCESS_READ = 0x00040000,
  D3D12DDI_RESOURCE_STATE_0020_VIDEO_PROCESS_WRITE = 0x00080000,
  D3D12DDI_RESOURCE_STATE_0060_VIDEO_ENCODE_READ = 0x00200000,
  D3D12DDI_RESOURCE_STATE_0060_VIDEO_ENCODE_WRITE = 0x00800000,
  D3D12DDI_RESOURCE_STATE_0062_SHADING_RATE_SOURCE = 0x01000000,
  D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE = 0x400000
} ;

常量

 
D3D12DDI_RESOURCE_STATE_COMMON
值: 0x00000000
常见。
D3D12DDI_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER
值: 0x00000001
顶点和常量缓冲区。
D3D12DDI_RESOURCE_STATE_INDEX_BUFFER
值: 0x00000002
索引缓冲区。
D3D12DDI_RESOURCE_STATE_RENDER_TARGET
值: 0x00000004
呈现目标。
D3D12DDI_RESOURCE_STATE_UNORDERED_ACCESS
值: 0x00000008
无序访问。
D3D12DDI_RESOURCE_STATE_DEPTH_WRITE
值: 0x00000010
深度写入。
D3D12DDI_RESOURCE_STATE_DEPTH_READ
值: 0x00000020
深度读取。
D3D12DDI_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE
值: 0x00000040
非像素着色器资源。
D3D12DDI_RESOURCE_STATE_PIXEL_SHADER_RESOURCE
值: 0x00000080
像素着色器资源。
D3D12DDI_RESOURCE_STATE_STREAM_OUT
值: 0x00000100
Stream出去。
D3D12DDI_RESOURCE_STATE_INDIRECT_ARGUMENT
值: 0x00000200
间接参数。
D3D12DDI_RESOURCE_STATE_COPY_DEST
值: 0x00000400
复制目标。
D3D12DDI_RESOURCE_STATE_COPY_SOURCE
值: 0x00000800
复制源。
D3D12DDI_RESOURCE_STATE_RESOLVE_DEST
值: 0x00001000
解析目标。
D3D12DDI_RESOURCE_STATE_RESOLVE_SOURCE
值: 0x00002000
解析源。
D3D12DDI_RESOURCE_STATE_0020_VIDEO_DECODE_READ
值: 0x00010000
视频解码读取。 读取状态用于在解码期间读取引用,也用于处理帧的输入。 此状态仅在解码和进程命令列表中有效。
D3D12DDI_RESOURCE_STATE_0020_VIDEO_DECODE_WRITE
值: 0x00020000
视频解码写入。 写入状态用于进程帧的解码目标或目标图面。 为未转换的引用启用解码转换时,也会使用写入状态。 此状态仅在解码和进程命令列表中有效。
D3D12DDI_RESOURCE_STATE_0020_VIDEO_PROCESS_READ
值: 0x00040000
视频进程读取。
D3D12DDI_RESOURCE_STATE_0020_VIDEO_PROCESS_WRITE
值: 0x00080000
视频进程写入。
D3D12DDI_RESOURCE_STATE_0060_VIDEO_ENCODE_READ
值: 0x00200000
视频编码读取资源状态。
D3D12DDI_RESOURCE_STATE_0060_VIDEO_ENCODE_WRITE
值: 0x00800000
视频编码写入资源状态。
D3D12DDI_RESOURCE_STATE_0062_SHADING_RATE_SOURCE
值: 0x01000000
着色速率源资源状态。

从 WDDM 2.6 开始可用。
D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE
值: 0x400000
光线跟踪加速结构资源状态。

注解

资源屏障允许在相应操作的硬件特定状态之间转换,并在写入后同步读取。

资源屏障是 D3D12 中的一个现有概念,它通过添加新的使用标志来扩展以支持视频解码。 写入状态用于解码目标。 为未转换的引用启用解码转换时,也会使用写入状态。

要求

要求
最低 UMDF 版本 Direct3D 12.0
标头 d3d12umddi.h (包括 D3d12umddi.h)