Name
bitfieldReverse - return the reversed bitfield.
Synopsis
int bitfieldReverse(int x) int2 bitfieldReverse(int2 x) int3 bitfieldReverse(int3 x) int4 bitfieldReverse(int4 x) uint bitfieldReverse(uint x) uint2 bitfieldReverse(uint2 x) uint3 bitfieldReverse(uint3 x) uint4 bitfieldReverse(uint4 x)Parameters
- x
- Bitfield to reverse.
Description
Returns the reverse of the bitfield x.
Reference Implementation
bitfieldReverse for an int bitfield can be implemented like this:
int bitfieldReverse(int x) { int res = 0; int i, shift, mask; for(i = 0; i < 32; i++) { mask = 1 << i; shift = 32 - 2*i - 1; mask &= x; mask = (shift > 0) ? mask << shift : mask >> -shift; res |= mask; } return res; }Profile Support
bitfieldReverse is supported in gp5 and hlsl11 profiles.
See Also
http://www.opengl.org/registry/specs/ARB/gpu_shader5.txtbitfieldInsert, bitfieldExtract, bitCount, findLSB and findMSB