Método ID3D12Device::CreateHeap (d3d12.h)
Crea un montón que se puede usar con recursos colocados y recursos reservados.
Sintaxis
HRESULT CreateHeap(
[in] const D3D12_HEAP_DESC *pDesc,
[in] REFIID riid,
[out, optional] void **ppvHeap
);
Parámetros
[in] pDesc
Tipo: const D3D12_HEAP_DESC*
Puntero a una estructura de D3D12_HEAP_DESC constante que describe el montón.
[in] riid
Tipo: REFIID
Referencia al identificador único global (GUID) de la interfaz del montón que se va a devolver en ppvHeap.
Aunque riidResource suele ser el GUID de ID3D12Heap, puede ser el GUID de cualquier interfaz. Si el objeto de recurso no admite la interfaz para este GUID, se produce un error en la creación con E_NOINTERFACE.
[out, optional] ppvHeap
Tipo: void**
Puntero opcional a un bloque de memoria que recibe el puntero de interfaz solicitado al objeto de montón creado.
ppvHeap puede ser nullptr
, para habilitar las pruebas de funcionalidad. Cuando ppvHeap es nullptr
, no se crea ningún objeto y se devuelve S_FALSE cuando pDesc es válido.
Valor devuelto
Tipo: HRESULT
Si la función se ejecuta correctamente, devuelve S_OK. De lo contrario, devuelve un código de errorHRESULT.
Valor devuelto | Descripción |
---|---|
E_OUTOFMEMORY | No hay memoria suficiente para crear el montón. |
Consulte Códigos de retorno de Direct3D 12 para ver otros valores devueltos posibles.
Comentarios
CreateHeap crea un montón que se puede usar con recursos colocados y recursos reservados.
Antes de liberar la referencia final en el montón, la aplicación debe asegurarse de que la GPU ya no leerá ni escribirá en este montón.
Un objeto de recurso colocado contiene una referencia en el montón en el que se crea; pero un recurso reservado no contiene una referencia para cada asignación realizada a un montón.
Requisitos
Plataforma de destino | Windows |
Encabezado | d3d12.h |
Library | D3D12.lib |
Archivo DLL | D3D12.dll |