Condividi tramite


Metodo ID3D12Device::CreateReservedResource (d3d12.h)

Crea una risorsa riservata e non ancora mappata ad alcuna pagina in un heap.

Sintassi

HRESULT CreateReservedResource(
  [in]            const D3D12_RESOURCE_DESC *pDesc,
  [in]            D3D12_RESOURCE_STATES     InitialState,
  [in, optional]  const D3D12_CLEAR_VALUE   *pOptimizedClearValue,
  [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

Lo stato iniziale della risorsa, come combinazione or bit per bit di D3D12_RESOURCE_STATES costanti di enumerazione.

[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 cancellate sono ottimali. Quando la risorsa creata è una trama con i flag D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET o D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL , è necessario scegliere il valore con cui verrà chiamata l'operazione cancellata. È possibile chiamare l'operazione di cancellazione con altri valori, ma queste operazioni non saranno altrettanto 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] riid

Tipo: REFIID

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

Anche se riidResource è in genere il GUID di ID3D12Resource, può essere il GUID di qualsiasi interfaccia. Se l'oggetto risorsa non supporta l'interfaccia per questo GUID, la creazione ha esito negativo con E_NOINTERFACE.

[out, optional] ppvResource

Tipo: void**

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

ppvResource può essere nullptr, per abilitare il 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.

Per altri possibili valori restituiti, vedere Codici restituiti Direct3D 12 .

Commenti

CreateReservedResource equivale a D3D11_RESOURCE_MISC_TILED in Direct3D 11. Crea una risorsa solo con memoria virtuale, senza 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'adattatore supporta il livello di risorsa affiancato 1 o superiore. Il livello di risorsa affiancato definisce il comportamento di accesso a una risorsa non mappata a un heap.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione d3d12.h
Libreria D3D12.lib
DLL D3D12.dll

Vedi anche

CreateCommittedResource

CreatePlacedResource

ID3D12Device