SPIRV-Cross/reference/shaders-no-opt/asm/comp/bitfield-signed-operations.asm.comp
Hans-Kristian Arntzen b3305799a8 Deal correctly with sign on bitfield operations.
Need a lot of special purpose implementation functions for these.
2019-08-26 11:36:36 +02:00

28 lines
777 B
Plaintext

#version 450
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
layout(binding = 0, std430) buffer SSBO
{
ivec4 ints;
uvec4 uints;
} _3;
void main()
{
ivec4 _19 = _3.ints;
uvec4 _20 = _3.uints;
_3.ints = bitCount(_19);
_3.uints = uvec4(bitCount(_19));
_3.ints = bitCount(_20);
_3.uints = uvec4(bitCount(_20));
_3.ints = bitfieldReverse(_19);
_3.uints = bitfieldReverse(_20);
_3.ints = bitfieldExtract(_19, 1, int(11u));
_3.uints = uvec4(bitfieldExtract(ivec4(_20), int(11u), 1));
_3.ints = ivec4(bitfieldExtract(uvec4(_19), 1, int(11u)));
_3.uints = bitfieldExtract(_20, int(11u), 1);
_3.ints = bitfieldInsert(_19, _19.wzyx, 1, int(11u));
_3.uints = bitfieldInsert(_20, _20.wzyx, int(11u), 1);
}