Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Начиная с Windows 8.1, дискретный GPU использует межадаптерный ресурс следующим образом:
- Назначение для передачи бит-блоков (bitblt) или присутствующих операций, но без растяжения или преобразования цвета.
- Ресурс, из который операционная система запрашивает драйвер отображения в пользовательском режиме, чтобы выполнить bitblt или текущую операцию.
Интегрированный GPU использует ресурс между адаптерами в качестве:
- Текстура в процессе композиции диспетчером окон рабочего стола (DWM).
- Целевой объект отрисовки для аппаратного ускорения GDI.
- Основной экран.
- Не как целевой объект отрисовки для 3-D операций.
В следующих разделах описана архитектура и процессы, участвующие в трех возможных сценариях, в которых приложение выполняет рендеринг на дискретном GPU в гибридной системе.
Перенаправленная модель презентации bitblt
- Ресурс для перекрестного взаимодействия адаптеров для окна верхнего уровня создается в режиме ядра как стандартное распределение на интегрированной графической карте.
- При открытии этого ресурса на дискретном GPU подсистема графического ядра DirectX (Dxgkrnl.sys) вызывает функцию DxgkDdiGetStandardAllocationDriverData и создает новый ресурс на дискретном GPU с помощью того же резервного хранилища (устройство массового хранения), что и для встроенного GPU.
- Среда выполнения Direct3D указывает дискретному пользовательскому драйверу графического процессора открыть ресурс кроссплатформенного адаптера с использованием данных частного драйвера.
- Приложение DirectX рендерит на дискретном GPU в ресурс заднего буфера. См. операцию "Отрисовка" на рисунке.
- Когда приложение DirectX вызывает метод Present , среда выполнения Direct3D вызывает функцию PresentDXGI (или pfnPresent) драйвера пользовательского режима GPU для копирования обратного буфера в ресурс кроссплатформенного адаптера. См. операцию "Present" на рисунке.
- Когда приложение интерфейса графического устройства Windows (GDI) отображается в окне верхнего уровня, подсистема ядра графики DirectX вызывает функцию DxgkDdiRenderKm встроенного драйвера мини-порта gpu и указывает, что ресурс перекрестного адаптера является целевым объектом отрисовки. Просмотрите подключение между приложением GDI и поверхностью кроссплатформенного адаптера на рисунке.
- Процесс DWM открывает ресурс между адаптерами в интегрированном GPU и использует его во время композиции в качестве исходной текстуры. См. операцию "Композиция" на рисунке.
Модель прямой презентации без переворачивания
- Среда выполнения Direct3D указывает дискретному пользовательскому драйверу графического процессора создать ресурс перекрестного адаптера для каждой области цепочки буферов.
- На дискретном GPU среда выполнения Direct3D может задать членов Primary и VidPnSourceId структуры D3DDDI_ALLOCATIONINFO, если режим Direct Flip доступен. Эти значения-члены должны передаваться при вызове функции pfnAllocateCb .
- Среда выполнения Direct3D указывает встроенному драйверу отображения графического процессора открыть ресурс между адаптерами, управляемый DWM.
- Приложение выполняет отрисовку на дискретном графическом процессоре, используя целевую текстуру отрисовки в качестве места назначения. См. операцию "Отрисовка" на рисунке.
- Когда приложение вызывает метод Present , среда выполнения Direct3D вызывает функцию BltDXGI (или pfnBlt) драйвера пользовательского режима GPU для выполнения копирования в ресурс кроссплатформенного адаптера. Затем среда выполнения вызывает функцию PresentDXGI (или pfnPresent) драйвера пользовательского режима дискретного GPU, с установкой источника на ресурс перекрестного адаптера и назначением на NULL. См. операцию "Копировать" на рисунке.
- DWM выполняет свою композицию с помощью ресурса из интегрированного GPU. Если требуется операция Direct Flip (DXGK_SEGMENTFLAGS.DirectFlip указаны), DWM указывает драйверу минипорта дисплея интегрированного графического процессора выполнить операцию переворота из одной перекрестной аллокации в другую. См. операцию DWM flip на рисунке.
Полноэкранная модель
- Среда выполнения Direct3D указывает встроенному драйверу отображения графического процессора создать общее основное выделение между адаптерами для каждой области цепочки буферов.
- Среда выполнения Direct3D предписывает дискретному драйверу отображения графического процессора открывать ресурсы между адаптерами.
- Приложение выполняет рендеринг на дискретном GPU, используя целевую текстуру рендеринга в качестве места назначения.
- Когда приложение вызывает метод Present , среда выполнения Direct3D указывает драйверу отображения пользовательского режима GPU выполнять копирование в ресурс кроссплатформенного адаптера.
- Встроенный драйвер отображения в пользовательском режиме для GPU и драйвер минипорта для отображения инструктированы переключиться на этот ресурс межадаптерного адаптера.