Skip to content

Commit

Permalink
Add check for DOUBLE in low versions (#2223)
Browse files Browse the repository at this point in the history
Add check for DOUBLE in low versions, fix issue #2206
  • Loading branch information
ShchchowAMD committed May 18, 2020
1 parent 7c753a7 commit 0ab7811
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 3 deletions.
4 changes: 4 additions & 0 deletions Test/330.frag
Original file line number Diff line number Diff line change
Expand Up @@ -149,3 +149,7 @@ layout(location=6) uniform ColorsBuffer // ERROR: location cannot be applied in
} colorsBuffer;


void testOverload() {
float overloadTest = 42;
overloadTest = smoothstep(0, 1, overloadTest);
}
16 changes: 16 additions & 0 deletions Test/baseResults/330.frag.out
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,22 @@ ERROR: node is still EOpNull!
0:135 'KeyMem' ( global structure{ global int precise})
0:135 Constant:
0:135 0 (const int)
0:152 Function Definition: testOverload( ( global void)
0:152 Function Parameters:
0:153 Sequence
0:153 Sequence
0:153 move second child to first child ( temp float)
0:153 'overloadTest' ( temp float)
0:153 Constant:
0:153 42.000000
0:154 move second child to first child ( temp float)
0:154 'overloadTest' ( temp float)
0:154 smoothstep ( global float)
0:154 Constant:
0:154 0.000000
0:154 Constant:
0:154 1.000000
0:154 'overloadTest' ( temp float)
0:? Linker Objects
0:? 'inVar' ( smooth in 4-component vector of float)
0:? 'outVar' (layout( location=0 index=0) out 4-component vector of float)
Expand Down
8 changes: 5 additions & 3 deletions glslang/MachineIndependent/Intermediate.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1733,12 +1733,14 @@ bool TIntermediate::canImplicitlyPromote(TBasicType from, TBasicType to, TOperat
case EbtUint64:
case EbtFloat:
case EbtDouble:
return true;
return version >= 400 || extensionRequested(E_GL_ARB_gpu_shader_fp64);
case EbtInt16:
case EbtUint16:
return extensionRequested(E_GL_AMD_gpu_shader_int16);
return (version >= 400 || extensionRequested(E_GL_ARB_gpu_shader_fp64)) &&
extensionRequested(E_GL_AMD_gpu_shader_int16);
case EbtFloat16:
return extensionRequested(E_GL_AMD_gpu_shader_half_float);
return (version >= 400 || extensionRequested(E_GL_ARB_gpu_shader_fp64)) &&
extensionRequested(E_GL_AMD_gpu_shader_half_float);
default:
return false;
}
Expand Down

0 comments on commit 0ab7811

Please sign in to comment.