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 열거형 상수의 비트 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 사용하는 경우 pOptimizedClearValue를 nullptr
로 설정해야 합니다.
[in, optional] pProtectedSession
형식: ID3D12ProtectedResourceSession*
콘텐츠 보호를 위한 세션을 나타내는 개체에 대한 선택적 포인터입니다. 제공된 경우 이 세션은 리소스를 보호해야 임을 나타냅니다. ID3D12Device4::CreateProtectedResourceSession을 호출하여 ID3D12ProtectedResourceSession을 가져올 수 있습니다.
[in] riid
형식: REFIID
ppvResource에서 반환할 리소스 인터페이스의 GUID(Globally Unique Identifier)에 대한 참조입니다. 설명을 참조하세요.
riidResource는 가장 일반적으로 ID3D12Resource의 GUID이지만 모든 인터페이스의 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 |