D3D12DDI_BARRIER_ACCESS 열거형(d3d12umddi.h)
D3D12DDI_BARRIER_ACCESS 값은 장벽과 관련하여 리소스 액세스를 지정하는 다음 필드의 비트 단위 OR입니다.
Syntax
typedef enum D3D12DDI_BARRIER_ACCESS {
D3D12DDI_BARRIER_ACCESS_COMMON = 0x0,
D3D12DDI_BARRIER_ACCESS_VERTEX_BUFFER = 0x1,
D3D12DDI_BARRIER_ACCESS_CONSTANT_BUFFER = 0x2,
D3D12DDI_BARRIER_ACCESS_INDEX_BUFFER = 0x4,
D3D12DDI_BARRIER_ACCESS_RENDER_TARGET = 0x8,
D3D12DDI_BARRIER_ACCESS_UNORDERED_ACCESS = 0x10,
D3D12DDI_BARRIER_ACCESS_DEPTH_STENCIL_WRITE = 0x20,
D3D12DDI_BARRIER_ACCESS_DEPTH_STENCIL_READ = 0x40,
D3D12DDI_BARRIER_ACCESS_SHADER_RESOURCE = 0x80,
D3D12DDI_BARRIER_ACCESS_STREAM_OUTPUT = 0x100,
D3D12DDI_BARRIER_ACCESS_INDIRECT_ARGUMENT = 0x200,
D3D12DDI_BARRIER_ACCESS_PREDICATION = 0x200,
D3D12DDI_BARRIER_ACCESS_COPY_DEST = 0x400,
D3D12DDI_BARRIER_ACCESS_COPY_SOURCE = 0x800,
D3D12DDI_BARRIER_ACCESS_RESOLVE_DEST = 0x1000,
D3D12DDI_BARRIER_ACCESS_RESOLVE_SOURCE = 0x2000,
D3D12DDI_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_READ = 0x4000,
D3D12DDI_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_WRITE = 0x8000,
D3D12DDI_BARRIER_ACCESS_SHADING_RATE_SOURCE = 0x10000,
D3D12DDI_BARRIER_ACCESS_VIDEO_DECODE_READ = 0x20000,
D3D12DDI_BARRIER_ACCESS_VIDEO_DECODE_WRITE = 0x40000,
D3D12DDI_BARRIER_ACCESS_VIDEO_PROCESS_READ = 0x80000,
D3D12DDI_BARRIER_ACCESS_VIDEO_PROCESS_WRITE = 0x100000,
D3D12DDI_BARRIER_ACCESS_VIDEO_ENCODE_READ = 0x200000,
D3D12DDI_BARRIER_ACCESS_VIDEO_ENCODE_WRITE = 0x400000,
D3D12DDI_BARRIER_ACCESS_NO_ACCESS = 0x80000000
} ;
상수
D3D12DDI_BARRIER_ACCESS_COMMON 값: 0x0 지정된 ExecuteCommandLists scope 모든 리소스에 대한 기본 초기 액세스입니다. 둘 이상의 쓰기 액세스를 포함하여 현재 레이아웃 및 리소스 속성과 호환되는 모든 유형의 액세스를 지원합니다. D3D12DDI_BARRIER_LAYOUT_COMMON 사용하는 버퍼 및 텍스처의 경우 D3D12DDI_BARRIER_ACCESS_COMMON 동시 읽기 및 쓰기 액세스를 지원합니다. AccessAfter로 사용되는 경우 D3D12DDI_BARRIER_ACCESS_COMMON 사용하여 리소스를 일반 접근성으로 다시 반환할 수 있습니다. 잘못 사용하면 불필요한 캐시 플러시를 강제로 적용할 수 있습니다. 가능하면 AccessAfter 를 명시적 액세스 비트로 제한해야 합니다. D3D12DDI_BARRIER_ACCESS_COMMON 장벽 AccessBefore 값으로 사용하지 마세요. 쓰기 후 읽기 또는 쓰기 후 위험은 명시적 AccessBefore 비트를 사용하여 가장 잘 처리됩니다. |
D3D12DDI_BARRIER_ACCESS_VERTEX_BUFFER 값: 0x1 버퍼 리소스는 현재 실행 큐에서 꼭짓점 버퍼로 액세스할 수 있습니다. |
D3D12DDI_BARRIER_ACCESS_CONSTANT_BUFFER 값: 0x2 버퍼 리소스는 현재 실행 큐에서 상수 버퍼로 액세스할 수 있습니다. |
D3D12DDI_BARRIER_ACCESS_INDEX_BUFFER 값: 0x4 버퍼 리소스는 현재 실행 큐에서 인덱스 버퍼로 액세스할 수 있습니다. |
D3D12DDI_BARRIER_ACCESS_RENDER_TARGET 값: 0x8 리소스는 렌더링 대상으로 액세스할 수 있습니다. |
D3D12DDI_BARRIER_ACCESS_UNORDERED_ACCESS 값: 0x10 리소스는 순서가 지정되지 않은 액세스 리소스로 액세스할 수 있습니다. |
D3D12DDI_BARRIER_ACCESS_DEPTH_STENCIL_WRITE 값: 0x20 리소스는 쓰기 가능한 깊이/스텐실 리소스로 액세스할 수 있습니다. |
D3D12DDI_BARRIER_ACCESS_DEPTH_STENCIL_READ 값: 0x40 리소스는 읽기 전용 깊이/스텐실 리소스로 액세스할 수 있습니다. |
D3D12DDI_BARRIER_ACCESS_SHADER_RESOURCE 값: 0x80 리소스는 셰이더 리소스로 액세스할 수 있습니다. |
D3D12DDI_BARRIER_ACCESS_STREAM_OUTPUT 값: 0x100 버퍼는 스트림 출력 대상으로 액세스할 수 있습니다. |
D3D12DDI_BARRIER_ACCESS_INDIRECT_ARGUMENT 값: 0x200 버퍼는 간접 인수 버퍼로 액세스할 수 있습니다. |
D3D12DDI_BARRIER_ACCESS_PREDICATION 값: 0x200 버퍼는 조건자 버퍼로 액세스할 수 있습니다. D3D12DDI_BARRIER_ACCESS_INDIRECT_ARGUMENT 별칭이 지정됩니다. |
D3D12DDI_BARRIER_ACCESS_COPY_DEST 값: 0x400 리소스는 복사 대상으로 액세스할 수 있습니다. |
D3D12DDI_BARRIER_ACCESS_COPY_SOURCE 값: 0x800 리소스는 복사 원본으로 액세스할 수 있습니다. |
D3D12DDI_BARRIER_ACCESS_RESOLVE_DEST 값: 0x1000 리소스는 resolve 대상으로 액세스할 수 있습니다. |
D3D12DDI_BARRIER_ACCESS_RESOLVE_SOURCE 값: 0x2000 리소스는 resolve 원본으로 액세스할 수 있습니다. |
D3D12DDI_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_READ 값: 0x4000 광선 추적 가속 구조로 읽을 수 있는 리소스에 액세스할 수 있습니다. D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE 초기 상태를 사용하여 리소스를 만들어야 합니다. |
D3D12DDI_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_WRITE 값: 0x8000 광선 추적 가속 구조로 쓰기 위해 리소스에 액세스할 수 있습니다. D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE 초기 상태를 사용하여 리소스를 만들어야 합니다. |
D3D12DDI_BARRIER_ACCESS_SHADING_RATE_SOURCE 값: 0x10000 리소스는 음영 속도 원본으로 액세스할 수 있습니다. |
D3D12DDI_BARRIER_ACCESS_VIDEO_DECODE_READ 값: 0x20000 비디오 디코딩 큐에서 읽기 전용 액세스를 위해 리소스에 액세스할 수 있습니다. |
D3D12DDI_BARRIER_ACCESS_VIDEO_DECODE_WRITE 값: 0x40000 비디오 디코딩 큐에서 쓰기 액세스를 위해 리소스에 액세스할 수 있습니다. |
D3D12DDI_BARRIER_ACCESS_VIDEO_PROCESS_READ 값: 0x80000 비디오 프로세스 큐에서 읽기 전용 액세스를 위해 리소스에 액세스할 수 있습니다. |
D3D12DDI_BARRIER_ACCESS_VIDEO_PROCESS_WRITE 값: 0x100000 비디오 프로세스 큐에서 쓰기 액세스를 위해 리소스에 액세스할 수 있습니다. |
D3D12DDI_BARRIER_ACCESS_VIDEO_ENCODE_READ 값: 0x200000 비디오 인코딩 큐에서 읽기 전용 액세스를 위해 리소스에 액세스할 수 있습니다. |
D3D12DDI_BARRIER_ACCESS_VIDEO_ENCODE_WRITE 값: 0x400000 비디오 인코딩 큐에서 쓰기 액세스를 위해 리소스에 액세스할 수 있습니다. |
D3D12DDI_BARRIER_ACCESS_NO_ACCESS 값: 0x80000000 리소스는 읽기 또는 쓰기에 액세스할 수 없습니다. 하위 리소스 액세스가 D3D12DDI_BARRIER_ACCESS_NO_ACCESS 전환되면 동일한 ExecuteCommandLists scope 사용하기 전에 AccessBefore가 D3D12DDI_BARRIER_ACCESS_NO_ACCESS 설정된 장벽에 의해 다시 활성화되어야 합니다. D3D12DDI_BARRIER_ACCESS_NO_ACCESS D3D12DDI_BARRIER_SYNC_NONE또는D3D12DDI_BARRIER_SYNC_SPLIT 함께 사용할 수 있습니다. D3D12DDI_BARRIER_ACCESS_NO_ACCESS 다른 액세스 비트로 설정할 수 없습니다. D3D12DDI_BARRIER_ACCESS_NO_ACCESS 일부 후속 장벽 또는 다음 ECL scope 때까지 리소스에 액세스할 것으로 예상되지 않음을 나타냅니다. 이 값은 읽기 캐시에서 하위 리소스를 제거하는 것이 합리적일 정도로 오랜 시간 동안 하위 리소스가 필요하지 않은 경우 장벽을 별칭 지정하는 데 유용합니다. ExecuteCommandLists scope 끝나기 전에 리소스에 대한 최종 작업으로 레이아웃 전환을 시작하는 데에도 유용합니다. SyncAfter가 D3D12DDI_BARRIER_SYNC_NONE 경우 AccessAfter를 D3D12DDI_BARRIER_ACCESS_NO_ACCESS 합니다. |
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 11(WDDM 3.0) |
머리글 | d3d12umddi.h |