トップページ > 過去ログ > 記事閲覧
Intel965チップセットでシェーダー機能が使えない
名前:バトーキン 日時: 2011/11/14 00:25

大変ごぶさたしております。 ここしばらく、自作シェーダー機能を使いたくて勉強をしているのですが、 どうも、あるマシン上ではシェーダー機能がうまく動かないため、質問させていただきます。 このマシンは、少し古い ThinkPad で、 使用チップは、Mobile Intel(R) 965 Express Chipset Family です。 症状はというと、 GetValidShaderVersion の値が 0 になってしまい、 シェーダー関連の関数を使っても、描画されている気配がありません。 このマシン上で、PixelShaderTest.zip でアップされていた サンプルプログラムなども試したのですが、画面は真っ黒のままでした。 ログファイル上でも、「プログラマブルシェーダーを使用しません」と表示されています。 自分で思いつく限り、色々と調べたのですが、、、 ttp://batokin1.blog18.fc2.com/blog-entry-162.html (画像と、テストプログラムをアップしています。) PixelShaderVersionや、VertexShaderVersionには値が入っているのですが、 UseShaderがオンになりません。 もしかすると、下記の件が関係しているのでしょうか? 『AGP テクスチャ アクセラレータが「利用できません」と表示される』 w w w.intel.com/jp/support/graphics/sb/cs-009689.htm この環境で作成されたログファイルを貼り付けておきます。 どうか、検証のほど、よろしくお願いいたします。 0:システムの情報を出力します 6: DXライブラリ Ver3.06c 7: 論理プロセッサの数 : 2 12: OS WindowsXP ( Build 2600 Service Pack 3 ) 118: CPU動作速度:大体1.78GHz 119: MMX命令を使用します 124: SSE命令が使用可能です 125: SSE2命令が使用可能です 157: CPUベンダ:GenuineIntel 187: CPU名:Intel(R) Core(TM)2 Duo CPU T7100 @ 1.80GHz 193:COMの初期化... 成功しました 205:メモリ総量:2550.22MB 空きメモリ領域:1853.01MB 206:タイマーの精度を検査します 229:精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60 230: パフォーマンスカウンターを使用します タイマー精度 : 3579.545000 KHz 236: ソフトの二重起動検査... 二重起動はされていませんでした 275:ウインドウクラスを登録します... 登録に成功しました 292:ウインドウモード起動用のウインドウを作成します 325:ウインドウの作成に成功しました 350:IMEを無効にしました 353:ウインドウスタイルをウインドウモード用に変更します... 完了 360:DirectInput関係初期化処理 398: DirectInput7 の取得中... 成功 447: 引き続き初期化処理... 初期化成功 463: ジョイパッドの初期化... 465: ジョイパッドの初期化は正常に終了しました 471: マウスデバイスの初期化... 初期化成功 478: キーボードデバイスの初期化... 初期化成功 487:DirectInput 関連の初期化は正常に終了しました 494:DirectSound の初期化を行います 499:DirectSound インターフェースの取得を行います.... 成功 511:引き続きインターフェースの初期化処理... 成功 643: DirectSound デバイスを列挙します 645: モジュール名: ドライバ記述:プライマリ サウンド ドライバ 651: モジュール名: CHDAudN.sys ドライバ記述:Conexant HD Audio output 652: 最大サンプリングレート:192.00KHz 最小サンプリングレート:8.00KHz 658: 総サウンドメモリ領域:0.00KB 空きサウンドメモリ領域:0.00KB 659: 利用可能サンプリング精度 716: プライマリ 16bit = OK 8bit = NO 717: セカンダリ 16bit = OK 8bit = NO 745: 利用可能チャンネル 745: プライマリ MONO = OK STEREO = OK 751: セカンダリ MONO = OK STEREO = OK 753:DirectSound の初期化は正常に終了しました 768:DirectDraw オブジェクトの取得を行います.... 成功 798:引き続き初期化処理... 初期化に成功しました 808:IDirect3D9Ex オブジェクトを取得します.... IDirect3D9 オブジェクトを取得します.... 成功 823:IDirect3DDevice9 オブジェクトを取得します.... ハードウエア頂点演算を使用します 1166:成功 1173:Driver:igxprd32.dll Description:Mobile Intel(R) 965 Express Chipset Family 1174:画面のフォーマットは D3DFMT_X8R8G8B8 です 1210:Zバッファのフォーマットは D3DFMT_D16 です 1211:16bit カラーフォーマットは D_D3DFMT_R5G6B5 です 1217:32bit カラーフォーマットは D_D3DFMT_X8R8G8B8 です 1218:アルファ付き 16bit カラーフォーマットは D_D3DFMT_A4R4G4B4 です 1224:アルファ付き 32bit カラーフォーマットは D_D3DFMT_A8R8G8B8 です 1224:アルファテスト用 16bit カラーフォーマットは D_D3DFMT_A1R5G5B5 です 1230:アルファテスト用 32bit カラーフォーマットは D_D3DFMT_A8R8G8B8 です 1231:DXT1テクスチャフォーマットは D_D3DFMT_DXT1 です 1248:DXT2テクスチャフォーマットは D_D3DFMT_DXT2 です 1249:DXT3テクスチャフォーマットは D_D3DFMT_DXT3 です 1255:DXT4テクスチャフォーマットは D_D3DFMT_DXT4 です 1256:DXT5テクスチャフォーマットは D_D3DFMT_DXT5 です 1262:描画用 16bit カラーフォーマットは D_D3DFMT_R5G6B5 です 1263:描画用 32bit カラーフォーマットは D_D3DFMT_X8R8G8B8 です 1291:描画用アルファ付き 32bit カラーフォーマットは D_D3DFMT_A8R8G8B8 です 1292:描画用ABGR浮動小数点16ビット型カラーフォーマットは D_D3DFMT_A16B16G16R16F です 1328:描画用ABGR浮動小数点32ビット型カラーフォーマットは D_D3DFMT_A32B32G32R32F です 1328:最大テクスチャサイズ 幅:4096 高さ:4096 1334:テクスチャステージテンポラリレジスタ:使用可 1335:減算合成のハードウェア対応:ネイティブ 1342:頂点シェーダーバージョンコード:300 1342:ピクセルシェーダーバージョンコード:300 1373:バックバッファロック転送の時間:3817nsec 一時的な描画可能バッファを使用した転送の時間:1556nsec 1374:バックバッファロックを使用しません 1397:Zバッファを作成します.... 成功 1405:プログラマブルシェーダーを使用しません 1408:フォントの初期化を行います 1416:フォントの初期化は正常に終了しました 1417:文字コードバッファの初期化を行います... 完了しました 2810:フォントの初期化を行います 2829:フォントの初期化は正常に終了しました 2832:Direct3DDevice9 の解放 3 2883:Direct3D9 DLL の解放 4 2886:DirectInput 関連の終了処理... 完了 2909:DirectSound の終了処理は正常に終了しました 2913:ウインドウを閉じようとしています 2946:ウインドウが破棄されようとしています 2948:ソフトを終了する準備が整いました 2964: 2966:Alloc memory dump 2980: Total size:0(0.000kb) Alloc num:0 2981:

Page: 1 |

Re: Intel965チップセットでシェーダー機能が使えない ( No.1 )
名前:Will 日時:2011/11/14 09:31

> GetValidShaderVersion の値が 0 になってしまい、 「Mobile Intel(R) 965 Express Chipset Family」をネットで調べて見ましたけど「シェーダ機能は持ってない」と出てきますね。 お役に立たなくて申し訳ないですが、ハードで対応していないのはどうしようもないのではないでしょうか。
Re: Intel965チップセットでシェーダー機能が使えない ( No.2 )
名前:バトーキン 日時:2011/11/14 22:26

Will様 回答ありがとうございます。 ご指摘いただいて、あらためてインテルのデータシートを読み返したところ、 「Hardware Pixel Shader 3.0」という項目が、GM965 Chipset に関するデータとなっていました; 大変お騒がせしました。 もともと、シェーダー関連機能が使えないマシンであるということで納得いたしました。 (参考) w w w.intel.com/Assets/PDF/datasheet/316273.pdf ところで・・・ 今回、前述のデータシートの読み込み不足に加えて、 D3DCAPS9 の中の VertexShaderVersion と PixelShaderVersion が、 共に 300 の値を持っていたことで、 シェーダー3.0に対応しているハードウェアなのだと考えていたのですが、 これらの数値は、ここで言う「シェーダー機能」とは結びつかないのですね。
Re: Intel965チップセットでシェーダー機能が使えない ( No.3 )
名前:管理人 日時:2011/11/20 15:16

ログにはシェーダー3.0対応と出力されているのにプログラマブルシェーダーを使わないにしていたのは Willさんが仰られています通りハードウエアでは対応していないからです Intel 965 は手元に無いので分かりませんが、Intel 945 はピクセルシェーダー2.0がハードウエアで対応 しているものの頂点シェーダーはソフトウエア対応でした、恐らく Intel 965 も同じような感じなのだと思います ソフトウエア対応の頂点シェーダーの場合に使用しないようにしているのは、以前ソフトウエア対応の 頂点シェーダーを使用したところ物凄く遅かったから、だと記憶しているのですが、 今回改めて Intel 945 の環境でソフトウエア頂点シェーダーを利用してみたところ、 自前の頂点処理とほぼ同じ速度が出ました (・・; というわけで、以前確認したのが3年ほど前なので何か勘違いしていたのかドライバの性能が向上したのかはわかりませんが、 とりあえずソフトウエア対応の頂点シェーダーの場合もシェーダーを有効にするようにしました よろしければバトーキンさんの環境でも極端な速度低下が発生したりしないか、お試しになってみてください m(_ _)m http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibGCCTest.exe // Dev-C++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibMinGWTest.exe // MinGW 用 (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい) // ビューアー http://homepage2.nifty.com/natupaji/DxLib/DxLibModelViewerTest.zip 因みに参考にした Intel のページはこちら http://www.intel.com/jp/support/graphics/sb/cs-014257.htm 表を見る限りは 965 はハードウェアでシェーダー3.0に対応しているみたいなんですが・・・謎です
Re: Intel965チップセットでシェーダー機能が使えない ( No.4 )
名前:バトーキン 日時:2011/11/22 10:33

管理人様 さっそくの対応、どうもありがとうございます。 私の勘違いで、お手数をかけてしまい申し訳ありませんでした。 取り急ぎ、対応いただいたテスト版を試したところ、 965チップ環境で、無事にシェーダー描画が動作しました。 まだ、正確な計測や、他マシンとの比較はできておりませんが、 少なくとも、極端な速度低下は感じられませんでした。 幾つかテストと比較ができましたら、報告させていただきます。 // 私の場合は、Mobile Intel 965 の説明と GM965 の説明を混同してしまったのが間違いだったのですが、 // G965はデスクトップ向けのシリーズになるようです。 ともかく、ご対応ありがとうございました。 このノートマシンでテストできるのは、とても助かります。
Re: Intel965チップセットでシェーダー機能が使えない ( No.5 )
名前:管理人 日時:2011/11/27 21:22

問題なく動作したようで何よりです オンボードのハードウェア対応のピクセルシェーダーがどれくらいの性能なのか気になります (・・;

Page: 1 |