NVIDIA の Nsight Graphics (2020.2.1 を使用中) を使いながら、 Vulkan Raytracing の使い方を調べていた時に以下のエラーに出遭いました。これ以上の情報がなかなか出力されず、調査には苦労しました。
アプリケーションはうまく動作しているように見えており、しかし Nsight Graphics がクラッシュするということで、アプリケーションの中に不味い部分が存在している可能性がとても高いと考えました。(勉強中ですし、自分の使い方が間違っていると考える方が自然です)
今回の結果としては、Shader Binding Table の領域として確保したバッファのサイズ間違いという、とても初歩的なものでしたが、バッファの範囲を超えてもアプリケーションがクラッシュしないという部分には注意が必要そうです。このような一見動いている状態で、他の実装を始めてしまうと問題が起こったときに苦労する未来が見えます。
※ Nsight Graphics のバッファ領域外アクセスをしたオブジェクト名などが分かるとよさそうではあります。あるいは、 Vulkan の Validation Layer あたりでチェックしてくれると助かりそうです。
コメント