다음을 통해 공유


설명자 복사

디바이스 인터페이스에서 ID3D12Device::CopyDescriptorsID3D12Device::CopyDescriptorsSimple 메서드는 CPU를 사용하여 설명자를 직접 복사합니다. CPU 또는 GPU에서 여러 스레드가 충돌 가능한 쓰기를 수행하지 않는 한 이 메서드는 자유 스레드 방식으로 호출할 수 있습니다.

즉시 설명자 복사(CPU 타임라인)

설명자 범위 세트로 지정된 원본 설명자(복사 원본)의 수는 별도의 설명자 범위 세트로 지정된 대상 설명자(복사 대상)의 수와 같아야 합니다. 원본 및 대상 범위는 정렬될 필요가 없습니다. 예를 들어 설명자의 스파스 세트는 연속 대상으로 또는 그 반대로 복사되거나 몇 가지 조합으로 복사될 수 있습니다.

여러 설명자 힙이 동시에 원본 및 대상으로 복사 작업에 포함될 수 있습니다. 설명자 핸들을 매개 변수로 사용하는 것은 복사 메서드가 지정된 설명자가 있는 힙을 고려하지 않으며 그냥 메모리임을 의미합니다.

복사되는 원본 및 대상 설명자 힙 형식이 일치해야 하므로 메서드는 단일 설명자 힙 형식을 입력으로 사용합니다. 드라이버는 지정된 복사 작업에 있는 모든 설명자의 힙 형식을 알아야 하므로 복사 작업에 포함된 데이터의 크기를 알고 있습니다. 또한 지정된 설명자 힙 형식이 구현 세부 정보를 보증하는 경우 드라이버는 사용자 지정 복사 작업을 수행해야 할 수 있습니다. 설명자 핸들 자체로 가리키고 있는 형식을 파악할 수 없으므로, 복사 작업을 위해 추가 매개 변수가 필요합니다.

한 위치에서 다른 위치로 단일 설명자 범위를 복사하는 간단한 경우를 위해 CopyDescriptors의 대체 API인 CopyDescriptorsSimple이 제공됩니다.

이 디바이스 기반(CPU 타임라인) 설명자 복사 메서드의 경우 원본 설명자는 셰이더 비표시 설명자 힙에서 가져와야 합니다. 대상 설명자는 CPU 표시(셰이더 표시 여부는 관계없음)인 설명자 힙에 있을 수 있습니다.

설명자