Метод ID3D12Device::CreateReservedResource (d3d12.h)
Создает зарезервированный ресурс, который еще не сопоставлен ни с одной страницей в куче.
Синтаксис
HRESULT CreateReservedResource(
[in] const D3D12_RESOURCE_DESC *pDesc,
[in] D3D12_RESOURCE_STATES InitialState,
[in, optional] const D3D12_CLEAR_VALUE *pOptimizedClearValue,
[in] REFIID riid,
[out, optional] void **ppvResource
);
Параметры
[in] pDesc
Тип: const D3D12_RESOURCE_DESC*
Указатель на структуру D3D12_RESOURCE_DESC , описывающую ресурс.
[in] InitialState
Начальное состояние ресурса в виде побитового или сочетания D3D12_RESOURCE_STATES констант перечисления.
[in, optional] pOptimizedClearValue
Тип: const D3D12_CLEAR_VALUE*
Задает структуру D3D12_CLEAR_VALUE , которая описывает значение по умолчанию для прозрачного цвета.
pOptimizedClearValue указывает значение, для которого наиболее оптимальными являются операции очистки. Если созданный ресурс является текстурой с флагами D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET или D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL , следует выбрать значение, с которым чаще всего будет вызываться операция очистки. Операцию очистки можно вызвать с другими значениями, но эти операции не будут столь эффективными, как если бы значение совпадало со значением, переданным при создании ресурса.
При использовании D3D12_RESOURCE_DIMENSION_BUFFER необходимо задать для параметра pOptimizedClearValue значение nullptr
.
[in] riid
Тип: REFIID
Ссылка на глобальный уникальный идентификатор (GUID) интерфейса ресурса, возвращаемого в ppvResource. См. Примечания.
Хотя riidResource чаще всего является GUIDID3D12Resource, он может быть GUID любого интерфейса. Если объект ресурса не поддерживает интерфейс для этого GUID, создание завершается сбоем с E_NOINTERFACE.
[out, optional] ppvResource
Тип: void**
Необязательный указатель на блок памяти, который получает запрошенный указатель интерфейса на созданный объект ресурса.
PpvResource может иметь значение nullptr
, чтобы включить тестирование возможностей. Если ppvResource имеет значение nullptr
, объект не создается, а S_FALSE возвращается, если pDesc является допустимым.
Возвращаемое значение
Тип: HRESULT
Если функция выполняется успешно, она возвращает S_OK. В противном случае возвращается код ошибкиHRESULT.
Возвращаемое значение | Описание |
---|---|
E_OUTOFMEMORY | Недостаточно памяти для создания ресурса. |
Другие возможные возвращаемые значения см. в разделе Коды возврата Direct3D 12 .
Комментарии
CreateReservedResource эквивалентно D3D11_RESOURCE_MISC_TILED в Direct3D 11. Он создает ресурс только с виртуальной памятью без резервного хранилища.
Необходимо сопоставить ресурс с физической памятью (т. е. с кучей) с помощью CopyTileMappings и UpdateTileMappings.
Эти типы ресурсов можно создавать только в том случае, если адаптер поддерживает мозаичный уровень ресурсов 1 или более поздней версии. Уровень ресурсов с плитками определяет поведение при доступе к ресурсу, который не сопоставлен с кучей.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | d3d12.h |
Библиотека | D3D12.lib |
DLL | D3D12.dll |