D3D12DDI_RESOURCE_STATES列舉 (d3d12umddi.h)

包含資源狀態。 資源屏障允許在對應作業的硬體特定狀態之間轉換,以及在寫入後同步讀取。 資源屏障是 D3D12 中現有的概念,可藉由新增這些使用旗標來支援影片譯碼和視訊程式。

Syntax

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)