다음을 통해 공유


ID3D12Device10::CreatePlacedResource2 메서드(d3d12.h)

특정 힙에 배치되는 리소스를 만듭니다. 배치된 리소스는 사용 가능한 가장 가벼운 리소스 개체이며 가장 빠르게 만들고 파괴할 수 있습니다.

애플리케이션은 힙 지역에 배치된 여러 Direct3D 및 예약된 리소스와 겹쳐서 비디오 메모리를 다시 사용할 수 있습니다. 간단한 메모리 재사용 모델(설명설명)은 지정된 시간에 유효한 겹치는 리소스를 명확히 하기 위해 존재합니다. 그래픽 도구 지원을 최대화하기 위해 간단한 모델 데이터 상속은 지원되지 않습니다. 세분화된 타일 및 하위 리소스 무효화는 지원되지 않습니다. 전체 겹치는 리소스 무효화만 발생합니다.

DirectX 12 Agility SDK 1.7 이상이 필요합니다.

통사론

HRESULT CreatePlacedResource2(
  ID3D12Heap                 *pHeap,
  UINT64                     HeapOffset,
  const D3D12_RESOURCE_DESC1 *pDesc,
  D3D12_BARRIER_LAYOUT       InitialLayout,
  const D3D12_CLEAR_VALUE    *pOptimizedClearValue,
  UINT32                     NumCastableFormats,
  const DXGI_FORMAT          *pCastableFormats,
  REFIID                     riid,
  void                       **ppvResource
);

매개 변수

pHeap

형식: [in] ID3D12Heap*

리소스가 배치되는 힙을 나타내는 ID3D12Heap 인터페이스에 대한 포인터입니다.

HeapOffset

형식: UINT64

리소스에 대한 오프셋(바이트)입니다. HeapOffset 리소스 맞춤의 배수여야 하며, HeapOffset 및 리소스 크기가 힙 크기보다 작거나 같아야 합니다. GetResourceAllocationInfo 사용하여 텍스처 리소스의 크기를 이해해야 합니다.

pDesc

형식: [in] const D3D12_RESOURCE_DESC*

리소스를 설명하는 D3D12_RESOURCE_DESC 구조체에 대한 포인터입니다.

InitialLayout

텍스처 리소스의 초기 레이아웃입니다. 버퍼에 대한 D3D12_BARRIER_LAYOUT::D 3D12_BARRIER_LAYOUT_UNDEFINED.

pOptimizedClearValue

형식: [in, optional] const D3D12_CLEAR_VALUE*

명확한 색의 기본값을 설명하는 D3D12_CLEAR_VALUE 지정합니다.

pOptimizedClearValue 명확한 작업이 가장 최적인 값을 지정합니다. 생성된 리소스가 D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET 또는 D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL 플래그가 있는 텍스처인 경우 애플리케이션은 일반 작업이 가장 일반적으로 호출되는 값을 선택해야 합니다.

지우기 작업은 다른 값으로 호출할 수 있지만 해당 작업은 값이 리소스 생성에 전달된 값과 일치하는 경우만큼 효율적이지 않습니다.

pOptimizedClearValueD3D12_RESOURCE_DIMENSION_BUFFER함께 사용할 경우 NULL이어야 합니다.

NumCastableFormats

pCastableFormats의 요소 수는.

pCastableFormats

이 리소스를 캐스팅할 수 있는 연속된 DXGI_FORMAT 구조 배열입니다.

riid

형식: REFIID

리소스 인터페이스에 대한 전역 고유 식별자(GUID)입니다. 입력 매개 변수입니다.

리소스에 대한 인터페이스의 REFIID또는 GUID__uuidof 매크로를 사용하여 가져올 수 있습니다. 예를 들어 __uuidof(ID3D12Resource) 리소스에 대한 인터페이스의 GUID 가져옵니다. riid 가장 일반적으로 ID3D12Resource의 GUID는있지만 모든 인터페이스에 GUID 수 있습니다. 리소스 개체가 이 GUID대한 인터페이스를 지원하지 않으면 E_NOINTERFACE생성에 실패합니다.

ppvResource

형식: [out, optional] void**

리소스에 대한 포인터를 받는 메모리 블록에 대한 포인터입니다. ppvResource NULL일 수 있으므로 기능 테스트를 사용할 수 있습니다. ppvResource 경우 개체가 만들어지지 않으며 pResourceDesc 및 기타 매개 변수가 유효한 경우 S_FALSE 반환됩니다.

반환 값

형식: HRESULT

이 메서드는 리소스를 만들 메모리가 부족한 경우 E_OUTOFMEMORY 반환합니다. 다른 가능한 반환 값은 Direct3D 12 반환 코드 참조하세요.

발언

ID3D12Device::CreatePlacedResource대한 설명 참조하세요.

요구 사항

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

참고 항목

CreateCommittedResource

CreateReservedResource

ID3D12Device10

공유 힙