Método ID3D12Device::CreateHeap (d3d12.h)
Cria um heap que pode ser usado com recursos colocados e recursos reservados.
Sintaxe
HRESULT CreateHeap(
[in] const D3D12_HEAP_DESC *pDesc,
[in] REFIID riid,
[out, optional] void **ppvHeap
);
Parâmetros
[in] pDesc
Tipo: const D3D12_HEAP_DESC*
Um ponteiro para uma estrutura de D3D12_HEAP_DESC constante que descreve o heap.
[in] riid
Tipo: REFIID
Uma referência ao GUID (identificador global exclusivo) da interface de heap a ser retornada em ppvHeap.
Embora riidResource seja mais comumente o GUID de ID3D12Heap, ele pode ser o GUID de qualquer interface. Se o objeto de recurso não der suporte à interface para esse GUID, a criação falhará com E_NOINTERFACE.
[out, optional] ppvHeap
Tipo: void**
Um ponteiro opcional para um bloco de memória que recebe o ponteiro de interface solicitado para o objeto heap criado.
ppvHeap pode ser nullptr
, para habilitar o teste de funcionalidade. Quando ppvHeap é nullptr
, nenhum objeto é criado e S_FALSE é retornado quando pDesc é válido.
Valor retornado
Tipo: HRESULT
Se a função for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erroHRESULT.
Valor retornado | Descrição |
---|---|
E_OUTOFMEMORY | Não há memória suficiente para criar o heap. |
Confira Códigos de retorno do Direct3D 12 para obter outros valores retornados possíveis.
Comentários
CreateHeap cria um heap que pode ser usado com recursos colocados e recursos reservados.
Antes de liberar a referência final no heap, seu aplicativo deve garantir que a GPU não será mais lida ou gravada nesse heap.
Um objeto de recurso colocado contém uma referência no heap no qual ele é criado; mas um recurso reservado não contém uma referência para cada mapeamento feito em um heap.
Requisitos
Plataforma de Destino | Windows |
Cabeçalho | d3d12.h |
Biblioteca | D3D12.lib |
DLL | D3D12.dll |