SunVTS 4.1 テストリファレンスマニュアル

第 27 章 Expert3D フレームバッファーテスト (ifbtest)

ifbtest は、Expert3D フレームバッファーの機能を検証します。

ifbtest は、Expert3D フレームバッファーのビデオモードを検出し、適合させることができます。どのテストも 1024 × 768 以上の解像度で動作することが可能です。

ifbtest への割り込みは、Control-C を使って行えます。テストユニット上で OPEN LOOK が動作している場合は、それ以外のキーボード入力を行わないでください。

テストの精度を確認するには、直接イメージを圧縮イメージと比較して行います。エラーが発生したピクセル位置は、エラーメッセージとして表示されます。


注意 - 注意 -

ifbtest の実行中は、Expert3D のアクセラレータポートを使用する他のアプリケーションやスクリーンセーバーを実行しないでください。


ifbtest テストの条件

グラフィックスデバイスをテストする前に、すべてのスクリーンセーバーを無効にしてください。Solaris スクリーンセーバーを無効にするには、UNIX プロンプトで以下のように入力します。

# xset s off

画面の解像度は、1024 × 768 以上 (標準解像度) にする必要があります。解像度を変更するには、UNIX プロンプトに移って以下のように入力します。

# fbconfig -res 1280x1024x76


注 -

ifbtest の実行中は、複数のモニタ上で OpenWindows を実行しないでください。ifbtest はエラーを返します。


ifbtest の実行準備

ifbtest をできるだけ円滑に実行させるには、あらかじめ以下に示すいくつかの手順を完了しておく必要があります。

ifbtest をウィンドウシステム (CDE または OPEN LOOK) で実行している場合。

ifbtest をウィンドウシステムで実行していない場合。

ifbtest のオプション

ダイアログボックスを表示するには、システムマップにあるテスト名を右クリックし、Test Parameter Options を選択します。システムマップにこのテスト名が表示されない場合は、用意されたグループを展開する必要があります。展開しても表示されない場合は、このテストに合ったデバイスがシステムに含まれていない可能性があります。詳細は、『SunVTS 4.1 ユーザーマニュアル』を参照してください。

デフォルトでは、すべての ifbtest オプションが有効になっています。

図 27-1 ifbtest のテストパラメタオプションダイアログボックス

Graphic

表 27-1 ifbtest のオプション

オプション 

説明 

Frame Buffer Memory test 

読み取り・書き込み要求を使用して、Expert3D ビデオメモリーをすべてテストします。各アドレスに以下の値を書き込みながら、データバス上でショートや接続エラーがないかどうかを調べます。 

  • 0xFFFFFFFF

  • 0xFFFF0000

  • 0x0000FFFF

  • 0xFF00FF00

  • 0x00FF00FF

  • 0xF0F0F0F0

  • 0x0F0F0F0F

  • 0xCCCCCCCC

  • 0x33333333

  • 0xAAAAAAAA

  • 0x55555555

 

各メモリー位置にオフセットを書き込み、それらを読み取ることで、アドレスバス上のショートや接続エラーを確認します。読み取り・書き込みボリュームが原因の速度に関係する問題を検出します。 

 

テスト中に発生したエラーは特定のアドレスのエラーとして通知されますが、具体的にチップが特定されるわけではありません。ビット関連のエラーを容易に識別できるように、テスト中に 1 つ以上のエラーが発生したビットの一覧が表示されます。 

 

このテストでは、画面上にランダムピクセルとして表示されます。 

Texture Memory test 

このテストは、上記のフレームバッファーメモリーテストと同じプロセスで実行されます。このテスト手順では、実際に結果を目で確認することができないため、画面上に矩形の列を表示して、進行状態を示します。 

Display List Memory test 

このテストは上記のフレームバッファーメモリーのテストとテクスチャーメモリーのテストと同じ手順です。直接バーストメモリーに適用されます。 

 

このテストの実行時間は短いため、進行状況は表示されません。 

Geometry Engine test 

ジオメトリエンジンに診断マイクロコードをロードし、プロセッサが正常に動作していることを確認します。これは合否形式のテストです。 

 

このテストの実行時間は短いため、進行状況は表示されません。 

Rasterization test 

多数のプリミティブを最小限のフラグメント処理で描画し、プリミティブのラスター化状態をテストします。 

 

使用されるプリミティブを以下に示します。 

  • ドット

  • 平滑化されたドット

  • 線描画プリミティブをすべて使った線

  • 線描画プリミティブをすべて使った平滑化された線

  • 点、線、および塗りつぶしモードで作成された三角形、四角形、多角形

  • 矩形

 

以下に示すラスター化属性がテストされます。 

  • ピクセル分布範囲

  • カラー、Z およびステンシルのための定数値レジスタ

  • 多角形の線と長さに沿ったカラー、Z、テクスチャー座標の補完処理

  • テクスチャーマップのサンプリング

 

作成されたイメージは格納されているイメージと照合されます。エラーメッセージには、テストされた演算の種類と値が、エラーが発生したピクセルの座標とともに表示されます。 

Pixel Processor test 

様々なフラグメント値を使用して、複数のピクセル処理演算をテストします。以下のフラグメント処理演算がテストされます。 

  • デプスバッファリング

  • ブレンド処理

  • アルファテスト

  • カラーテスト

  • カラークランプ

  • 論理演算

  • カラーマトリックスとバイアス

  • カラーテーブル

  • 制御プレーン

  • 高速消去

  • ステンシル

  • はさみクリッピング

  • デスクトップクリッピング

  • マスククリッピング

  • 書き込みマスク

  • ウィンドウ境界

  • フォグ

  • ピクセルテクスチャー

  • 蓄積バッファリング

  • ピクセルバッファー

 

作成されたイメージは格納されているイメージと照合されます。エラーメッセージには、テストされた演算のタイプと値が、エラーが発生したピクセルの座標とともに示されます。 

ifbtest のテストモード

グラフィックテストの性質上、グラフィックテスト中にフレームバッファーに対してデータの読み書きを行うと、ユーザー処理の妨げになります。このため、ifbtest はオフライン機能テストモード以外で利用することができません。

表 27-2 ifbtest のテストモード

テストモード 

サポート 

説明 

接続テスト 

× 

サポートされていません。 

機能テスト 

(オフライン) 

○ 

すべてのテストを実行できます。 

機能テスト 

(オンライン) 

× 

サポートされていません。 

ifbtest のコマンド行構文

/opt/SUNWvts/bin/ifbtest 標準引数 -o dev=デバイス名, fbmem=E(nable)|D(isable),texmem=E|D,dlmem=E|D,geomeng=E|D, rasterization=E|D,pixelproc=E|D,subtest_repeat=回数, test_repeat=回数

表 27-3 ifbtest のコマンド行構文

引数 

説明 

dev=デバイス名

デバイス名は、テスト対象のデバイスを /dev/fbs を基準とした相対パス名で指定します。デフォルトはありません。

fbmem=E|D

フレームバッファーメモリーのテストを有効または無効にします。 

texmem=E|D

テクスチャーメモリーのテストを有効または無効にします。 

dlmem=E|D

表示一覧メモリーのテストを有効または無効にします。 

geomeng=E|D

ジオメトリエンジンのテストを有効または無効にします。 

rasterization=E|D

ラスター化方式のテストを有効または無効にします。 

pixelproc=E|D

ピクセル処理のテストを有効または無効にします。 

subtest_repeat=回数

各サブテストの繰返し回数を定義します。デフォルトは 1 です。 

test_repeat=回数

転送前にテストループを繰り返す回数を定義します。デフォルトは 1 です。 


注 -

64 ビットのテストは、sparcv9 サブディレクトリに格納されています (/opt/SUNWvts/bin/sparcv9/ テスト名)。このディレクトリにテストが存在しない場合は、32 ビットのテストとしてだけ実行することができます。詳細は、「32 ビットテストと 64 ビットテスト」を参照してください。