glslang/Test/spv.precisionArgs.frag
John Kessenich 435dd8028b SPV: RelaxedPrecision: Generalize fix #2293 to cover more operations.
This simplifies and enforces use of precision in many more places,
to help avoid accidental loss of RelaxedPrecision through intermediate
operations. Known fixes are:
- ?:
- function return values with mis-matched precision
- precision of function return values when a copy was needed to fix types
2020-06-30 02:44:52 -06:00

28 lines
568 B
GLSL

#version 310 es
precision mediump float;
void fooConst(const in float f, const in highp float g) { }
void foo(in float f, in highp float g) { }
float retM ( float x) { return x; }
highp float retH (highp float x) { return x; }
float retHM(highp float x) { return x; }
highp float retMH( float x) { return x; }
void main()
{
float aM, bM;
highp float aH, bH;
fooConst(aM, bM); // must copy bM
fooConst(aH, bH); // must copy aH
foo(aM, bM);
foo(aH, bH);
retM(aM);
retH(aH);
retHM(aH);
retMH(aM);
}