Angeben von GDI-Hardware-Accelerated Renderingvorgängen

Wenn die DxgkDdiRenderKm-Funktion aufgerufen wird, gibt das Betriebssystem den Typ des hardwarebeschleunigten GDI-Renderingvorgangs an, der über den pRenderKmArgs-Parameter ausgeführt werden soll. Der Anzeigeporttreiber des DirectX-Grafikkernsubsystems (Dxgkrnl.sys) legt fest, dass der pRenderKmArgs-pCommand-Member> auf einen Befehlspuffer verweist, der ein Array von DXGK_RENDERKM_COMMAND Strukturen mit variabler Größe enthält. Außerdem wird der pRenderKmArgs-pCommandLength-Member> auf die Größe des Befehlspuffers in Bytes festgelegt.

Der Treiber muss die Eingabe DXGK_RENDERKM_COMMAND Befehlspuffers in DMA-Pufferbefehle übersetzen und die Patchspeicherortliste erstellen.

DXGK_RENDERKM_COMMAND enthält Member, die Merkmale von hardwarebeschleunigten GDI-Renderingvorgängen angeben, wie in der folgenden Tabelle beschrieben.

Renderingvorgang DXGK_RENDERKM_COMMAND Mitglied Entsprechende DXGK_GDIARG_XXX-Struktur Entsprechender DXGK_RENDERKM_OPERATION-Wert

Alphamischung

AlphaBlend

DXGK_GDIARG_ALPHABLEND

DXGK_GDIOP_ALPHABLEND = 3

Bitblockübertragung ohne Dehnung

Bitblt

DXGK_GDIARG_BITBLT

DXGK_GDIOP_BITBLT = 1

Pixelmischung von ClearType und Antialiased Text

ClearTypeBlend

DXGK_GDIARG_CLEARTYPEBLEND

DXGK_GDIOP_CLEARTYPEBLEND = 7

Farbfüllung

ColorFill

DXGK_GDIARG_COLORFILL

DXGK_GDIOP_COLORFILL = 2

Gestreckte Bitblockübertragung

StretchBlt

DXGK_GDIARG_STRETCHBLT

DXGK_GDIOP_STRETCHBLT = 4

Bitblockübertragung mit Transparenz

TransparentBlt

DXGK_GDIARG_TRANSPARENTBLT

DXGK_GDIOP_TRANSPARENTBLT = 6

Das Betriebssystem verwendet den OpCode-Member von DXGK_RENDERKM_COMMAND, um den spezifischen hardwarebeschleunigten GDI-Renderingvorgang anzugeben, den der Anzeigeminiporttreiber verarbeiten muss. Das OpCode-Element ist vom Typ DXGK_RENDERKM_OPERATION, wobei die Werte in der Tabelle angezeigt werden.

Das Betriebssystem stellt auch den entsprechenden Wert des DXGK_RENDERKM_COMMAND CommandSize-Members zur Verfügung, der die Größe des aktuellen Renderingbefehls in Bytes angibt, einschließlich des Werts von OpCode und der Anzahl der Unterrechtecke im Befehl.

Weitere Informationen zur Fähigkeit des Grafikkartes, eine Bitblockübertragung mit Transparenz durchzuführen, sind in der D3DKM_TRANSPARENTBLTFLAGS-Struktur im DXGK_GDIARG_TRANSPARENTBLT-Flags-Member> enthalten.