D3D12DDI_BARRIER_LAYOUT 열거형(d3d12umddi.h)
D3D12DDI_BARRIER_LAYOUT 값은 텍스처 장벽과 관련하여 D3D12 하위 리소스에서 사용할 수 있는 레이아웃을 설명합니다. 레이아웃은 텍스처 리소스에만 적용됩니다.
Syntax
typedef enum D3D12DDI_BARRIER_LAYOUT {
D3D12DDI_BARRIER_LAYOUT_UNDEFINED,
D3D12DDI_BARRIER_LAYOUT_COMMON,
D3D12DDI_BARRIER_LAYOUT_PRESENT,
D3D12DDI_BARRIER_LAYOUT_GENERIC_READ,
D3D12DDI_BARRIER_LAYOUT_RENDER_TARGET,
D3D12DDI_BARRIER_LAYOUT_UNORDERED_ACCESS,
D3D12DDI_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE,
D3D12DDI_BARRIER_LAYOUT_DEPTH_STENCIL_READ,
D3D12DDI_BARRIER_LAYOUT_SHADER_RESOURCE,
D3D12DDI_BARRIER_LAYOUT_COPY_SOURCE,
D3D12DDI_BARRIER_LAYOUT_COPY_DEST,
D3D12DDI_BARRIER_LAYOUT_RESOLVE_SOURCE,
D3D12DDI_BARRIER_LAYOUT_RESOLVE_DEST,
D3D12DDI_BARRIER_LAYOUT_SHADING_RATE_SOURCE,
D3D12DDI_BARRIER_LAYOUT_VIDEO_DECODE_READ,
D3D12DDI_BARRIER_LAYOUT_VIDEO_DECODE_WRITE,
D3D12DDI_BARRIER_LAYOUT_VIDEO_PROCESS_READ,
D3D12DDI_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE,
D3D12DDI_BARRIER_LAYOUT_VIDEO_ENCODE_READ,
D3D12DDI_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE,
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON,
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ,
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS,
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE,
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE,
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST,
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON,
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ,
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS,
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE,
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE,
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST,
D3D12DDI_BARRIER_LAYOUT_VIDEO_QUEUE_COMMON,
D3D12DDI_BARRIER_LAYOUT_LEGACY_DIRECT_QUEUE_GENERIC_READ_COMPUTE_QUEUE_ACCESSIBLE,
D3D12DDI_BARRIER_LAYOUT_LEGACY_COPY_SOURCE,
D3D12DDI_BARRIER_LAYOUT_LEGACY_COPY_DEST,
D3D12DDI_BARRIER_LAYOUT_LEGACY_SHADER_RESOURCE,
D3D12DDI_BARRIER_LAYOUT_LEGACY_PIXEL_SHADER_RESOURCE
} ;
상수
D3D12DDI_BARRIER_LAYOUT_UNDEFINED 이전 레이아웃이 관련이 없거나 정의되지 않은 하위 리소스 레이아웃 변경에 대한 지원을 제공합니다. 일반적으로 전체 하위 리소스 또는 전체 리소스 지우기, 취소 및 복사 명령에 사용됩니다. LayoutBefore 및 LayoutAfter가 모두 D3D12_BARRIER_LAYOUT_UNDEFINED 설정된 레이아웃 전환은 메모리 액세스 전용 장벽을 나타냅니다. 많은 읽기/쓰기 작업은 D3D12_BARRIER_LAYOUT_COMMON 지원합니다. 특히 복사 명령은 D3D12_BARRIER_LAYOUT_COMMON 또는D3D12_BARRIER_LAYOUT_COPY 사용하여 텍스처에 쓸 수 있습니다. 메모리 액세스 전용 장벽을 사용하여 텍스처 레이아웃을 변경하지 않고 복사 쓰기를 텍스처로 플러시할 수 있습니다. |
D3D12DDI_BARRIER_LAYOUT_COMMON D3D12_RESOURCE_STATE_COMMON 사용하는 레이아웃입니다. 이 레이아웃이 있는 하위 리소스는 레이아웃 변경 없이 모든 큐 형식에서 읽을 수 있습니다. 또한 모든 큐 유형에서 복사 대상으로 쓸 수 있습니다. 스왑 체인 프레젠테이션을 사용하려면 백 버퍼가 D3D12_BARRIER_LAYOUT_COMMON 사용해야 합니다. |
D3D12DDI_BARRIER_LAYOUT_PRESENT D3D12_BARRIER_LAYOUT_COMMON 별칭입니다. |
D3D12DDI_BARRIER_LAYOUT_GENERIC_READ 모든 읽기 전용 액세스(예: SHADER_RESOURCE, COPY_SOURCE)에 대한 지원을 제공합니다. 이 값은 보다 구체적인 읽기 레이아웃만큼 최적이지 않을 수 있으므로 여러 동시 읽기 액세스가 필요한 텍스처에만 사용해야 합니다. |
D3D12DDI_BARRIER_LAYOUT_RENDER_TARGET D3D12_RESOURCE_STATE_RENDER_TARGET 사용하는 레이아웃과 일치합니다. |
D3D12DDI_BARRIER_LAYOUT_UNORDERED_ACCESS D3D12_RESOURCE_STATE_UNORDERED_ACCESS 사용하는 레이아웃과 일치합니다. |
D3D12DDI_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE D3D12_RESOURCE_STATE_DEPTH_WRITE 사용하는 레이아웃과 일치합니다. |
D3D12DDI_BARRIER_LAYOUT_DEPTH_STENCIL_READ D3D12_RESOURCE_STATE_DEPTH_READ 사용하는 레이아웃과 일치합니다. |
D3D12DDI_BARRIER_LAYOUT_SHADER_RESOURCE D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE 및D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE 사용하는 레이아웃과 일치합니다. |
D3D12DDI_BARRIER_LAYOUT_COPY_SOURCE D3D12_RESOURCE_STATE_COPY_SOURCE 사용하는 레이아웃과 일치합니다. |
D3D12DDI_BARRIER_LAYOUT_COPY_DEST D3D12_RESOURCE_STATE_COPY_DEST 사용하는 레이아웃과 일치합니다. |
D3D12DDI_BARRIER_LAYOUT_RESOLVE_SOURCE D3D12DDI_RESOURCE_STATE_RESOLVE_SOURCE 사용하는 레이아웃과 일치합니다. |
D3D12DDI_BARRIER_LAYOUT_RESOLVE_DEST D3D12DDI_RESOURCE_STATE_RESOLVE_DEST 사용하는 레이아웃과 일치합니다. |
D3D12DDI_BARRIER_LAYOUT_SHADING_RATE_SOURCE D3D12DDI_RESOURCE_STATE_0062_SHADING_RATE_SOURCE 사용하는 레이아웃과 일치합니다. |
D3D12DDI_BARRIER_LAYOUT_VIDEO_DECODE_READ D3D12_RESOURCE_STATE_VIDEO_DECODE_READ 사용하는 레이아웃과 일치합니다. |
D3D12DDI_BARRIER_LAYOUT_VIDEO_DECODE_WRITE D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE 사용하는 레이아웃과 일치합니다. |
D3D12DDI_BARRIER_LAYOUT_VIDEO_PROCESS_READ D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ 사용하는 레이아웃과 일치합니다. |
D3D12DDI_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE 사용하는 레이아웃과 일치합니다. |
D3D12DDI_BARRIER_LAYOUT_VIDEO_ENCODE_READ D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ 사용하는 레이아웃과 일치합니다. |
D3D12DDI_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE 사용하는 레이아웃과 일치합니다. |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON 직접 큐에서만 일반적인(장벽 없는) 사용을 지원합니다. 이 값은 일반적인 D3D12DDI_BARRIER_LAYOUT_COMMON 것보다 더 적합합니다. 직접 큐의 장벽에서만 사용할 수 있습니다. Present에는 사용할 수 없습니다. D3D12_BARRIER_LAYOUT_COMMON ( D3D12_BARRIER_LAYOUT_PRESENT이라고도 함)는 여전히 프레젠테이션에 필요한 레이아웃입니다. |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ 직접 큐에 특정한 최적화를 제외하고 D3D12_BARRIER_LAYOUT_GENERIC_READ 동일합니다. 직접 큐의 장벽에서만 사용할 수 있습니다. 또한 D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ 직접 큐에서 읽기 전용 깊이, 음영 속도 원본 및 resolve 원본 액세스에 대한 지원을 포함합니다. |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS 직접 큐에 특정한 최적화를 제외하고 D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS 동일합니다. 직접 큐의 장벽에서만 사용할 수 있습니다. |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE 직접 큐에 특정한 최적화를 제외하고 D3D12_BARRIER_LAYOUT_SHADER_RESOURCE 동일합니다. 직접 큐의 장벽에서만 사용할 수 있습니다. |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE 직접 큐에 특정한 최적화를 제외하고 D3D12_BARRIER_LAYOUT_COPY_SOURCE 동일합니다. 직접 큐의 장벽에서만 사용할 수 있습니다. |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST 직접 큐에 특정한 최적화를 제외하고 D3D12_BARRIER_LAYOUT_COPY_DEST 동일합니다. 직접 큐의 장벽에서만 사용할 수 있습니다. 직접 큐에서 다음에 액세스할 수 있는 리소스의 일부 레이아웃 전환에서 비용이 많이 들고 불필요한 압축 해제를 방지할 수 있습니다. |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON 컴퓨팅 큐에서만 일반적인(장벽 없는) 사용을 지원합니다. 보다 일반적인 D3D12_BARRIER_LAYOUT_COMMON 보다 최적일 수 있습니다. 컴퓨팅 큐의 장벽에서만 사용할 수 있습니다. |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ 컴퓨팅 큐에 특정한 최적화를 제외하고 D3D12_BARRIER_LAYOUT_GENERIC_READ 동일합니다. 컴퓨팅 큐의 장벽에서만 사용할 수 있습니다. |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS 컴퓨팅 큐에 특정한 최적화를 제외하고 D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS 동일합니다. 컴퓨팅 큐의 장벽에서만 사용할 수 있습니다. |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE 컴퓨팅 큐에 특정한 최적화를 제외하고 D3D12_BARRIER_LAYOUT_SHADER_RESOURCE 동일합니다. 컴퓨팅 큐의 장벽에서만 사용할 수 있습니다. |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE 컴퓨팅 큐에 특정한 최적화를 제외하고 D3D12_BARRIER_LAYOUT_COPY_SOURCE 동일합니다. 컴퓨팅 큐의 장벽에서만 사용할 수 있습니다. |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST 컴퓨팅 큐에 특정한 최적화를 제외하고 D3D12_BARRIER_LAYOUT_COPY_DEST 동일합니다. 컴퓨팅 큐의 장벽에서만 사용할 수 있습니다. |
D3D12DDI_BARRIER_LAYOUT_VIDEO_QUEUE_COMMON 비디오 큐에서만 일반적인(장벽 없는) 사용을 지원합니다. 보다 일반적인 D3D12_BARRIER_LAYOUT_COMMON 보다 최적일 수 있습니다. 비디오 큐의 장벽에서만 사용할 수 있습니다. |
D3D12DDI_BARRIER_LAYOUT_LEGACY_DIRECT_QUEUE_GENERIC_READ_COMPUTE_QUEUE_ACCESSIBLE 내부적으로 변환된 레거시 리소스 상태를 지원합니다. 향상된 장벽 API가 이 값에 매핑되지 않습니다. |
D3D12DDI_BARRIER_LAYOUT_LEGACY_COPY_SOURCE 내부적으로 변환된 레거시 리소스 상태를 지원합니다. 향상된 장벽 API가 이 값에 매핑되지 않습니다. |
D3D12DDI_BARRIER_LAYOUT_LEGACY_COPY_DEST 내부적으로 변환된 레거시 리소스 상태를 지원합니다. 향상된 장벽 API가 이 값에 매핑되지 않습니다. |
D3D12DDI_BARRIER_LAYOUT_LEGACY_SHADER_RESOURCE 내부적으로 변환된 레거시 리소스 상태를 지원합니다. 향상된 장벽 API가 이 값에 매핑되지 않습니다. |
D3D12DDI_BARRIER_LAYOUT_LEGACY_PIXEL_SHADER_RESOURCE 내부적으로 변환된 레거시 리소스 상태를 지원합니다. 향상된 장벽 API가 이 값에 매핑되지 않습니다. |
설명
버퍼 리소스에는 액세스 유형에 관계없이 선형 레이아웃만 있습니다.
리소스 레이아웃은 레이아웃 전환을 수행하는 큐 유형과 호환되어야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 11(WDDM 3.0) |
머리글 | d3d12umddi.h |