Метод ID3D12Device::CreateHeap (d3d12.h)
Создает кучу, которую можно использовать с размещенными и зарезервированными ресурсами.
Синтаксис
HRESULT CreateHeap(
[in] const D3D12_HEAP_DESC *pDesc,
[in] REFIID riid,
[out, optional] void **ppvHeap
);
Параметры
[in] pDesc
Тип: const D3D12_HEAP_DESC*
Указатель на константную D3D12_HEAP_DESC структуру, описывающую кучу.
[in] riid
Тип: REFIID
Ссылка на глобальный уникальный идентификатор (GUID) интерфейса кучи для возврата в ppvHeap.
Хотя riidResource чаще всего является GUIDID3D12Heap, это может быть GUID любого интерфейса. Если объект ресурса не поддерживает интерфейс для этого GUID, создание завершается сбоем с E_NOINTERFACE.
[out, optional] ppvHeap
Тип: void**
Необязательный указатель на блок памяти, который получает запрошенный указатель интерфейса на созданный объект кучи.
PpvHeap может иметь значение nullptr
, чтобы включить тестирование возможностей. Если ppvHeap имеет значение nullptr
, объект не создается, а S_FALSE возвращается, если pDesc является допустимым.
Возвращаемое значение
Тип: HRESULT
Если функция завершается успешно, она возвращает S_OK. В противном случае возвращается код ошибкиHRESULT.
Возвращаемое значение | Описание |
---|---|
E_OUTOFMEMORY | Недостаточно памяти для создания кучи. |
Другие возможные значения см. в разделе Коды возврата Direct3D 12 .
Комментарии
CreateHeap создает кучу, которую можно использовать с размещенными и зарезервированными ресурсами.
Перед выпуском окончательной ссылки в кучу приложение должно убедиться, что GPU больше не будет считывать или записывать данные в эту кучу.
Размещенный объект ресурса содержит ссылку на кучу, в которой он создан; но зарезервированный ресурс не содержит ссылку на каждое сопоставление, выполненное с кучей.
Требования
Целевая платформа | Windows |
Header | d3d12.h |
Библиотека | D3D12.lib |
DLL | D3D12.dll |