コマンドプロセッサと接続されているのが「セットアップエンジン」(Setup Engine)だ。
これまでのGPUでセットアップエンジンというと、頂点単位の処理からピクセル単位の処理へと変換するタスクをこなす、いわゆるトライアングルセットアップ(ラスタライザ)ユニットを指していた。ところが、Radeon HD 2000シリーズでは、下記の3つの機能を有した、いわば「シェーダ・セットアップエンジン」ともいうべき役割を果たすようになっている。

最終的に汎用シェーダは、頂点、ジオメトリ、ピクセルのいずれかのシェーダに任命されるわけだが、このセットアップエンジンは、"各種別"シェーダとして起用された際に、その仕事をこなすために必要なデータを揃える役割を担当する。

ブロックダイアグラムの上段拡大図(説明の都合上反復的に登場)

頂点アセンブラ(Vertex Assembler)

頂点アセンブラとは、頂点シェーダがその仕事をこなす際に必要とする頂点バッファやインデックスバッファのアドレスデータをまとめる機能ブロックだ。

従来のGPUでは頂点シェーダの前に接続されていたユニットだが、Radeon HD 2000シリーズでは統合型シェーダアーキテクチャになったことで、セットアップエンジン側に内包される形となっている。

注目したいのは、図中、頂点アセンブラの上に接続された「プログラマブルテッセレータ」(Programmable Tessllator)の存在だ(以下、テッセレータ)。詳しくは後述するが、このテッセレータはポリゴンを分割する機能を果たす。ポリゴンを分割するというと頂点シェーダやジオメトリシェーダと同列の多機能シェーダをイメージしてしまうが、Radeon HD 2000シリーズでは頂点アセンブラのサブユニットとして実装されているのが特徴だ。

ジオメトリアセンブラ(Geomtery Assembler)

ジオメトリシェーダが必要とする頂点情報を取りまとめるユニットだ。ジオメトリシェーダは、複数頂点に対して増減が出来るので、ジオメトリアセンブラは、その処理に必要な複数の頂点のアドレス情報をまとめてくれる。

スキャンコンバータ/ラスタライザ(Scan Converter/Rasterizer)

前述した、昔ながらのGPUでいうところのセットアップエンジンが行っていた仕事をこなす。

ポリゴン単位の情報は、ここでピクセル単位のタスクに分解されることになる。