Condividi tramite


Specifica delle operazioni di rendering accelerate tramite hardware GDI

Quando viene chiamata la funzione dxgkDdiRenderKm, il sistema operativo specifica il tipo di operazione di rendering GDI accelerata hardware da eseguire tramite il parametro pRenderKmArgs. Il driver della porta di visualizzazione del sottosistema kernel grafico DirectX (Dxgkrnl.sys) configura il membro pRenderKmArgs ->pCommand affinché punti a un buffer di comandi che contiene un array di strutture DXGK_RENDERKM_COMMAND di dimensioni variabili. Imposta anche il pRenderKmArgs,>membro pCommandLength, in byte.

Il driver deve convertire l'input del comando DXGK_RENDERKM_COMMAND nel comando del buffer DMA e compilare l'elenco delle posizioni 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 di blocchi di bit senza estensione

BitBlt

DXGK_GDIARG_BITBLT

DXGK_GDIOP_BITBLT = 1

ClearType e fusione dei pixel di testo antialias

ClearTypeBlend

DXGK_GDIARG_CLEARTYPEBLEND

DXGK_GDIOP_CLEARTYPEBLEND = 7

riempimento di colore

ColorFill

DXGK_GDIARG_COLORFILL

DXGK_GDIOP_COLORFILL = 2

trasferimento di blocchi di bit estesi

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 utilizza il membro OpCode di DXGK_RENDERKM_COMMAND per indicare l'operazione specifica di rendering GDI accelerata dall'hardware che il driver miniport del display 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, inclusivo del valore di OpCode e del numero di sottorettangoli nel comando.

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