функция обратного вызова PFND3DDDI_UPDATEGPUVIRTUALADDRESSCB (d3dumddi.h)
pfnUpdateGpuVirtualAddressCb — это специальная операция, используемая в контексте ресурсов плитки. Это позволяет драйверу пользовательского режима указать ряд операций сопоставления, применяемых к виртуальному диапазону адресов процесса в одном пакете обновлений таблицы страниц.
Диапазон виртуальных адресов графического блока обработки (GPU) во всех операциях (за исключением исходного адреса операций копирования) должен относиться к одному диапазону виртуальных адресов, полученному путем вызова pfnReserveGpuVirtualAddressCb. Аналогичным образом диапазоны виртуальных адресов всех источников в операциях копирования должны принадлежать одному диапазону виртуальных адресов, который был получен путем вызова pfnReserveGpuVirtualAddressCb.
Обновления таблицы страниц выполняются в контексте подкачки, выделенном для указанного контекста отрисовки, и выполняются на GPU только после того, как связанный контекст отрисовки сигнализирует FenceValue для указанного отслеживаемого объекта ограждения. После завершения обновления таблицы страниц контекст разбиения на страницы передает отслеживаемой объекту ограждения значение FenceValue+1, позволяя контексту отрисовки выполнять тесную блокировку с обновлениями таблицы страницы.
Синтаксис
PFND3DDDI_UPDATEGPUVIRTUALADDRESSCB Pfnd3dddiUpdategpuvirtualaddresscb;
HRESULT Pfnd3dddiUpdategpuvirtualaddresscb(
HANDLE hDevice,
const D3DDDICB_UPDATEGPUVIRTUALADDRESS *unnamedParam2
)
{...}
Параметры
hDevice
Дескриптор устройства отображения.
unnamedParam2
pData [in]
Указатель на структуру D3DDDICB_UPDATEGPUVIRTUALADDRESS , описывающую выполняемую операцию.
Возвращаемое значение
Если эта функция обратного вызова выполнена успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Диапазоны виртуальных адресов в операциях обновления могут пересекаться. Операции будут применяться в порядке отправки.
В одном вызове pfnUpdateVirtualAddressCb :
- Все диапазоны виртуальных адресов в операциях сопоставления и конечный диапазон в операциях копирования должны принадлежать к одному и тому же зарезервированному (нулевому) диапазону.
- Исходный диапазон виртуальных адресов в операциях копирования может находиться из другого зарезервированного (нулевого) диапазона.
- Исходный диапазон виртуальных адресов во всех операциях копирования должен принадлежать к одному и тому же зарезервированному (нулевому) диапазону.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 10 |
Минимальная версия сервера | Windows Server 2016 |
Целевая платформа | Персональный компьютер |
Верхняя часть | d3dumddi.h (включая D3dumddi.h) |