Метод ID3D12Device3::EnqueueMakeResident (d3d12.h)
Асинхронно делает объекты резидентными для устройства.
Синтаксис
HRESULT EnqueueMakeResident(
D3D12_RESIDENCY_FLAGS Flags,
UINT NumObjects,
[in] ID3D12Pageable * const *ppObjects,
[in] ID3D12Fence *pFenceToSignal,
UINT64 FenceValueToSignal
);
Параметры
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 |