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


Метод ID3D12Device8::CreatePlacedResource1 (d3d12.h)

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

Приложение может повторно использовать память видео, перекрывая несколько размещенных и зарезервированных ресурсов Direct3D в регионах кучи. Простая модель повторного использования памяти (описанная в примечаниях) существует для уточнения того, какой перекрывающийся ресурс действителен в любое время. Чтобы максимально увеличить поддержку графического инструмента, при использовании простого наследования данных модели не поддерживается; и более детальное фрагментирование и недопустимая часть ресурса не поддерживаются. Происходит только полное перекрытие недопустимого ресурса.

Синтаксис

HRESULT CreatePlacedResource1(
  ID3D12Heap                 *pHeap,
  UINT64                     HeapOffset,
  const D3D12_RESOURCE_DESC1 *pDesc,
  D3D12_RESOURCE_STATES      InitialState,
  const D3D12_CLEAR_VALUE    *pOptimizedClearValue,
  REFIID                     riid,
  void                       **ppvResource
);

Параметры

pHeap

Тип: [in] ID3D12Heap*

Указатель на интерфейс ID3D12Heap, представляющий кучу, в которой размещается ресурс.

HeapOffset

Тип: UINT64

Смещение в байтах к ресурсу. heapOffset должен быть нескольким из выравнивания ресурса, и HeapOffset плюс размер ресурса должен быть меньше или равен размеру кучи. GetResourceAllocationInfo необходимо использовать для понимания размеров ресурсов текстур.

pDesc

Тип: [in] const D3D12_RESOURCE_DESC1*

Указатель на структуру D3D12_RESOURCE_DESC1, описывающую ресурс, включая регион MIP.

InitialState

Тип: D3D12_RESOURCE_STATES

Начальное состояние ресурса в виде побитовой комбинации констант перечисления D3D12_RESOURCE_STATES.

При создании ресурса вместе с кучей D3D12_HEAP_TYPE_UPLOAD необходимо D3D12_RESOURCE_STATE_GENERIC_READInitialStat e. При создании ресурса вместе с кучей D3D12_HEAP_TYPE_READBACK необходимо D3D12_RESOURCE_STATE_COPY_DESTInitialStat e.

pOptimizedClearValue

Тип: [in, необязательный] const D3D12_CLEAR_VALUE*

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

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

Очистить операции можно вызывать с другими значениями, но эти операции не будут столь эффективными, как при совпадении значения, переданного в создание ресурса.

pOptimizedClearValue должен иметь значение NULL при использовании с D3D12_RESOURCE_DIMENSION_BUFFER.

riid

Тип: REFIID

Глобальный уникальный идентификатор (GUID) для интерфейса ресурсов. Это входной параметр.

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

ppvResource

Тип: [out, необязательный] void**

Указатель на блок памяти, который получает указатель на ресурс. ppvResource может иметь значение NULL, чтобы включить тестирование возможностей. Если ppvResource имеет значение NULL, объект не будет создан и S_FALSE будет возвращен при pResourceDesc и других параметров.

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

Тип: HRESULT

Этот метод возвращает E_OUTOFMEMORY, если для создания ресурса недостаточно памяти. Дополнительные возможные значения возвращаемых значений см. в Direct3D 12 Return Code.

Замечания

См. ID3D12Device::CreatePlacedResource.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Сборка Windows 10 20348
минимальный поддерживаемый сервер Сборка Windows 10 20348
заголовка d3d12.h
библиотеки d3d12.lib
DLL d3d12.dll

См. также