Merge pull request #1973 from KhronosGroup/fix-fmod-int

HLSL: Fix #1960: fmod() was not converting int args to float.
This commit is contained in:
John Kessenich 2019-11-12 06:00:51 -07:00 committed by GitHub
commit 37dcb89457
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 6086 additions and 6065 deletions

File diff suppressed because it is too large Load Diff

1
Test/hlsl.intrinsics.frag Normal file → Executable file
View File

@ -53,6 +53,7 @@ float PixelShaderFunctionS(float inF0, float inF1, float inF2, uint inU0, int in
float r031 = floor(inF0);
// TODO: fma(inD0, inD1, inD2);
float r033 = fmod(inF0, inF1);
float r033i = fmod(inF0, 2);
float r034 = frac(inF0);
float r036 = fwidth(inF0);
bool r037 = isinf(inF0);

1
glslang/MachineIndependent/Intermediate.cpp Normal file → Executable file
View File

@ -1129,6 +1129,7 @@ TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TInt
case EOpLit:
case EOpMax:
case EOpMin:
case EOpMod:
case EOpModf:
case EOpPow:
case EOpReflect: