Поделиться через


Связанный видеоадаптер

Каждый физический адаптер в канале связанного видеоадаптера (LDA) может поддерживать GpuMmu или IoMmu или оба режима адресации независимо друг от друга.

Поддержка IoMmu

Каждый физический адаптер в канале может поддерживать модель IoMmu и (или) модель GpuMmu .

DxgkDdiCreateDevice будет вызываться для логических адаптеров, поддерживающих модель IoMmu .

Поддержка GpuMmu

Все физические адаптеры в канале используют одно и то же виртуальное адресное пространство процесса, но каждая единица обработки графики (GPU) имеет собственные таблицы страниц. Как правило, содержимое таблиц страниц отличается на каждом GPU.

Схема, показывающая сегменты адреса памяти связанного адаптера дисплея.

Каждый физический адаптер может иметь собственные возможности GpuMmu (сегмент таблицы страницы, узел обновления таблицы страницы, макет виртуального адреса, формат базовой таблицы страницы, размер и т. д.). Единственное ограничение заключается в том, что все физические адаптеры должны иметь одинаковый размер виртуального адреса. GpuMmuCaps.VirtualAddressBitCount должен быть одинаковым для всех адаптеров. Драйвер должен зажать размер адресного пространства до наименьшего размера физических GPU.

Теперь графическое ядро DirectX будет запрашивать ограничения GpuMmu для каждого физического адаптера в ссылке. DxgkDdiQueryAdapterInfo (DXGKQAITYPE_PAGETABLELEVELDESC) также будет вызываться для каждого физического адаптера.

InputDataSize и pInputData для DxgkDdiQueryAdapterInfo(DXGKQAITYPE_GPUMMUCAPS) указывают на DXGK_GPUMMUCAPSIN.

InputDataSize и pInputData для DxgkDdiQueryAdapterInfo(DXGKQAITYPE_PAGETABLELEVELDESC) указывают на DXGK_PAGETABLELEVELDESCIN.

DxgkDdiCreateDevice