Partager via


Spécification des opérations de rendu Hardware-Accelerated GDI

Lorsque la fonction DxgkDdiRenderKm est appelée, le système d’exploitation spécifie le type d’opération de rendu avec accélération matérielle GDI à effectuer via le paramètre pRenderKmArgs . Le pilote de port d’affichage du sous-système du noyau graphique DirectX (Dxgkrnl.sys) définit le membre pRenderKmArgs-pCommand> pour qu’il pointe vers une mémoire tampon de commande qui contient un tableau de structures DXGK_RENDERKM_COMMAND de taille variable. Il définit également le membre pRenderKmArgs-pCommandLength> sur la taille de la mémoire tampon de commande, en octets.

Le pilote doit traduire l’entrée DXGK_RENDERKM_COMMAND mémoire tampon de commandes en commandes de mémoire tampon DMA et générer la liste des emplacements des correctifs.

DXGK_RENDERKM_COMMAND contient des membres qui spécifient les caractéristiques des opérations de rendu avec accélération matérielle GDI, comme décrit dans le tableau suivant.

Opération de rendu DXGK_RENDERKM_COMMAND Membre Structure DXGK_GDIARG_XXX correspondante Valeur de DXGK_RENDERKM_OPERATION correspondante

mélange alpha

AlphaBlend

DXGK_GDIARG_ALPHABLEND

DXGK_GDIOP_ALPHABLEND = 3

transfert de bloc de bits sans étirement

BitBlt

DXGK_GDIARG_BITBLT

DXGK_GDIOP_BITBLT = 1

ClearType et mélange de pixels de texte anticrénelé

ClearTypeBlend

DXGK_GDIARG_CLEARTYPEBLEND

DXGK_GDIOP_CLEARTYPEBLEND = 7

remplissage de couleur

ColorFill

DXGK_GDIARG_COLORFILL

DXGK_GDIOP_COLORFILL = 2

transfert de bloc de bits étendu

StretchBlt

DXGK_GDIARG_STRETCHBLT

DXGK_GDIOP_STRETCHBLT = 4

transfert de bloc de bits avec transparence

TransparentBlt

DXGK_GDIARG_TRANSPARENTBLT

DXGK_GDIOP_TRANSPARENTBLT = 6

Le système d’exploitation utilise le membre OpCode de DXGK_RENDERKM_COMMAND pour indiquer l’opération de rendu gDI à accélération matérielle spécifique que le pilote de miniport d’affichage doit traiter. Le membre OpCode est de type DXGK_RENDERKM_OPERATION, avec des valeurs affichées dans le tableau.

Le système d’exploitation fournit également la valeur appropriée du membre DXGK_RENDERKM_COMMAND CommandSize , qui spécifie la taille de la commande de rendu actuelle, en octets, y compris la valeur de OpCode et le nombre de sous-rectangles dans la commande.

Des informations supplémentaires sur la capacité de l’adaptateur d’affichage à effectuer un transfert de bloc de bits avec transparence sont fournies dans la structure D3DKM_TRANSPARENTBLTFLAGS contenue dans le membre DXGK_GDIARG_TRANSPARENTBLT-Flags>.