Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Создает зарезервированный ресурс, который еще не сопоставлен ни с одной страницей в куче.
Синтаксис
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 |