SpirvShader: Fixes for GLSLstd450Modf / GLSLstd450ModfStruct
SpirvShader: Fixes for GLSLstd450Modf / GLSLstd450ModfStruct

The returned whole and frac must have the same sign as the input parameter.

Tests: dEQP-VK.glsl.builtin.precision.modf.*
Tests: dEQP-VK.glsl.builtin.function.common.modf.*
Bug: b/126873455
Change-Id: I791891fdf46f9285e12d770e2b15b91ebfa3f0b1
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/31590
Kokoro-Presubmit: kokoro <2ac7b1f3fa578934c95181d4272be0d3bca00121@google.com>
Reviewed-by: Chris Forbes <c3279c50043e18e9442c1ae071cafa0e7a4ca967@google.com>
Presubmit-Ready: Ben Clayton <1f693eb7158dc33015048c09d6712f74dabddf79@google.com>
Tested-by: Ben Clayton <1f693eb7158dc33015048c09d6712f74dabddf79@google.com>

bkaradzic/SwiftShader,bkaradzic/SwiftShader,google/swiftshader,google/swiftshader,bkaradzic/SwiftShader,bkaradzic/SwiftShader,bkaradzic/SwiftShader,google/swiftshader