Share via


D3D12_DESCRIPTOR_HEAP_FLAGS 열거형(d3d12.h)

힙에 대한 옵션을 지정합니다.

Syntax

typedef enum D3D12_DESCRIPTOR_HEAP_FLAGS {
  D3D12_DESCRIPTOR_HEAP_FLAG_NONE = 0,
  D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE = 0x1
} ;

상수

 
D3D12_DESCRIPTOR_HEAP_FLAG_NONE
값: 0
힙의 기본 사용량을 나타냅니다.
D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE
값: 0x1
플래그 D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE 필요에 따라 설명자 힙에 설정하여 셰이더가 참조하기 위해 명령 목록에 바인딩됨을 나타낼 수 있습니다. 이 플래그 없이 설명자 힙을 만들면 애플리케이션에서는 설명자를 셰이더 표시 설명자 힙으로 복사하기 전에 CPU 메모리에 준비하는 옵션이 허용됩니다. 하지만 애플리케이션이 CPU에서 아무 것도 준비할 필요가 없이, 설명자를 셰이더 표시 설명자 힙으로 직접 만드는 것도 좋습니다.

ID3D12GraphicsCommandList::SetDescriptorHeaps를 통해 바인딩된 설명자 힙에는 D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE 플래그가 설정되어 있어야 합니다. 그렇지 않으면 디버그 계층에서 오류가 발생합니다.

id3D12Device::CopyDescriptors 또는 ID3D12Device::CopyDescriptorsSimple 호출에서는 D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE 플래그가 있는 설명자 힙을 원본 힙으로 사용할 수 없습니다. 이는 읽기가 매우 비효율적인 WRITE_COMBINE 메모리 또는 GPU 로컬 메모리에 상주할 수 있기 때문입니다.

이 플래그는 CBV/SRV/UAV 설명자 힙 및 샘플러 설명자 힙에만 적용됩니다. 셰이더가 다른 형식은 직접 참조하지 않으므로 다른 설명자 힙 형식에는 적용되지 않습니다. D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE 사용하여 RTV/DSV 힙을 만들려고 시도하면 디버그 계층 오류가 발생합니다.

설명

이 열거형은 D3D12_DESCRIPTOR_HEAP_DESC 구조체에서 사용됩니다.

요구 사항

   
머리글 d3d12.h

추가 정보

핵심 열거형

설명자 힙 만들기

설명자 힙