Поделиться через


Метод ID3D12Device10::CreateReservedResource2 (d3d12.h)

Создает зарезервированный ресурс, который еще не сопоставлен с любыми страницами в куче.

Требуется пакет SDK для DirectX 12 Agility 1.7 или более поздней версии.

Синтаксис

HRESULT CreateReservedResource2(
       const D3D12_RESOURCE_DESC      *pDesc,
       D3D12_BARRIER_LAYOUT           InitialLayout,
       const D3D12_CLEAR_VALUE        *pOptimizedClearValue,
       ID3D12ProtectedResourceSession *pProtectedSession,
       UINT32                         NumCastableFormats,
       const DXGI_FORMAT              *pCastableFormats,
  [in] REFIID                         riid,
       void                           **ppvResource
);

Параметры

pDesc

Тип: const D3D12_RESOURCE_DESC*

Указатель на структуру D3D12_RESOURCE_DESC, описывающую ресурс.

InitialLayout

Начальный макет ресурса текстуры; D3D12_BARRIER_LAYOUT::D 3D12_BARRIER_LAYOUT_UNDEFINED для буферов.

pOptimizedClearValue

Тип: константа D3D12_CLEAR_VALUE*

Указывает структуру D3D12_CLEAR_VALUE, описывающую значение по умолчанию для четкого цвета.

pOptimizedClearValue указывает значение, для которого наиболее оптимальные операции очистки. Когда созданный ресурс является текстурой с флагами D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET или D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL, следует выбрать значение, с помощью которого обычно вызывается операция очистки. Вы можете вызвать операцию очистки с другими значениями, но эти операции не будут столь эффективными, как при совпадении значения, переданного в создание ресурса.

При использовании D3D12_RESOURCE_DIMENSION_BUFFERнеобходимо задать для nullptrзначение pOptimizedClearValue.

pProtectedSession

Тип: ID3D12ProtectedResourceSession*

Необязательный указатель на объект, представляющий сеанс для защиты содержимого. Если этот сеанс указан, этот сеанс указывает, что ресурс должен быть защищен. Вы можете получить ID3D12ProtectedResourceSession, вызвав ID3D12Device4::CreateProtectedResourceSession.

NumCastableFormats

Количество элементов в pCastableFormats.

pCastableFormats

Непрерывный массив структур DXGI_FORMAT, к которым можно привести этот ресурс.

[in] riid

Тип: REFIID

Ссылка на глобальный уникальный идентификатор (GUID) интерфейса ресурса, возвращаемого в ppvResource. См. примечания.

Хотя riidResource чаще всего является GUIDID3D12Resource, это может быть GUID любого интерфейса. Если объект ресурса не поддерживает интерфейс для этого GUID, создание завершается сбоем с E_NOINTERFACE.

ppvResource

Тип: void**

Необязательный указатель на блок памяти, который получает запрошенный указатель интерфейса на созданный объект ресурса.

ppvResource можно nullptr, чтобы включить тестирование возможностей. Если ppvResource nullptr, объект не создается и S_FALSE возвращается, когда pDesc.

Возвращаемое значение

Тип: HRESULT

Если функция успешно выполнена, она возвращает S_OK. В противном случае возвращается кодошибки HRESULT.

Возвращаемое значение Описание
E_OUTOFMEMORY Для создания ресурса недостаточно памяти.

См. коды возврата Direct3D 12 для других возможных возвращаемых значений.

Замечания

См. примечания для ID3D12Device.CreateReservedResource.

Требования

Требование Ценность
целевая платформа Виндоус
заголовка d3d12.h
библиотеки D3d12.lib
DLL D3d12.dll

См. также

CreateCommittedResource

CreatePlacedResource

ID3D12Device10