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 |