SPIRV-Cross/shaders-hlsl-no-opt/comp/bitfield.comp
Hans-Kristian Arntzen e7bf8d2f48 Refactor out noopt shaders to their own folders.
Makes maintenance easier with less clutter.
2018-03-13 10:39:49 +01:00

45 lines
834 B
Plaintext

#version 310 es
void main()
{
int signed_value = 0;
uint unsigned_value = 0u;
ivec3 signed_values = ivec3(0);
uvec3 unsigned_values = uvec3(0u);
{
int s = bitfieldExtract(signed_value, 5, 20);
uint u = bitfieldExtract(unsigned_value, 6, 21);
s = bitfieldInsert(s, 40, 5, 4);
u = bitfieldInsert(u, 60u, 5, 4);
u = bitfieldReverse(u);
s = bitfieldReverse(s);
int v0 = bitCount(u);
int v1 = bitCount(s);
int v2 = findMSB(u);
int v3 = findLSB(s);
}
{
ivec3 s = bitfieldExtract(signed_values, 5, 20);
uvec3 u = bitfieldExtract(unsigned_values, 6, 21);
s = bitfieldInsert(s, ivec3(40), 5, 4);
u = bitfieldInsert(u, uvec3(60u), 5, 4);
u = bitfieldReverse(u);
s = bitfieldReverse(s);
ivec3 v0 = bitCount(u);
ivec3 v1 = bitCount(s);
ivec3 v2 = findMSB(u);
ivec3 v3 = findLSB(s);
}
}