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 포함)