ESSL has undefined behavior when the integer modulus operator is used on negative operands. Generate a warning and fold the result to zero in this case. In case the minimum representable signed integer is divided by -1, the result is defined to be either the maximum or minimum representable value. We choose to fold the calculation to the maximum representable value in this case. BUG=angleproject:1537 TEST=angle_unittests Change-Id: I57fac6b54a3553b7a0f0e36cc6ba0ed59a88eea9 Reviewed-on: https://chromium-review.googlesource.com/390251Reviewed-by:Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| compiler_tests | Loading commit data... | |
| deqp_support | Loading commit data... | |
| egl_tests | Loading commit data... | |
| gl_tests | Loading commit data... | |
| gles_conformance_tests | Loading commit data... | |
| perf_tests | Loading commit data... | |
| preprocessor_tests | Loading commit data... | |
| test_utils | Loading commit data... | |
| third_party | Loading commit data... | |
| BUILD.gn | Loading commit data... | |
| WebGL-CTS-known-failures.txt | Loading commit data... | |
| angle_end2end_tests.gypi | Loading commit data... | |
| angle_end2end_tests_main.cpp | Loading commit data... | |
| angle_perftests.gypi | Loading commit data... | |
| angle_perftests_main.cpp | Loading commit data... | |
| angle_unittests.gypi | Loading commit data... | |
| angle_unittests_main.cpp | Loading commit data... | |
| angle_unittests_utils.h | Loading commit data... | |
| deqp.gypi | Loading commit data... | |
| tests.gyp | Loading commit data... |