다음을 통해 공유


ID3D12Device4::CreateReservedResource1 메서드(d3d12.h)

힙의 페이지에 아직 매핑되지 않은 리소스(선택적으로 보호된 세션의 경우)를 만듭니다. ID3D12Device::CreateReservedResource도 참조하세요.

참고

동일한 보호된 리소스 세션을 사용하여 만든 힙의 타일만 보호된 예약 리소스에 매핑할 수 있습니다.

구문

HRESULT CreateReservedResource1(
  [in]            const D3D12_RESOURCE_DESC      *pDesc,
  [in]            D3D12_RESOURCE_STATES          InitialState,
  [in, optional]  const D3D12_CLEAR_VALUE        *pOptimizedClearValue,
  [in, optional]  ID3D12ProtectedResourceSession *pProtectedSession,
  [in]            REFIID                         riid,
  [out, optional] void                           **ppvResource
);

매개 변수

[in] pDesc

형식: const D3D12_RESOURCE_DESC*

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

[in] InitialState

형식: D3D12_RESOURCE_STATES

리소스의 초기 상태이며, D3D12_RESOURCE_STATES 열거형 상수의 비트 OR 조합입니다.

[in, optional] pOptimizedClearValue

형식: const D3D12_CLEAR_VALUE*

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

pOptimizedClearValue 는 명확한 작업이 가장 적합한 값을 지정합니다. 생성된 리소스가 D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET 또는 D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL 플래그가 있는 텍스처인 경우 clear 작업이 가장 일반적으로 호출되는 값을 선택해야 합니다. 다른 값으로 clear 연산을 호출할 수 있지만 해당 작업은 값이 리소스 만들기에 전달된 값과 일치하는 경우만큼 효율하지 않습니다.

D3D12_RESOURCE_DIMENSION_BUFFER 사용하는 경우 pOptimizedClearValuenullptr로 설정해야 합니다.

[in, optional] pProtectedSession

형식: ID3D12ProtectedResourceSession*

콘텐츠 보호를 위한 세션을 나타내는 개체에 대한 선택적 포인터입니다. 제공된 경우 이 세션은 리소스를 보호해야 임을 나타냅니다. ID3D12Device4::CreateProtectedResourceSession을 호출하여 ID3D12ProtectedResourceSession을 가져올 수 있습니다.

[in] riid

형식: REFIID

ppvResource에서 반환할 리소스 인터페이스의 GUID(Globally Unique Identifier)에 대한 참조입니다. 설명을 참조하세요.

riidResource는 가장 일반적으로 ID3D12ResourceGUID이지만 모든 인터페이스의 GUID일 수 있습니다. 리소스 개체가 이 GUID에 대한 인터페이스를 지원하지 않으면 E_NOINTERFACE 함께 생성이 실패합니다.

[out, optional] ppvResource

형식: void**

생성된 리소스 개체에 대한 요청된 인터페이스 포인터를 수신하는 메모리 블록에 대한 선택적 포인터입니다.

ppvResource는nullptr기능 테스트를 사용하도록 설정하는 일 수 있습니다. ppvResource가 이면 nullptr개체가 만들어지지 않으며 pDesc가 유효하면 S_FALSE 반환됩니다.

반환 값

형식: HRESULT

함수가 성공하면 S_OK를 반환합니다. 그렇지 않으면 HRESULT오류 코드를 반환합니다.

반환 값 Description
E_OUTOFMEMORY 리소스를 만들 메모리가 부족합니다.

다른 가능한 반환 값은 Direct3D 12 반환 코드를 참조하세요.

설명

CreateReservedResource 는 Direct3D 11의 D3D11_RESOURCE_MISC_TILED 동일합니다. 가상 메모리만, 백업 저장소가 없는 리소스를 만듭니다.

CopyTileMappings 및 UpdateTileMappings를 사용하여 리소스를 실제 메모리(즉, 힙)에 매핑해야 합니다.

이러한 리소스 유형은 어댑터가 타일형 리소스 계층 1 이상을 지원하는 경우에만 만들 수 있습니다. 타일식 리소스 계층은 힙에 매핑되지 않은 리소스에 액세스하는 동작을 정의합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10 빌드 20348
지원되는 최소 서버 Windows 10 빌드 20348
대상 플랫폼 Windows
헤더 d3d12.h
라이브러리 d3d12.lib
DLL d3d12.dll

추가 정보

CreateCommittedResource1

CreatePlacedResource

ID3D12Device4