Graphics Guide for Windows 7の91-92ページにGDI Hardware Accelerationというセクションがあり、WDDM1.1ドライバの必須要件が書いてあった。引用しつつ訳してみる。
WDDM v1.1 ドライバは次の2D操作を高速化しなければならない
- BitBlt
- ColorFill
- StretchBlt
- AlphaBlend
- Cleartype font support
- TransparentBlt
WDDM v1.1 ドライバは次のROP操作をサポートしなければならない。
BitBltのためのROP
- DXGK_GDIROP_SRCCOPY = 1 (Dst = Src)
- DXGK_GDIROP_SRCINVERT = 2 (Dst = Dst ^ Src)
- DXGK_GDIROP_SRCAND = 3 (Dst = Dst & Src)
- DXGK_GDIROP_SRCOR = 4 (Dst = Dst | Src)
- DXGK_GDIROP_ROP3 = 5 (The high word contains the GDI Rop3 code)
ColorFillのためのROP
- DXGK_GDIROPCF_PATCOPY = 1 (Dst = Color)
- DXGK_GDIROPCF_PATINVERT = 2 (Dst = Dst ^ Color)
- DXGK_GDIROPCF_PDXN = 3 (Dst = ~(Color ^ Dst) )
- DXGK_GDIROPCF_DSTINVERT = 4 (Dst = ~Dst)
- DXGK_GDIROPCF_PATAND = 5 (Dst = Dst & Color)
- DXGK_GDIROPCF_PATOR = 6 (Dst = Dst | Color)
- DXGK_GDIROPCF_ROP3 = 7 (The high word contains the GDI Rop3 code.)
その他要件
- 8K x 8K テクスチャサイズのサポート
- 線形ヒープのサポート
引用はここまで。
Windows7のGDIアクセラレーションは局所的で主に画面転送・カラーフィル関連のみに限られる。だけどVistaに比べるとかなり高速化されたのはなんとなくわかる。
AlphaBlendはHWアクセラレーションが効くとするとレイヤードウィンドウの半透明処理や透過処理はアクセラレーションされそうな感じだね。
Cleartypeもアクセラレーションされるのだな。
ただこのアクセラレーションはWDDM 1.1ドライバの要件なので、Windows7の要件ではないことに注意しないといけない。たとえWindows7でもWDDM1.0ドライバやXDDMドライバでは当然このアクセラレーションは働かない。