特記事項: SPARCstation 10SX、SPARCstation 20

概要

SX は、ピクセル操作を高速化するプログラム可能なデバイスです。XGL では以下の操作と、その他のピクセルデータ (カラーと Z バッファーを含む) の読み取りと書き込みの操作を高速化することができます。

ピクセルデータは、ビデオ RAM (cg14 フレームバッファー 、VRAM)、あるいは主記憶 (DRAM) に置かれます。

SPARCstation 10SX システムおよび SPARCstation 20 システム は、すべての XGL ピクセル操作を高速化するために使用されます。ただし、特定の属性が設定されていないと、テクスチャー MipMap からテクスチャーされたピクセルへのアクセスは加速されません。

SX は、浮動小数点演算をサポートしていません。したがって、変換、クリップの確認、クリッピング、および 2 次元と 3 次元のグラフィックスのパイプラインを含む光源処理は、CPU で行われます。SX は CPU と並列に動作するので、SX がオブジェクトを描画している間に、CPU は次のオブジェクトを変換します。

SX は、単一のハードウェアコンテキストを持っています。このコンテキストは、SX を使用するすべてのプロセスの間で切り替えられます。たとえば、Xlib を使用してサーバーの SX ドライバ経由でピクセルを描画し、次に XGL を使用して XGL/SX ドライバ経由でピクセルを描画すると、ハードウェアコンテキストが 2 つのプロセスの間で切り替えられるために、遅延が発生します。たとえば、性能測定プログラムを実行中に、SX のコンテキストが測定プロセスとアプリケーションの間で切り替わるとき、アプリケーションの動きに目に見える中断が発生します。Xlib と XGL の描画が混在するときには、Direct X を使用することをお薦めします。Direct X を使用すると、コンテキストの切り替えが発生しません。同じ SX コンテキストが、Xlib 描画呼び出しと XGL/SX ドライバで共有されるためです。同様に、同じプロセスに XIL、XGL と X の直接呼び出しが混在しても、コンテキストの切り替えは起こりません。

フレームバッファー (cg14) は、8 ビットおよび 24 ビットのドロアブルをサポートし、同時に両方を表示することができます。他の 8 ビットダブルバッファーを持つドロアブルが、ウィンドウ識別子を使い切っていない場合には、cg14 はダブルバッファリングのためにバッファー切り換えを使用します。そうでなければ、XGL/SX ドライバは、 SX を使用してコピーを高速化し、コピーダブルバッファリングを使用します。24 ビットドロアブルでは、ドライバはコピーダブルバッファリングを常に使用します。

Z バッファーは、Z バッファリングを有効にした XGL ラスタごとに 1 つ割り当てられ、DRAM に格納されます。SX は、Z バッファーの消去と比較を高速化します。

SXDRAM が利用できる場合には、XGL/SX ドライバは Z バッファーとしてそれを使用し、バックバッファーとしてもそれを使用します (ダブルバッファリングが可能で、コピーダブルバッファリングが使用されている場合)。SXDRAM を使用すると、線の描画とコンテキスト切り換えの性能が顕著に向上します。他のピクセル操作は、約 10 〜 20 % 速くなります。