Partager via


ID3D12Device10 ::CreatePlacedResource2, méthode (d3d12.h)

Crée une ressource placée dans un tas spécifique. Les ressources placées sont les objets de ressources de poids les plus légers disponibles et sont les plus rapides à créer et détruire.

Votre application peut réutiliser la mémoire vidéo en chevauchant plusieurs ressources placées et réservées Direct3D sur les régions de tas. Le modèle simple de réutilisation de la mémoire (décrit dans Remarques) existe pour clarifier la ressource qui se chevauche est valide à tout moment. Pour optimiser la prise en charge des outils graphiques, l’héritage simple des données du modèle n’est pas pris en charge ; la vignette fine et l’invalidation des sous-ressources ne sont pas prises en charge. Seule l’invalidation complète des ressources qui se chevauchent se produit.

Nécessite le KIT SDK d’agilité DirectX 12 1.7 ou version ultérieure.

Syntaxe

HRESULT CreatePlacedResource2(
  ID3D12Heap                 *pHeap,
  UINT64                     HeapOffset,
  const D3D12_RESOURCE_DESC1 *pDesc,
  D3D12_BARRIER_LAYOUT       InitialLayout,
  const D3D12_CLEAR_VALUE    *pOptimizedClearValue,
  UINT32                     NumCastableFormats,
  const DXGI_FORMAT          *pCastableFormats,
  REFIID                     riid,
  void                       **ppvResource
);

Paramètres

pHeap

Type : [in] ID3D12Heap*

Pointeur vers l’interface ID3D12Heap qui représente le tas dans lequel la ressource est placée.

HeapOffset

Type : UINT64

Décalage, en octets, de la ressource. Le heapOffset doit être un multiple de l’alignement de la ressource et HeapOffset plus la taille de la ressource doit être inférieure ou égale à la taille du tas. GetResourceAllocationInfo doit être utilisé pour comprendre les tailles des ressources de texture.

pDesc

Type : [in] const D3D12_RESOURCE_DESC*

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

InitialLayout

Disposition initiale de la ressource de texture ; D3D12_BARRIER_LAYOUT ::D 3D12_BARRIER_LAYOUT_UNDEFINED pour les mémoires tampons.

pOptimizedClearValue

Type : [in, facultatif] const D3D12_CLEAR_VALUE*

Spécifie une 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 claires 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, votre application doit choisir la valeur avec laquelle l’opération claire sera généralement appelée.

Les opérations claires peuvent être appelées avec d’autres valeurs, mais ces opérations ne seront pas aussi efficaces que lorsque la valeur correspond à celle passée dans la création de ressources.

pOptimizedClearValue doit être NULL lorsqu’elle est utilisée avec D3D12_RESOURCE_DIMENSION_BUFFER.

NumCastableFormats

Nombre d’éléments dans pCastableFormats.

pCastableFormats

Tableau contigu de structures DXGI_FORMAT vers laquelle cette ressource peut être convertie.

riid

Type : REFIID

Identificateur global unique (GUID) pour l’interface de ressource. Il s’agit d’un paramètre d’entrée.

LeREFIID , ou GUID, de l’interface vers la ressource peut être obtenue à l’aide de la macro . Par exemple, __uuidof(ID3D12Resource) obtient le GUID de l’interface vers une ressource. Bien que riid soit, le plus souvent, le GUID de ID3D12Resource, il peut s’agir de n’importe quel GUID GUID pour n’importe quelle interface. Si l’objet de ressource ne prend pas en charge l’interface de cette GUID, la création échoue avec E_NOINTERFACE.

ppvResource

Type : [out, optional] void**

Pointeur vers un bloc de mémoire qui reçoit un pointeur vers la ressource. ppvResource peut être NULL pour activer les tests de capacité. Lorsque ppvResource a la valeur NULL, aucun objet n’est créé et S_FALSE est retourné lorsque pResourceDesc et d’autres paramètres sont valides.

Valeur de retour

Type : HRESULT

Cette méthode retourne E_OUTOFMEMORY en cas d’insuffisance de mémoire pour créer la ressource. Consultez Codes de retour Direct3D 12 pour obtenir d’autres valeurs de retour possibles.

Remarques

Consultez remarques pour ID3D12Device ::CreatePlacedResource.

Exigences

Exigence Valeur
plateforme cible Windows
d’en-tête d3d12.h
bibliothèque D3d12.lib
DLL D3d12.dll

Voir aussi

createCommittedResource

CreateReservedResource

ID3D12Device10

segments partagés