問題タブ [spir-v]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vulkan - 生成された SPIR-V コードの問題とその検証方法は?
vulkan API で使用したい生成済みの SPIR-V コードがいくつかあります。しかし
Exception thrown at 0x00007FFB68D933CB (nvoglv64.dll) in vulkanCompute.exe: 0xC0000005: Access violation reading location 0x0000000000000008.
、でパイプラインを作成しようとすると、エラーが発生しvkCreateComputePipelines
ます。
同じコードがglslangValidatorでコンパイルされたシェーダーで動作するため、API 呼び出しは問題ないはずです。したがって、生成された SPIR-V コードは何らかの形で整形されている必要があると思います。
エラーなしで終了したkhronosの検証ツールで SPIR-V コードをチェックしました。spirv-val --target-env vulkan1.1 mainV.spv
とにかく、このツールがまだ不完全であることも知られています。
また、 Radeon GPU アナライザーを使用して SPIR-V コードをコンパイルしようとしましたが、これはオンラインのシェーダー プレイグラウンドでも入手できます。このツールはエラーをスローしますが、Error: Error: internal error: Bil::BilInstructionConvert::Create(60) Code Not Tested!
これはあまり役に立ちませんが、コードの形式が正しくないという仮定を助長します。
SPIR-V のコードは、残念ながらここに掲載するには時間がかかりますが、シェーダー プレイグラウンドのリンクにあります。
私の設定に問題があることを知っている人はいますか、または 700 行すべてのコードを手動でチェックすることなく、SPIR-V コードをより良い方法で検証する方法を知っていますか?
そこに問題があるとは思いませんが、C++ ホスト コードは次のとおりです。
glsl - エラー: 'subgroup op': SPIR-V 1.3 が必要です
次のコマンドを使用して、GLSL ファイルを SPIR-V にコンパイルしています。
エラーの取得:
エラーは 32 行目と 45 行目で発生します。sum = subgroupAdd(sum);
完全な GLSLコード:
VulkanSDK の最新バージョンを入手しました。
glsl - glslc - -fentry-point を使用してもエントリ ポイントが見つからない
を使用するglslc --targe-env="vulkan1.1" -fentry-point="mainColor" test.frag
と、エラーが発生します
test.frag コンテンツ:
私は何を間違っていますか?
このコンパイルエラーを修正するには?
spir-v - SPIR-V ファイルの読み方
一部の GLSL コードを SPIR-V にコンパイルする際に問題が発生しているため、SPIR-V コードを確認したいと考えています。
アセンブリを読み飛ばしたい。
これどうやってするの?