Condividi tramite


Metodo ID3D12Device4::CreateReservedResource1 (d3d12.h)

Crea una risorsa (facoltativamente per una sessione protetta) riservata e non ancora mappata a qualsiasi pagina in un heap. Vedere anche ID3D12Device::CreateReservedResource.

Nota

È possibile eseguire il mapping solo dei riquadri di heaps creati con la stessa sessione di risorse protetta in una risorsa riservata protetta.

Sintassi

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
);

Parametri

[in] pDesc

Tipo: const D3D12_RESOURCE_DESC*

Puntatore a una struttura D3D12_RESOURCE_DESC che descrive la risorsa.

[in] InitialState

Tipo: D3D12_RESOURCE_STATES

Stato iniziale della risorsa, come combinazione bit per bit-OR di costanti di enumerazione D3D12_RESOURCE_STATES .

[in, optional] pOptimizedClearValue

Tipo: const D3D12_CLEAR_VALUE*

Specifica una struttura D3D12_CLEAR_VALUE che descrive il valore predefinito per un colore chiaro.

pOptimizedClearValue specifica un valore per il quale le operazioni chiare sono più ottimali. Quando la risorsa creata è una trama con i flag di D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET o di D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL, è consigliabile scegliere il valore con cui verrà chiamata l'operazione chiara. È possibile chiamare l'operazione chiara con altri valori, ma queste operazioni non saranno più efficienti come quando il valore corrisponde a quello passato alla creazione di risorse.

Quando si usa D3D12_RESOURCE_DIMENSION_BUFFER, è necessario impostare pOptimizedClearValue su nullptr.

[in, optional] pProtectedSession

Tipo: ID3D12ProtectedResourceSession*

Puntatore facoltativo a un oggetto che rappresenta una sessione per la protezione del contenuto. Se specificato, questa sessione indica che la risorsa deve essere protetta. È possibile ottenere un ID3D12ProtectedResourceSession chiamando ID3D12Device4::CreateProtectedResourceSession.

[in] riid

Tipo: REFIID

Riferimento all'identificatore univoco globale (GUID) dell'interfaccia di risorsa da restituire in ppvResource. Vedere Osservazioni.

Anche se riidResource è più comunemente il GUID di ID3D12Resource, può essere il GUID di qualsiasi interfaccia. Se l'oggetto risorsa non supporta l'interfaccia per questo GUID, la creazione non riesce con E_NOINTERFACE.

[out, optional] ppvResource

Tipo: void**

Puntatore facoltativo a un blocco di memoria che riceve il puntatore dell'interfaccia richiesto all'oggetto risorsa creato.

ppvResource può essere nullptr, per abilitare i test delle funzionalità. Quando ppvResource è nullptr, non viene creato alcun oggetto e S_FALSE viene restituito quando pDesc è valido.

Valore restituito

Tipo: HRESULT

Se la funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di erroreHRESULT.

Valore restituito Descrizione
E_OUTOFMEMORY Memoria insufficiente per creare la risorsa.

Vedere Codici restituiti Direct3D 12 per altri valori restituiti possibili.

Commenti

CreateReservedResource equivale a D3D11_RESOURCE_MISC_TILED in Direct3D 11. Crea una risorsa solo con memoria virtuale, nessun archivio di backup.

È necessario eseguire il mapping della risorsa alla memoria fisica , ovvero a un heap, usando CopyTileMappings e UpdateTileMappings.

Questi tipi di risorse possono essere creati solo quando l'adapter supporta il livello di risorsa riquadri 1 o versione successiva. Il livello di risorsa riquadri definisce il comportamento di accesso a una risorsa non mappata a un heap.

Requisiti

Requisito Valore
Client minimo supportato Windows 10 Build 20348
Server minimo supportato Windows 10 Build 20348
Piattaforma di destinazione Windows
Intestazione d3d12.h
Libreria d3d12.lib
DLL d3d12.dll

Vedi anche

CreateCommittedResource1

CreatePlacedResource

ID3D12Device4