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_GDIOP_ALPHABLEND = 3 |
|
trasferimento a blocchi di bit senza estensione |
Bitblt |
DXGK_GDIOP_BITBLT = 1 |
|
ClearType e blend di pixel di testo antialiased |
ClearTypeBlend |
DXGK_GDIOP_CLEARTYPEBLEND = 7 |
|
riempimento colore |
ColorFill |
DXGK_GDIOP_COLORFILL = 2 |
|
trasferimento a blocchi di bit esteso |
StretchBlt |
DXGK_GDIOP_STRETCHBLT = 4 |
|
trasferimento a blocchi di bit con trasparenza |
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>.