From the SPIR-V spec: OpSMod's result is the remainder r of Operand 1 divided by Operand 2 where if r != 0, the sign of r is the same as the sign of Operand 2. The less than comparison here was trying to correct the cases where C's modulo had a different sign than SPIR-V's modulo. We can solve this by directly comparing the sign of the C modulo against Operand 2's sign. Bug chromium:973848 Change-Id: I27c88b7aaed35db5ba4df2cc0aac6061098f32c4 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/32868Tested-by:Sean Risser <srisser@google.com> Presubmit-Ready: Sean Risser <srisser@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .vscode | Loading commit data... | |
| build | Loading commit data... | |
| build_overrides | Loading commit data... | |
| docs | Loading commit data... | |
| extensions | Loading commit data... | |
| include | Loading commit data... | |
| src | Loading commit data... | |
| tests | Loading commit data... | |
| third_party | Loading commit data... | |
| .dir-locals.el | Loading commit data... | |
| .gitignore | Loading commit data... | |
| .gitmodules | Loading commit data... | |
| .travis.yml | Loading commit data... | |
| AUTHORS.txt | Loading commit data... | |
| Android.bp | Loading commit data... | |
| Android.mk | Loading commit data... | |
| BUILD.gn | Loading commit data... | |
| CMakeLists.txt | Loading commit data... | |
| CONTRIBUTING.txt | Loading commit data... | |
| CONTRIBUTORS.txt | Loading commit data... | |
| LICENSE.txt | Loading commit data... | |
| OWNERS | Loading commit data... | |
| README.md | Loading commit data... | |
| SwiftShader.sln | Loading commit data... |