Partager via


ID3D12Device4 ::CreateReservedResource1, méthode (d3d12.h)

Crée une ressource (éventuellement pour une session protégée) qui est réservée et qui n’est pas encore mappée aux pages d’un tas. Consultez également ID3D12Device ::CreateReservedResource.

Notes

Seules les vignettes des tas créés avec la même session de ressource protégée peuvent être mappées dans une ressource réservée protégée.

Syntaxe

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

Paramètres

[in] pDesc

Type : const D3D12_RESOURCE_DESC*

Pointeur vers une structure D3D12_RESOURCE_DESC qui décrit la ressource.

[in] InitialState

Type : D3D12_RESOURCE_STATES

État initial de la ressource, sous la forme d’une combinaison de D3D12_RESOURCE_STATES constantes d’énumération au niveau du bit.

[in, optional] pOptimizedClearValue

Type : const D3D12_CLEAR_VALUE*

Spécifie une structure D3D12_CLEAR_VALUE qui décrit la valeur par défaut d’une couleur claire.

pOptimizedClearValue spécifie une valeur pour laquelle les opérations d’effacement sont les plus optimales. Lorsque la ressource créée est une texture avec les indicateurs D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET ou D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL , vous devez choisir la valeur avec laquelle l’opération clear sera le plus souvent appelée. Vous pouvez appeler l’opération clear avec d’autres valeurs, mais ces opérations ne seront pas aussi efficaces que lorsque la valeur correspond à celle passée à la création de ressources.

Lorsque vous utilisez D3D12_RESOURCE_DIMENSION_BUFFER, vous devez définir pOptimizedClearValue sur nullptr.

[in, optional] pProtectedSession

Type : ID3D12ProtectedResourceSession*

Pointeur facultatif vers un objet qui représente une session pour la protection du contenu. Si elle est fournie, cette session indique que la ressource doit être protégée. Vous pouvez obtenir une session ID3D12ProtectedResourceSession en appelant ID3D12Device4 ::CreateProtectedResourceSession.

[in] riid

Type : REFIID

Référence à l’identificateur global unique (GUID) de l’interface de ressource à retourner dans ppvResource. Consultez Remarques.

Bien que riidResource soit le plus souvent le GUIDd’ID3D12Resource, il peut s’agir du GUID de n’importe quelle interface. Si l’objet de ressource ne prend pas en charge l’interface de ce GUID, la création échoue avec E_NOINTERFACE.

[out, optional] ppvResource

Type : void**

Pointeur facultatif vers un bloc de mémoire qui reçoit le pointeur d’interface demandé vers l’objet de ressource créé.

ppvResource peut être nullptr, pour activer les tests de capacité. Lorsque ppvResource a la valeur nullptr, aucun objet n’est créé et S_FALSE est retourné lorsque pDesc est valide.

Valeur retournée

Type : HRESULT

Si la fonction réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreurHRESULT.

Valeur retournée Description
E_OUTOFMEMORY La mémoire est insuffisante pour créer la ressource.

Pour connaître les autres valeurs de retour possibles, consultez Codes de retour Direct3D 12 .

Remarques

CreateReservedResource équivaut à D3D11_RESOURCE_MISC_TILED dans Direct3D 11. Il crée une ressource avec de la mémoire virtuelle uniquement, sans magasin de stockage.

Vous devez mapper la ressource à la mémoire physique (c’est-à-dire à un tas) à l’aide de CopyTileMappings et UpdateTileMappings.

Ces types de ressources peuvent uniquement être créés lorsque l’adaptateur prend en charge le niveau de ressource en mosaïque 1 ou supérieur. Le niveau de ressource en mosaïque définit le comportement d’accès à une ressource qui n’est pas mappée à un tas.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10 Build 20348
Serveur minimal pris en charge Windows 10 Build 20348
Plateforme cible Windows
En-tête d3d12.h
Bibliothèque d3d12.lib
DLL d3d12.dll

Voir aussi

CreateCommittedResource1

CreatePlacedResource

ID3D12Device4