Современные графические процессоры содержат бочкообразные переключатели?

8

Мне известно, что большинство современных графических процессоров, хотя и рассчитаны на использование чисел с плавающей запятой, в наши дни более или менее эквивалентны по целочисленной производительности, за исключением нескольких предостережений, таких как отсутствие плавного умножения. Я не уверен, как это относится к операциям смены все же. Я делаю Marching Cubes на GPU, сначала выписываю 32-битную упакованную позицию для каждого поверхностного куба, затем распаковываю их в последующем проходе к реальным вершинам в этом кубе, например так:

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

Мне просто пришло в голову подумать, есть ли в шейдерных устройствах бочкообразные переключатели в эти дни? Я делаю 2 смены здесь или 30?

РЕДАКТИРОВАТЬ >> Я идиот ... Спасибо за ответы, ребята, полезно знать, но я все об этом ошибался. Я должен просто использовать формат текстуры RGB10_A2UI, а затем упаковывать / распаковывать с помощью одной инструкции загрузки / сохранения изображения, а не возиться с битыми сдвигами самостоятельно.

RE_EDIT >> Или нет ... Этот метод, по-видимому, работает с красными прямоугольниками, но не с зелеными, поэтому он возвращается к сдвигам в битах.

русс
источник
24-битные шифтеры используются в плавающей запятой одинарной точности для выравнивания мантисс, поэтому компилятор может сгенерировать несколько, но я не думаю, что вы увидите 30.
Даниэль М Гессель,

Ответы: