The wrap mode information for all three dimensions is packed to a
single integer in order to conserve sampler metadata space. Only one
int4 vector is used for the metadata for a single sampler.
The sampler metadata is now packed into a struct instead of an array
of integers in order to make the code more readable and maintainable.
The internalFormatBits field is not removed in this patch. It's better
to remove it in a separate patch, so restoring it is easier in case it
will be used for optimizing some of the texture sampling functions.
The wrap mode passed in sampler metadata is used to wrap the texture
coordinates in the code generated to implement ESSL 3.00 integer
texture sampling built-ins.
Those dEQP-GLES3.functional.texture.units.* tests that sample from
integer cube maps still fail on Intel D3D after this change,
presumably due to driver issues.
BUG=angleproject:1244
BUG=angleproject:1095
BUG=angleproject:1092
TEST=dEQP-GLES3.functional.texture.units.* (all pass on NVIDIA),
dEQP-GLES3.functional.shaders.texture_functions.* (no regressions)
Change-Id: I4e31e5796086f9cc290c6f1f8c4380a768758d71
Reviewed-on: https://chromium-review.googlesource.com/336638Reviewed-by:
Jamie Madill <jmadill@chromium.org>
Reviewed-by:
Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| angle_deqp_gtest.cpp | Loading commit data... | |
| angle_deqp_gtest_main.cpp | Loading commit data... | |
| angle_deqp_libtester.h | Loading commit data... | |
| angle_deqp_libtester_main.cpp | Loading commit data... | |
| angle_deqp_tests_main.cpp | Loading commit data... | |
| deqp_egl_test_expectations.txt | Loading commit data... | |
| deqp_gles2_test_expectations.txt | Loading commit data... | |
| deqp_gles3_test_expectations.txt | Loading commit data... | |
| tcuANGLENativeDisplayFactory.cpp | Loading commit data... | |
| tcuANGLENativeDisplayFactory.h | Loading commit data... | |
| tcuANGLEPlatform.cpp | Loading commit data... | |
| tcuANGLEPlatform.h | Loading commit data... | |
| tcuRandomOrderExecutor.cpp | Loading commit data... | |
| tcuRandomOrderExecutor.h | Loading commit data... |