MCPcopy Create free account
hub / github.com/dfranx/ShaderDebugger / lib_glsl_uintBitsToFloat

Function lib_glsl_uintBitsToFloat

src/GLSLLibrary.cpp:459–480  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

457 return bv_variable_create_float(0.0f);
458 }
459 bv_variable lib_glsl_uintBitsToFloat(bv_program* prog, u8 count, bv_variable* args)
460 {
461 /* uintBitsToFloat(genUType) */
462 if (count == 1) {
463 if (args[0].type == bv_type_object) {
464 bv_object* vec = bv_variable_get_object(args[0]);
465 glm::vec4 vecData = glm::uintBitsToFloat(sd::AsVector<4, unsigned int>(args[0]));
466
467 bv_variable ret = Common::create_vec(prog, bv_type_float, vec->type->props.name_count);
468 bv_object* retObj = bv_variable_get_object(ret);
469
470 for (u16 i = 0; i < retObj->type->props.name_count; i++)
471 retObj->prop[i] = bv_variable_create_float(vecData[i]);
472
473 return ret;
474 }
475 else // uintBitsToFloat(scalar)
476 return bv_variable_create_float(glm::uintBitsToFloat(bv_variable_get_uint(bv_variable_cast(bv_type_uint, args[0]))));
477 }
478
479 return bv_variable_create_float(0.0f);
480 }
481 bv_variable lib_glsl_packDouble2x32(bv_program* prog, u8 count, bv_variable* args)
482 {
483 /* TODO */

Callers

nothing calls this directly

Calls 1

create_vecFunction · 0.85

Tested by

no test coverage detected