後藤弘茂のWeekly海外ニュース

DirectX 9が3DLabsとMatroxを復活させる


●急ににぎわい始めたグラフィックスチップ

別ウィンドウで拡大します
 にわかに、グラフィックスチップ(GPU)業界が盛り上がりつつある。このところ、ほとんどNVIDIAとATI Technologiesの2トップの独走だったのが、ここへ来て3DLabsとMatroxが戦線に復帰する姿勢を見せているからだ。3DLabsは「P10」を発表、Matroxも「GDC(Game Developers Conference)」で次世代チップの計画を示した。

「昨年は、生き残ったのはNVIDIAとATI Technologiesだけのように見えた。しかし、今、3DlabsもMatroxも、戻って来つつある。しばらく消えていた彼らが戻ってくるのは、業界にとって、非常にいいサインだと考えている」とMicrosoftでDirectXを担当するTed Hase(テッド・ハセ)ディレクタ(Third-Party Windows Gaming & Entertainment)も、GDCのインタビューの際にこの動きを歓迎していた。

 さらに、フェイズはズレるが、台湾SiSやVIA Technologiesも、DirectX 9世代GPUで、トップとの距離を縮めようとしている。どうしてここへ来て、いきなりGPU業界はこんなに盛り上がってしまったのだろう? 実は、単純明快な理由がある。それは、DirectX 9が控えているからだ。

 DirectX 9は、GPUのターニングポイントとなる。DirectX 9世代以降は、GPUのアーキテクチャが完全に一新される。そのため、これまでの技術の蓄積の意味が薄れ、全く新しいアプローチが必要となる。つまり、誰もが新しいスタートラインに立てる。NVIDIAを打倒できるチャンスがある。だからGPUメーカーも俄然やる気になっているのだ。


●ハードウェアT&LがなくなるDirectX 9世代

 先月、DirectX 9のハードウェアを予想したが、申しわけないことに、あれはかなり外れていた。実は、実際のDirectX 9世代GPUは、はるかにアグレッシブだった。例えば、ハードウェアT&L(座標変換&ライティング)はなくなり、セットアップやクリップなどはジオメトリパイプの最初の段階で行なわれるようになるらしい。

 例えば、あるGPU業界関係者は「DirectX 9世代CPUでは、ハードウェアT&L機能はなくなる。この機能は、Programable Vertex Shader上でのソフトウェアエミュレーションで代行することが推奨されている」と語る。つまり、DirectX 7の遺産であるハードウェアT&Lは、DirectX 9世代で早くも消えてしまう。一方、DirectX 9ハードウェアでは、Vertex Shaderの前に新たに「Tessellator(平面分割ユニット)」が加わる。

 また、DirectX 9ハードでは、Vertex ShaderとPixel Shaderの両方を必ずハードウェアインプリメントしなければならない。「DirectX 8では、Vertex Shaderで処理した後にPixel Shaderで処理をする。だから、Vertex ShaderはCPUエミュレーションにするといった、分割が可能だった。しかし、DirectX 9ではそれは不可能になる。両Shaderがコラボレーションするため、必ず両方を備えなければならない。また、DirectX 8では、Vertex ShaderとPixel Shaderの間で処理していたクリップなどもなくなる。概念は存在するのだが、その機能はTessellatorの段階に入る」とある関係者は説明する。

 こうして見ると、DirectX 9ハードウェアでは、3Dの処理の流れ自体が大きく変わることがわかる。DirectX 7までで確立された旧来の3Dグラフィックスパイプラインは、DirectX 9で完全に再構成されるようだ。その中間ステップが、レガシーのパイプラインにShaderを入れ込んだDirectX 8だったというわけだ。

 DirectX 8ではフルに残されていたDirectX 7時代の遺産で、DirectX 9に残るのはハードウェアテクスチャユニット程度だ。「DirectX 9世代でも、テクスチャユニットはまだ存在する。しかし、機能はシンプルになるだろう」(ある関係者)という。これも、DirectX 10では消えそうだ。

 もっとも、DirectX 10になると、もっと大きな変化が待っているようだ。ある関係者は「DirectX 10ハードウェアでは、Vertex ShaderとPixel Shaderが統合される。つまり、VertexデータとPixelデータが同時に処理されるようになる。ずっとシンプルなフォームだ」と語る。この段階になると、GPUはかなりのレベルでプログラマブルなデバイスになると考えていい。

 もっとも、完全にプログラマブルなプロセッサになってしまうわけではない。「フルプログラマブルにするのはGPUの場合は理にかなっていない。例えば、フィルタリングなどの機能はプログラマブルにする理由がない。こうした機能は、非プログラマブル機能として、常に残るだろう。そして、固定機能の方がプログラマブルユニットよりも、常に高速だ」とATI TechnologiesのJason L. Mitchell氏(Project Team Leader, 3D Application Research Group)は説明する。

 グラフィックスに特化した固定機能と、プログラマブルプロセッサの混合が、DirectX 9/10世代のハードウェアだ。


●いかに速いプロセッサを作るかがカギ

 こうした変化により、GPU開発はこれまでとは全く異なったものへと変化する。これまでのGPU開発では、重要となるのは3Dグラフィックス機能をいかに効率よくハードワイヤド実装するかだったという。そのため、アルゴリズムなどの蓄積がものを言った。しかし、DirectX 9世代になると状況は一変する。

「DirectX 9になると、重要なのはいかに速いプロセッサを作るかに移る」と語るのはSiS(Silicon Integrated Sytems)でグラフィックス製品を統括するThomas Tsuiディレクタ(Multimedia Product Division)。

 つまり、高性能なDSPやCPUの開発と同じ種類のスキルが重要となり、DSPエンジニアを多く抱えてるGPUメーカーなどが、原理的に有利になる。3DLabsやMatroxは、この点に自信を持っているので、この時点で参戦してきた可能性がある。例えば、3DLabsは新チップについて、プロセッサである点を非常に強調している。

 また、プロセス技術の重要度もさらに上がる。ハードワイヤド実装ではなく、プロセッサで機能を実現するとなると、トランジスタ効率が悪くなる。つまり、より多くのトランジスタが必要となる。「DirectX 9以降はゲート数が非常に増える。そのため、0.13μmプロセス以降でないと製造は無理」(Tsui氏)という。

 ただでさえ、最先端CPUよりもトランジスタ数が多い現在のGPUが、さらに肥大化する。そのため、最新のプロセス技術をうまく乗りこなすだけの開発力やFabとのつながりが必要となる。自社Fabを持つSiSが、DirectX 9をチャンスと見ているのはこのためだろう。

□関連記事
【4月12日】【海外】メディアプロセッサへと向かうDirectX 9時代のグラフィックスチップ http://pc.watch.impress.co.jp/docs/2002/0412/kaigai01.htm
【5月8日】3Dlabs、新ビデオチップ「P10」を第3四半期に投入
http://pc.watch.impress.co.jp/docs/2002/0508/3dlabs.htm


バックナンバー

(2002年5月10日)

[Reported by 後藤 弘茂]

【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp

Copyright (c) 2002 impress corporation All rights reserved.