Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
DxgkddiSuspendContext указывает GPU приостановить контекст. Если GPU не признает завершение приостановки в течение времени ожидания TDR (обнаружение времени ожидания и восстановление), ос будет обнаруживать время ожидания двигателя и выполнять сброс двигателя.
Синтаксис
DXGKDDI_SUSPENDCONTEXT DxgkddiSuspendcontext;
NTSTATUS DxgkddiSuspendcontext(
IN_CONST_HANDLE hAdapter,
IN_CONST_PDXGKARG_SUSPENDCONTEXT pSuspendContext
)
{...}
Параметры
hAdapter
[in] Контекст оборудования, который должен быть прерван и помечен как приостановленный. Этот тип запроса предварительного прерывания не имеет льготного периода и, как ожидается, будет считаться GPU как можно скорее.
pSuspendContext
[in] Указатель на структуру DXGKARG_SUSPENDCONTEXT, содержащую дополнительные аргументы для этой функции.
Возвращаемое значение
DxgkddiSuspendContext возвращает STATUS_SUCCESS, если контекст уже приостановлен во время этого вызова. В противном случае это значение имеет значение STATUS_PENDING, и операция приостановки будет завершена, когда contextSuspendFence сигнализируется через прерывание.
Замечания
Зарегистрируйте реализацию этой функции обратного вызова, задав ее в DRIVER_INITIALIZATION_DATA.
Несмотря на то, что циклическая перебора может быть инициирована GPU, ОС по-прежнему нуждается в том, чтобы упреждать контекст по другим причинам; Например, если необходимо переместить его выделение вокруг или выполнить переход питания GPU.
Значение приостановки контекста необходимо для обработки случаев, когда ОС приостанавливает контекст, не ожидает подтверждения приостановки, возобновления и приостановки контекста снова. Значение приостановки позволит ОС различать предыдущее подтверждение приостановки и последнее.
После приостановки контекста предполагается, что все ссылки на него ушли из GPU, а ОС свободна для уничтожения контекста или перемещения его памяти. В отличие от WDDM 2.3 или более ранней версии, в dxgkDdiSubmitCommandVirtualв режиме планирования WDDM 2.4 отсутствует отдельная команда переключателя контекста NULL (ранее указана флагом ContextS witch в DxgkddiSubmitCommandVirtual) в режиме планирования WDDM 2.4, так как DxgkddiSuspendContext должна выполнять эту работу.
Требования
Требование | Ценность |
---|---|
заголовка | d3dkmddi.h |