다음을 통해 공유


ID3D12Device::CopyDescriptors 메서드(d3d12.h)

설명자를 원본에서 대상으로 복사합니다.

구문

void CopyDescriptors(
  [in]           UINT                              NumDestDescriptorRanges,
  [in]           const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
  [in, optional] const UINT                        *pDestDescriptorRangeSizes,
  [in]           UINT                              NumSrcDescriptorRanges,
  [in]           const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
  [in, optional] const UINT                        *pSrcDescriptorRangeSizes,
  [in]           D3D12_DESCRIPTOR_HEAP_TYPE        DescriptorHeapsType
);

매개 변수

[in] NumDestDescriptorRanges

형식: UINT

복사할 대상 설명자 범위의 수입니다.

[in] pDestDescriptorRangeStarts

형식: const D3D12_CPU_DESCRIPTOR_HANDLE*

복사할 D3D12_CPU_DESCRIPTOR_HANDLE 개체의 배열입니다.

모든 대상 및 원본 설명자는 동일한 D3D12_DESCRIPTOR_HEAP_TYPE 힙에 있어야 합니다.

[in, optional] pDestDescriptorRangeSizes

형식: const UINT*

복사할 대상 설명자 범위 크기의 배열입니다.

[in] NumSrcDescriptorRanges

형식: UINT

복사할 원본 설명자 범위의 수입니다.

[in] pSrcDescriptorRangeStarts

형식: const D3D12_CPU_DESCRIPTOR_HANDLE*

복사할 D3D12_CPU_DESCRIPTOR_HANDLE 개체의 배열입니다.

중요

pSrcDescriptorRangeStarts 매개 변수의 모든 요소는 셰이더가 표시되지 않는 설명자 힙에 있어야 합니다. 셰이더 표시 설명자 힙은 WRITE_COMBINE 메모리 또는 GPU 로컬 메모리에 생성될 수 있기 때문에 읽기가 매우 느립니다. 애플리케이션이 지정된 패스 또는 프레임에 필요한 설명자를 로컬 "스토리지" 설명자 힙에서 GPU 바인딩된 설명자 힙으로 복사하여 설명자 힙을 관리하는 경우 스토리지 힙에 대해 셰이더 불투명 힙을 사용하고 필요에 따라 GPU 표시 힙에 복사합니다.

[in, optional] pSrcDescriptorRangeSizes

형식: const UINT*

복사할 원본 설명자 범위 크기의 배열입니다.

[in] DescriptorHeapsType

형식: D3D12_DESCRIPTOR_HEAP_TYPE

복사할 설명자 힙의 형식을 지정하는 D3D12_DESCRIPTOR_HEAP_TYPE 형식의 값입니다. 이는 다른 설명자 형식의 크기가 다를 수 있으므로 필요합니다.

원본 및 대상 설명자 힙은 모두 동일한 형식이어야 합니다. 그렇지 않으면 디버그 계층에서 오류가 발생합니다.

반환 값

없음

설명

해당하는 경우 이 메서드에 ID3D12Device::CopyDescriptorsSimple 을 선호합니다. 복사본의 선형 특성으로 인해 CPU 캐시 누락 속도가 향상 될 수 있습니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 d3d12.h
라이브러리 D3D12.lib
DLL D3D12.dll

추가 정보

설명자 복사

ID3D12Device