16 lines
463 B
GLSL
16 lines
463 B
GLSL
#version 460
|
|
#extension GL_EXT_nonuniform_qualifier : require
|
|
#extension GL_EXT_scalar_block_layout : require
|
|
#extension GL_EXT_shader_16bit_storage : require
|
|
|
|
uint calcRootCode(float y1, float y2, float y3) {
|
|
uint i1 = floatBitsToUint(y1) >> 31U;
|
|
uint i2 = floatBitsToUint(y2) >> 30U;
|
|
uint i3 = floatBitsToUint(y3) >> 29U;
|
|
|
|
uint shift = (i2 & 2U) | (i1 & ~2U);
|
|
shift = (i3 & 4U) | (shift & ~4U);
|
|
|
|
return ((0x2E74U >> shift) & 0x0101U);
|
|
}
|