функция обратного вызова PFND3DDDI_SETMARKER (d3dumddi.h)

Уведомляет драйвер отображения пользовательского режима о том, что он должен создать новую метку времени, если с момента последнего вызова pfnSetMarker была выполнена какая-либо работа с GPU. При необходимости реализована в драйверах Windows Display Driver Model (WDDM) 1.3 и более поздних версий, работающих на оборудовании Microsoft Direct3D уровня 9. (См. требования в разделе Улучшения производительности отрисовки Direct3D.) Для более сложного оборудования драйверы должны реализовать функцию SetMarker .

Синтаксис

PFND3DDDI_SETMARKER Pfnd3dddiSetmarker;

HRESULT Pfnd3dddiSetmarker(
  HANDLE hDevice
)
{...}

Параметры

hDevice

Дескриптор устройства отображения (графический контекст).

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

Возвращает S_OK или соответствующий результат ошибки, если функция не завершается успешно.

Комментарии

Если тип события маркера из параметра Type функции pfnSetMarkerMode не D3DDDIMT_NONE, драйвер отображения пользовательского режима должен выполнять эту процедуру при каждом вызове pfnSetMarker:

  1. Увеличение значения элемента APISequenceNumber структуры D3DDDICB_LOGUMDMARKER .
  2. Определите, какие контексты, связанные с интерфейсом DDI отрисовки отправленных вызовов отрисовки, работают с последним вызовом pfnSetMarker. Для каждого такого контекста:
    1. Если буфер команд для контекста пуст, ничего не делать.
    2. В противном случае:
      • Убедитесь, что в буфере журнала контекста доступно больше памяти. При необходимости очистите буфер.
      • Добавьте еще одну запись в буфер последовательности API контекста, содержащий низкие 32 бита текущего значения APISequenceNumber .
      • Выборка и запись меток времени, подходящих для текущего типа события маркера.
    3. Обновление данных отслеживания, которые будут использоваться при следующем вызове pfnSetMarker .

Требования

Требование Значение
Минимальная версия клиента Windows 8.1,WDDM 1.3 и более поздних версий
Минимальная версия сервера Windows Server 2012 R2
Целевая платформа Персональный компьютер
Верхняя часть d3dumddi.h (включая D3d10umddi.h)

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

SetMarker

pfnSetMarkerMode