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


Метод ID3D12Device3::EnqueueMakeResident (d3d12.h)

Асинхронно делает объекты резидентными для устройства.

Синтаксис

HRESULT EnqueueMakeResident(
       D3D12_RESIDENCY_FLAGS Flags,
       UINT                  NumObjects,
  [in] ID3D12Pageable        * const *ppObjects,
  [in] ID3D12Fence           *pFenceToSignal,
       UINT64                FenceValueToSignal
);

Параметры

Flags

Тип: D3D12_RESIDENCY_FLAGS

Определяет, должны ли объекты быть резидентами, если приложение превышает свой бюджет памяти.

NumObjects

Тип: UINT

Количество объектов в массиве ppObjects , которые необходимо сделать резидентными для устройства.

[in] ppObjects

Тип: ID3D12Pageable*

Указатель на блок памяти; содержит массив указателей интерфейса ID3D12Pageable для объектов .

Несмотря на то, что большинство объектов D3D12 наследуются от ID3D12Pageable, изменения расположения поддерживаются только в следующих случаях:

  • кучи дескриптора
  • кучи
  • выделенные ресурсы
  • кучи запросов

[in] pFenceToSignal

Тип: ID3D12Fence*

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

FenceValueToSignal

Тип: UINT64

64-разрядное значение без знака, указывающее на ограждение при выполнении работы.

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

Тип: HRESULT

Этот метод возвращает один из кодов возврата Direct3D 12.

Комментарии

EnqueueMakeResident выполняет те же действия, что и MakeResident, но не ожидает, пока ресурсы будут резидентными. Вместо этого EnqueueMakeResident сигнализирует о заборе, когда работа завершена.

Система не будет разрешать работу, которая ссылается на ресурсы, которые становятся резидентами с помощью EnqueueMakeResident , прежде чем будет сигнализировать о своем заборе. Вместо этого вызовы этого API гарантированно сигналит о соответствующем заборе по порядку, поэтому одно и то же ограждение можно использовать от вызова к вызову.

Требования

Требование Значение
Целевая платформа Windows
Header d3d12.h
Библиотека D3D12.lib
DLL D3D12.dll

См. также раздел

ID3D12Device

ID3D12Device3