функция обратного вызова PFND3DDDI_SETMARKER (d3dumddi.h)
Уведомляет драйвер отображения в пользовательском режиме, что он должен создать новую метку времени, если любая работа GPU завершена с момента последнего вызова pfnSetMarker. При необходимости реализованы модели драйвера windows (WDDM) 1.3 и более поздних версий, работающих на оборудовании Microsoft Direct3D Уровня 9. (См. требования в улучшения производительности отрисовки Direct3D.) Для более расширенного оборудования драйверы должны реализовать функцию SetMarker.
Синтаксис
PFND3DDDI_SETMARKER Pfnd3dddiSetmarker;
HRESULT Pfnd3dddiSetmarker(
HANDLE hDevice
)
{...}
Параметры
hDevice
Дескриптор устройства отображения (графический контекст).
Возвращаемое значение
Возвращает S_OK или соответствующий результат ошибки, если функция не завершена успешно.
Замечания
Если тип события маркера из параметра Type функции pfnSetMarkerMod e не D3DDDIMT_NONE, драйвер отображения пользовательского режима должен выполнить эту процедуру с каждым вызовом pfnSetMarker:
- Увеличьте значение APISequenceNumber члена структуры D3DDDICB_LOGUMDMARKER.
- Определите, какие контексты, связанные с интерфейсом драйвера устройств с одним потоком (DDI), отрисовывает отправленные вызовы с последним вызовом pfnSetMarker. Для каждого такого контекста:
- Если буфер команд для контекста пуст, ничего не делать.
- Иначе:
- Убедитесь, что в буфере журнала контекста доступно больше памяти. При необходимости сброс буфера.
- Добавьте еще одну запись в буфер порядкового номера API контекста, который содержит низкие 32 биты текущего значения APISequenceNumber.
- Пример и запись меток времени, подходящих для текущего типа события маркера.
- Данные отслеживания обновлений, которые будут использоваться при следующем вызове pfnSetMark er.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 8.1,WDDM 1.3 и более поздних версий |
минимальный поддерживаемый сервер | Windows Server 2012 R2 |
целевая платформа | Настольный |
заголовка | d3dumddi.h (include D3d10umddi.h) |