Condividi tramite


Specifica di operazioni di rendering Hardware-Accelerated GDI

Quando viene chiamata la funzione DxgkDdiRenderKm , il sistema operativo specifica il tipo di operazione di rendering con accelerazione hardware GDI da eseguire tramite il parametro pRenderKmArgs . Il driver della porta di visualizzazione del sottosistema del kernel grafico DirectX (Dxgkrnl.sys) imposta il membro pRenderKmArgs-pCommand> in modo che punti a un buffer di comandi che contiene una matrice di strutture di dimensioni variabili DXGK_RENDERKM_COMMAND. Imposta anche il membro pRenderKmArgs-pCommandLength> sulle dimensioni del buffer dei comandi, in byte.

Il driver deve convertire il buffer dei comandi di input DXGK_RENDERKM_COMMAND in comandi buffer DMA e compilare l'elenco dei percorsi delle patch.

DXGK_RENDERKM_COMMAND contiene membri che specificano le caratteristiche delle operazioni di rendering con accelerazione hardware GDI, come descritto nella tabella seguente.

Operazione di rendering membro DXGK_RENDERKM_COMMAND Struttura DXGK_GDIARG_XXX corrispondente Valore DXGK_RENDERKM_OPERATION corrispondente

fusione alfa

AlphaBlend

DXGK_GDIARG_ALPHABLEND

DXGK_GDIOP_ALPHABLEND = 3

trasferimento a blocchi di bit senza estensione

Bitblt

DXGK_GDIARG_BITBLT

DXGK_GDIOP_BITBLT = 1

ClearType e blend di pixel di testo antialiased

ClearTypeBlend

DXGK_GDIARG_CLEARTYPEBLEND

DXGK_GDIOP_CLEARTYPEBLEND = 7

riempimento colore

ColorFill

DXGK_GDIARG_COLORFILL

DXGK_GDIOP_COLORFILL = 2

trasferimento a blocchi di bit esteso

StretchBlt

DXGK_GDIARG_STRETCHBLT

DXGK_GDIOP_STRETCHBLT = 4

trasferimento a blocchi di bit con trasparenza

TransparentBlt

DXGK_GDIARG_TRANSPARENTBLT

DXGK_GDIOP_TRANSPARENTBLT = 6

Il sistema operativo usa il membro OpCode di DXGK_RENDERKM_COMMAND per indicare l'operazione di rendering GDI con accelerazione hardware specifica che il driver miniport di visualizzazione deve elaborare. Il membro OpCode è di tipo DXGK_RENDERKM_OPERATION, con i valori visualizzati nella tabella.

Il sistema operativo fornirà anche il valore appropriato del membro DXGK_RENDERKM_COMMAND CommandSize , che specifica le dimensioni del comando di rendering corrente, in byte, incluso il valore di OpCode e il numero di sotto rettangoli nel comando.

Ulteriori informazioni sulla funzionalità dell'adattatore di visualizzazione per eseguire un trasferimento a blocchi di bit con trasparenza sono disponibili nella struttura D3DKM_TRANSPARENTBLTFLAGS contenuta nel membro DXGK_GDIARG_TRANSPARENTBLT-Flags>.