DirectX 11個の計算シェーダをデバッグする方法?
-
20-09-2019 - |
質問
私はGP-GPUプログラミングのための DirectX 11の計算シェーダの技術を使用し始めました。私は、HLSLにかなり複雑なプログラムを書いていたし、私はそれをデバッグしたいとき、私は気づいたの PIX のDX SDK 2009年8月からのユーティリティが...私はNVIDIAがリリースしようとしていることを知っている計算シェーダをサポートしていません。直接計算のデバッグをサポートするVisual Studio用のネクサスをを、が、唯一まだリリースされていないのNVidia GPUの次世代に:(計算シェーダ技術があるため、デバイスの独立性、私にとって非常に有望に見えるが、それデバッグサポートをせずに使用することは非常に難しいだろう。
あなたが現在または近い将来にリリースを予定し利用できる、計算シェーダのデバッグに使用することができます任意のツールやアプローチを、知っていますか?
解決
私は待っています。たぶん、マイクロソフトは、リファレンスラスタライザで動作しますが、私は何が重要かと言うと何かを思い付くことができ、ハードウェアとの緊密な統合を取得することです。このような場合には、唯一のベンダーが必要なツールを提供することができます。
。他のヒント
効率的な方法とデバッグの複雑なHLSL計算シェーダーは、C ++にそれをコンパイルすることです。あなたは以下は、通常のメモリと変数のルックアップのようにC ++を使用して、あなたのIDEのデバッグ機能などを活用できることを達成したら、サンプルのDirectX HLSL計算シェーダをデバッグする方法を示す概念デモプロジェクトの証拠である。
https://github.com/cezbloch/shaderatorする
あなたのコードが動作し、GPU上でそれを実行修正されたら - C ++ verionだけ開発を支援するためのものです。
。申し訳ありませんが、現時点ではその質問への些細な答えはありません。
たぶん、NVIDIAネクサスベータプログラムに登録してみてください: http://supportcenteronline.com/ics/support/default.asp?deptID= 4639 の
あなたが読んでなかったのネクサスのフェルミベースのGPUが必要ですか? Iは2つの更新ムービーNVIDIAのGPU、または2 NVIDIAベースのワークステーション(そしてリモートターゲットをデバッグする)との要求がどこSLI可能なワークステーションと考えられます。
残念ながら、コンピュートシェーダをデバッグすることは非常に多くなるために使用される頂点シェーダとピクセルシェーダをデバッグするようなものです...私が見つけた最良の方法は、一時的なテクスチャリソースに小さな変化と出力テスト値を実行することです。次に、あなたのアプリケーションの画面(あるいはファイルに保存)にテクスチャリソースをレンダリングし、シェーダで何が起こっているのかについての情報を抽出するためにそれを使用することができます。
これは本当にひどい状況ですが、それはツーリング状況が今ある方法です...