HLSL GetDimensions call doesn't take the texture base level into account,
so ANGLE needs to use the texture base level passed in uniforms to
emulate ESSL textureSize() which does take it into account.
After this change the relevant dEQP tests pass on NVIDIA, Intel is still
suffering from an issue where a wrong value is returned when the lod
is > 0 (tested on Intel HD Graphics 4600). AMD is also suffering from an
unknown issue.
BUG=angleproject:596
TEST=dEQP-GLES3.functional.shaders.texture_functions.texturesize.*
(all pass on NVIDIA now), angle_end2end_tests
Change-Id: I13e33d126008ecdf2b89461a3fb5040949cf19e2
Reviewed-on: https://chromium-review.googlesource.com/322123Reviewed-by:
Zhenyao Mo <zmo@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... |