Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Когда вызывается функция DxgkDdiRenderKm, операционная система задает тип операции рендеринга с аппаратным ускорением GDI через параметр pRenderKmArgs. Драйвер порта отображения подсистемы графического ядра DirectX (Dxgkrnl.sys) задает элемент pRenderKmArgs-pCommand>, указывающий на буфер команд, содержащий массив структур переменной размера DXGK_RENDERKM_COMMAND. Он также устанавливает поле pRenderKmArgs->pCommandLength в соответствии с размером буфера команд в байтах.
Драйвер должен преобразовать входной командный буфер DXGK_RENDERKM_COMMAND в команды буфера DMA и создать список расположений исправлений.
DXGK_RENDERKM_COMMAND содержит элементы, которые указывают характеристики операций отрисовки с аппаратным ускорением GDI, как описано в следующей таблице.
| Операция отрисовки | Член DXGK_RENDERKM_COMMAND | Соответствующая структура DXGK_GDIARG_XXX | Соответствующее значение DXGK_RENDERKM_OPERATION |
|---|---|---|---|
альфа-смесь |
AlphaBlend |
DXGK_GDIOP_ALPHABLEND = 3 |
|
передача бит-блоков без растяжения |
BitBlt |
DXGK_GDIOP_BITBLT = 1 |
|
ClearType и антиализасное сочетание пикселей текста |
ClearTypeBlend |
DXGK_GDIOP_CLEARTYPEBLEND = 7 |
|
цветовая заливка |
ColorFill |
DXGK_GDIOP_COLORFILL = 2 |
|
Передача растянутого битового блока |
StretchBlt |
DXGK_GDIOP_STRETCHBLT = 4 |
|
Передача бит-блоков с прозрачностью |
TransparentBlt |
DXGK_GDIOP_TRANSPARENTBLT = 6 |
Операционная система использует элемент OpCode DXGK_RENDERKM_COMMAND, чтобы указать определенную операцию отрисовки с аппаратным ускорением GDI, которую должен обрабатывать драйвер мини-порта отображения. Элемент OpCode имеет тип DXGK_RENDERKM_OPERATION со значениями, отображаемыми в таблице.
Операционная система также предоставит соответствующее значение элемента commandSize DXGK_RENDERKM_COMMAND, указывающего размер текущей команды отрисовки в байтах, включая значение OpCode и количество вложенных прямоугольников в команде.
Дополнительные сведения о возможности адаптера отображения для выполнения передачи битовых блоков с прозрачностью предоставляются в структуре D3DKM_TRANSPARENTBLTFLAGS, содержащейся в элементе DXGK_GDIARG_TRANSPARENTBLT-Flags>.