ID3D12Device::CreateHeap, méthode (d3d12.h)
Crée un tas qui peut être utilisé avec des ressources placées et des ressources réservées.
Syntaxe
HRESULT CreateHeap(
[in] const D3D12_HEAP_DESC *pDesc,
[in] REFIID riid,
[out, optional] void **ppvHeap
);
Paramètres
[in] pDesc
Type : const D3D12_HEAP_DESC*
Pointeur vers une structure de D3D12_HEAP_DESC constante qui décrit le tas.
[in] riid
Type : REFIID
Référence à l’identificateur global unique (GUID) de l’interface de tas à retourner dans ppvHeap.
Alors que riidResource est généralement le GUIDd’ID3D12Heap, 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] ppvHeap
Type : void**
Pointeur facultatif vers un bloc de mémoire qui reçoit le pointeur d’interface demandé vers l’objet de tas créé.
ppvHeap peut être nullptr
, pour activer les tests de capacité. Lorsque ppvHeap 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 le tas. |
Pour connaître les autres valeurs de retour possibles, consultez Codes de retour Direct3D 12 .
Notes
CreateHeap crée un tas qui peut être utilisé avec des ressources placées et des ressources réservées.
Avant de publier la référence finale sur le tas, votre application doit s’assurer que le GPU ne lit plus ni n’écrit dans ce tas.
Un objet de ressource placé contient une référence sur le tas sur lequel il est créé ; mais une ressource réservée ne contient pas de référence pour chaque mappage effectué sur un tas.
Spécifications
Plateforme cible | Windows |
En-tête | d3d12.h |
Bibliothèque | D3D12.lib |
DLL | D3D12.dll |