Passer au contenu principal
Crée une ressource placée dans un tas spécifique. Les ressources placées sont les objets ressources les plus légers disponibles, et ce sont les plus rapides à créer et à détruire. Votre application peut réutiliser la mémoire vidéo en superposant plusieurs ressources Direct3D placées et réservées sur des régions de tas. Le modèle simple de réutilisation de la mémoire (décrit dans Remarques) permet de clarifier quelle ressource superposée est valide à un moment donné. Afin d’optimiser la prise en charge par les outils graphiques, le modèle simple ne prend pas en charge l’héritage de données, ni l’invalidation plus fine des tuiles et des sous-ressources. Seule l’invalidation complète des ressources superposées se produit. Nécessite le DirectX 12 Agility SDK 1.7 ou version ultérieure.

Syntaxe

Paramètres

pHeap
Type : 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. HeapOffset doit être un multiple de l’alignement de la ressource, et HeapOffset plus la taille de la ressource doit être inférieur ou égal à la taille du tas. GetResourceAllocationInfo doit être utilisé pour connaître la taille des ressources de texture. pDesc
Type : const D3D12_RESOURCE_DESC1 *
Pointeur vers une structure D3D12_RESOURCE_DESC qui décrit la ressource. InitialLayout
Type : D3D12_BARRIER_LAYOUT
Disposition initiale de la ressource de texture ; D3D12_BARRIER_LAYOUT::D3D12_BARRIER_LAYOUT_UNDEFINED pour les mémoires tampons. pOptimizedClearValue
Type : const D3D12_CLEAR_VALUE *
Spécifie un D3D12_CLEAR_VALUE qui décrit la valeur par défaut d’une couleur d’effacement. 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 l’indicateur D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET ou D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL, votre application doit choisir la valeur avec laquelle l’opération d’effacement sera le plus souvent appelée. Les opérations d’effacement peuvent être appelées avec d’autres valeurs, mais ces opérations ne seront pas aussi efficaces que lorsque la valeur correspond à celle transmise lors de la création de la ressource. pOptimizedClearValue doit être NULL lorsqu’il est utilisé avec D3D12_RESOURCE_DIMENSION_BUFFER. NumCastableFormats
Type : UINT32
Nombre d’éléments dans pCastableFormats. pCastableFormats
Type : DXGI_FORMAT *
Tableau contigu de structures DXGI_FORMAT vers lesquelles cette ressource peut être convertie. riid
Type : const IID &
Identificateur global unique (GUID) de l’interface de ressource. Il s’agit d’un paramètre d’entrée. Le REFIID, ou GUID, de l’interface vers la ressource peut être obtenu à l’aide de la macro __uuidof. 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 de n’importe quelle interface. Si l’objet ressource ne prend pas en charge l’interface correspondant à ce GUID, la création échoue avec E_NOINTERFACE. ppvResource
Type : void **
Pointeur vers un bloc de mémoire qui reçoit un pointeur vers la ressource. ppvResource peut être NULL, afin de permettre le test des capacités. Lorsque ppvResource est NULL, aucun objet n’est créé et S_FALSE est renvoyé si pResourceDesc et les autres paramètres sont valides.

Valeur renvoyée

Type : HRESULT Cette méthode renvoie E_OUTOFMEMORY si la mémoire est insuffisante pour créer la ressource. Consultez Codes de retour Direct3D 12 pour connaître les autres valeurs de retour possibles.

Remarques

Consultez les Remarques de ID3D12Device::CreatePlacedResource.

Configuration requise

En-tête : d3d12_xs.h
Bibliothèque : d3d12_xs.lib
Plateformes prises en charge : consoles XBOX Series

Voir aussi

CreateCommittedResource CreateReservedResource ID3D12Device10 Tas partagés
Dernière modification le 6 octobre 2026