次の方法で共有


GDI ハードウェア高速化レンダリング操作の指定

DxgkDdiRenderKm 関数が呼び出されると、オペレーティング システムは、pRenderKmArgs パラメーターを使用して実行する GDI ハードウェアアクセラレータレンダリング操作の種類を指定します。 DirectX グラフィックス カーネル サブシステム (Dxgkrnl.sys) のディスプレイポート ドライバーは、可変サイズのDXGK_RENDERKM_COMMAND 構造体の配列を含むコマンド バッファーを指す pRenderKmArgs->pCommand メンバーを設定します。 また、pRenderKmArgs->pCommandLength メンバーをコマンド バッファーのサイズ (バイト単位) に設定します。

ドライバーは、入力DXGK_RENDERKM_COMMANDコマンド バッファーを DMA バッファー コマンドに変換し、パッチの場所の一覧をビルドする必要があります。

DXGK_RENDERKM_COMMAND には、次の表に示すように、GDI ハードウェアアクセラレータレンダリング操作の特性を指定するメンバーが含まれています。

レンダリング操作 DXGK_RENDERKM_COMMAND メンバー 対応する DXGK_GDIARG_XXX 構造体 対応する DXGK_RENDERKM_OPERATION 値

アルファブレンド

AlphaBlend

DXGK_GDIARG_ALPHABLEND

DXGK_GDIOP_ALPHABLEND = 3

ストレッチなしのビット ブロック転送

BitBlt

DXGK_GDIARG_BITBLT

DXGK_GDIOP_BITBLT = 1

ClearType とアンチエイリアシングテキストピクセルブレンド

ClearTypeBlend

DXGK_GDIARG_CLEARTYPEBLEND

DXGK_GDIOP_CLEARTYPEBLEND = 7

塗りつぶしの色

ColorFill

DXGK_GDIARG_COLORFILL

DXGK_GDIOP_COLORFILL = 2

ストレッチ ビット ブロック転送

StretchBlt

DXGK_GDIARG_STRETCHBLT

DXGK_GDIOP_STRETCHBLT = 4

透明度を使用したビット ブロック転送

TransparentBlt

DXGK_GDIARG_TRANSPARENTBLT

DXGK_GDIOP_TRANSPAREN TB (テラバイト)LT = 6

オペレーティング システムは、DXGK_RENDERKM_COMMANDの OpCode メンバーを使用して、ディスプレイ ミニポート ドライバーが処理する必要がある特定の GDI ハードウェアアクセラレータレンダリング操作を示します。 OpCode メンバーの型は DXGK_RENDERKM_OPERATION で、値は表に示されています。

オペレーティング システムは、現在のレンダリング コマンドのサイズをバイト単位で指定する、DXGK_RENDERKM_COMMAND CommandSize メンバーの適切な値も提供します。これには、OpCode の値とコマンド内のサブ矩形の数が含まれます。

透明度を使用してビット ブロック転送を実行するディスプレイ アダプターの機能の詳細については、DXGK_GDIARG_TRANSPARENTBLT->Flags メンバーに含まれる D3DKM_TRANSPARENTBLTFLAGS 構造体を参照してください。