最近のGPUにはバレルシフターが含まれていますか?


8

最近のほとんどのGPUは、浮動小数点向けに設計されていますが、最近では整数パフォーマンスでほぼ同等であり、融合型乗算加算がないなどのいくつかの注意点があります。これがシフト操作にどのように適用されるかはわかりません。私はGPUでマーチングキューブを実行しています。最初に各サーフェスキューブの32ビットのパックされた位置を書き出し、次にこれらを次のようにそのキューブの実際の頂点へのパスでアンパックします。

ivec3 unpackedPos = ivec3( packedPos >> 20 & 0x3FF,
                         packedPos >> 10 & 0x3FF,
                         packedPos & 0x3FF);

最近、シェーダーユニットにバレルシフターが搭載されているのではないかと思いました。ここで2シフトまたは30シフトしていますか?

編集>>私はばかです...知っておくと便利な回答の人たちに感謝しますが、私はこれについてすべて間違っています。RGB10_A2UIテクスチャ形式を使用してから、ビットシフトをいじるのではなく、単一のイメージのロード/ストア命令でパック/アンパックする必要があります。

RE_EDIT >>かどうか...この方法は明らかに赤いボックスでは機能しますが、緑色のボックスでは機能しないため、ビットシフトに戻ります。


24ビット・シフタは、コンパイラは、いくつかが発生する場合がありますので、整列仮数の単精度浮動小数点で使用されているが、私はあなたが30参照してくださいよとは思わない
ダニエル・M Gessel

回答:


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.