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 placées et réservées Direct3D sur des régions de tas. Le modèle simple de réutilisation de la mémoire (décrit dans Remarques) existe pour clarifier quelle ressource superposée est valide à un moment donné. Pour maximiser la prise en charge par les outils graphiques, le modèle simple ne prend pas en charge l’héritage des 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 une version ultérieure.

Syntaxe

Paramètres

pHeap
Type : ID3D12Heap *
Un pointeur vers l’interface ID3D12Heap qui représente le tas dans lequel la ressource est placée. HeapOffset
Type : UINT64
Le décalage, en octets, vers 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ée pour connaître la taille des ressources de texture. pDesc
Type : const D3D12_RESOURCE_DESC1 *
Un pointeur vers une structure D3D12_RESOURCE_DESC qui décrit la ressource. InitialLayout
Type : D3D12_BARRIER_LAYOUT
La 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 une structure 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 comportant 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 passée lors de la création de la ressource. pOptimizedClearValue doit être NULL lorsqu’il est utilisé avec D3D12_RESOURCE_DIMENSION_BUFFER. NumCastableFormats
Type : UINT32
Le nombre d’éléments dans pCastableFormats. pCastableFormats
Type : DXGI_FORMAT *
Un tableau contigu de structures DXGI_FORMAT vers lesquelles cette ressource peut être convertie. riid
Type : const IID &
L’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 de la ressource peut être obtenu à l’aide de la macro __uuidof. Par exemple, __uuidof(ID3D12Resource) obtient le GUID de l’interface d’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 **
Un 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 retourné lorsque pResourceDesc et les autres paramètres sont valides.

Valeur de retour

Type : HRESULT Cette méthode retourne 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 la section 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