D3D12_RESOURCE_FLAGS 열거형(d3d12.h)
리소스 작업에 대한 옵션을 지정하는 상수를 정의합니다.
통사론
typedef enum D3D12_RESOURCE_FLAGS {
D3D12_RESOURCE_FLAG_NONE = 0,
D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET = 0x1,
D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL = 0x2,
D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS = 0x4,
D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE = 0x8,
D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER = 0x10,
D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS = 0x20,
D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY = 0x40,
D3D12_RESOURCE_FLAG_VIDEO_ENCODE_REFERENCE_ONLY = 0x80,
D3D12_RESOURCE_FLAG_RAYTRACING_ACCELERATION_STRUCTURE = 0x100
} ;
상수
D3D12_RESOURCE_FLAG_NONE 값: 0 옵션이 지정되지 않았습니다. |
D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET 값: 0x1 리소스에 대한 렌더링 대상 뷰를 만들 수 있습니다. 또한 리소스를 D3D12_RESOURCE_STATE_RENDER_TARGET상태로 전환할 수 있습니다. 일부 어댑터 아키텍처는 일반 렌더링 중에 유효 대역폭을 줄이기 위해 이 플래그를 사용하여 텍스처에 추가 메모리를 할당합니다. 이 특성은 렌더링되지 않는 텍스처에 도움이 되지 않을 수 있으며 BC 형식으로 압축된 텍스처에도 사용할 수 없습니다. 렌더링이 발생하지 않을 때 애플리케이션은 이 플래그를 설정하지 않아야 합니다. 다음과 같은 제한 사항 및 상호 작용이 적용됩니다.
|
D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL 값: 0x2 리소스에 대해 깊이 스텐실 보기를 만들 수 있을 뿐만 아니라 리소스가 D3D12_RESOURCE_STATE_DEPTH_WRITE 및/또는 D3D12_RESOURCE_STATE_DEPTH_READ상태로 전환할 수 있습니다. 대부분의 어댑터 아키텍처는 유효 대역폭을 줄이고 초기 깊이 테스트를 위한 최적화를 최대화하기 위해 이 플래그를 사용하여 텍스처에 추가 메모리를 할당합니다. 깊이 작업이 발생하지 않는 경우 애플리케이션에서 이 플래그를 설정하지 않아야 합니다. 다음과 같은 제한 사항 및 상호 작용이 적용됩니다.
|
D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS 값: 0x4 리소스에 대해 순서가 지정되지 않은 액세스 보기를 만들 수 있을 뿐만 아니라 리소스를 D3D12_RESOURCE_STATE_UNORDERED_ACCESS상태로 전환할 수 있습니다. 일부 어댑터 아키텍처는 이 기능을 제공하기 위해 덜 효율적인 텍스처 레이아웃에 의존해야 합니다. 텍스처가 순서가 지정되지 않은 액세스에 거의 사용되지 않는 경우 두 개의 텍스처를 가지고 그 간에 복사하는 것이 좋습니다. 한 텍스처에는 이 플래그가 있지만 다른 텍스처는 이 플래그를 갖지 않습니다. 순서가 지정되지 않은 액세스 작업이 발생하지 않을 경우 애플리케이션에서 이 플래그를 설정하지 않아야 합니다. 다음과 같은 제한 사항 및 상호 작용이 적용됩니다.
|
D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE 값: 0x8 셰이더 리소스 뷰가 리소스에 대해 만들어지는 것을 허용하지 않고 리소스가 D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE 또는 D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE상태로 전환되지 않도록 설정합니다. 일부 어댑터 아키텍처는 셰이더 리소스 뷰가 제외될 때 깊이 스텐실 텍스처에 대한 대역폭 용량을 얻습니다. 셰이더 리소스에 텍스처가 거의 사용되지 않는 경우 두 개의 텍스처를 가지고 그 간에 복사하는 것이 좋습니다. 한 텍스처에는 이 플래그가 있지만 다른 텍스처는 이 플래그를 갖지 않습니다. 깊이 스텐실 텍스처가 셰이더 리소스 뷰에서 사용되지 않는 경우 애플리케이션에서 이 플래그를 설정해야 합니다. 다음과 같은 제한 사항 및 상호 작용이 적용됩니다.
|
D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER 값: 0x10 D3D12_RESOURCE_FLAGS::D 3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS사용하도록 설정된 기능뿐만 아니라 어댑터 간 데이터에 리소스를 사용할 수 있습니다. 어댑터 간 리소스는 일반적으로 사용 중에 효과적인 텍스처 대역폭을 줄이는 기술을 배제하며, 일부 어댑터 아키텍처에는 다른 캐싱 동작이 필요할 수 있습니다. 리소스 데이터를 다른 어댑터와 함께 사용하지 않을 경우 애플리케이션에서 이 플래그를 설정하지 않아야 합니다. 다음과 같은 제한 사항 및 상호 작용이 적용됩니다.
|
D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS 값: 0x20 여러 다른 큐, 디바이스 또는 프로세스에서 리소스에 동시에 액세스할 수 있도록 허용합니다(예를 들어 둘 이상의 명령 목록에서 동시에 실행되는 ResourceBarrier 전환과 함께 리소스를 사용할 수 있습니다). 기록기가 다른 판독기에서 액세스하는 텍셀을 동시에 수정하지 않는 한 동시 액세스를 통해 여러 판독기와 하나의 작성기를 사용할 수 있습니다. 일부 어댑터 아키텍처는 사용 중에 효과적인 텍스처 대역폭을 줄이기 위해 기술을 활용할 수 없습니다. 그러나 텍스처에 자주 겹치지 않는 쓰기 중에 여러 판독기가 필요하지 않은 경우 애플리케이션에서 이 플래그를 설정하지 않아야 합니다. 이 플래그를 사용하면 리소스 펜스가 손상되어 대기를 수행하고 리소스와 함께 압축이 사용되지 않도록 방지할 수 있습니다. 다음과 같은 제한 사항 및 상호 작용이 적용됩니다.
|
D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY 값: 0x40 이 리소스가 디코딩 참조 프레임으로만 사용될 수 있다는 것을 스펙페이스합니다. 비디오 디코딩 작업에서만 쓰거나 읽을 수 있습니다. D3D12_VIDEO_DECODE_TIER_1 및 D3D12_VIDEO_DECODE_TIER_2D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT 구조 구성 플래그에서 D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_REFERENCE_ONLY_ALLOCATIONS_REQUIRED 보고할 수 있습니다. 이 경우 애플리케이션은 D3D12_RESOURCE_FLAGS::D 3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY 리소스 플래그를 사용하여 참조 프레임을 할당해야 합니다. D3D12_VIDEO_DECODE_TIER_3 [D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_REFERENCE_ONLY_ALLOCATIONS_REQUIRED]을 설정하면 안됩니다. (.. /d3d12video/ne-d3d12video-d3d12_video_decode_configuration_flags) 구성 플래그이며 이 리소스 플래그를 사용할 필요가 없습니다. |
D3D12_RESOURCE_FLAG_VIDEO_ENCODE_REFERENCE_ONLY 값: 0x80 이 리소스가 인코딩 참조 프레임으로만 사용될 수 있음을 스펙페이스합니다. 비디오 인코딩 작업에서만 쓰거나 읽을 수 있습니다. |
D3D12_RESOURCE_FLAG_RAYTRACING_ACCELERATION_STRUCTURE 값: 0x100 DirectX 12 Agility SDK 1.608.0 이상이 필요합니다. 버퍼가 광선 추적 가속 구조로 사용됨을 나타냅니다. D3D12 고급 장벽을 사용하는 경우 버퍼에 더 이상 레이아웃/상태가 없으므로 이 플래그는 D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE 대신 사용됩니다. |
발언
이 열거형은 D3D12_RESOURCE_DESCFlags 멤버에서 사용됩니다.
요구 사항
요구 | 값 |
---|---|
헤더 | d3d12.h |