問題タブ [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.
floating-point - Vulkan を使用して最新の GLSL で 16 ビット浮動小数点数を取得するにはどうすればよいですか?
ある時点で、Nvidia はOpenGL 1.1の半分の浮動小数点値を許可する拡張機能を持っていたようですが、それ以降、ある時点で世界の半分が最新の GLSL 仕様によって取り戻されたようです。
今日、私はCUDA で 16 ビット浮動小数点値を問題なく使用できます。NVIDIAが 16 ビット浮動小数点をサポートするハードウェアに問題はないはずです。HLSL でそれらをサポートしているように見えます。 SPIR-V は GLSL ではありませんが、Nvidia には対応していません。SPIR-V には、プライマリ拡張(KHR) に関係なく、16 ビット浮動小数点をサポートするために必要なすべてのプリミティブがあるように見えるので、それらの使用を禁止する理由はないようです。
Nvidia カードを持っているにもかかわらず、16 ビット浮動小数点演算を利用できない理由がわかりません。それを利用したい場合は、AMD を使用するか、API を完全に切り替える必要があるようです。確かに、両方に真の16ビット浮動小数点値を実際に使用する方法があるに違いありませんか?
ホストからデバイスに割り当てられたバッファー (IE 頂点バッファー) については質問していません。はい、それらを KHR 拡張を使用して 16 ビット浮動小数点数として割り当てることができ、大きな問題はありませんが、実際のシェーダー内では、16 ビット浮動小数点数を使用し、16 ビット浮動小数点数を 32 ビット浮動小数点数に強制するのではなく、心配しています。