This patch implements the translation from GLSL texture function textureGatherOffset into HLSL by using the optional "offset" parameter of Texture2D.Gather[Red|Green|Blue|Alpha]. This patch also defines the implementation-dependent limit MIN_PROGRAM_TEXTURE_GATHER_OFFSET and MAX_PROGRAM_TEXTURE_GATHER_OFFSET on D3D11. According to MSDN, the valid range of "offset" used in Gather should be [-32, 31]. https://docs.microsoft.com/en-us/windows/desktop/direct3dhlsl/gather4-po--sm5---asm- This patch also refactors OutputTextureGatherFunctionBody() so that some redundant code can be removed. BUG=angleproject:2826 TEST=dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.rgba8.* dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.rgba8.* dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8.* dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.* (without texture_swizzle) Change-Id: Id0f411257b64c8a97428f16b1a86950ec6d36e2f Reviewed-on: https://chromium-review.googlesource.com/1237303Reviewed-by:Jiajia Qin <jiajia.qin@intel.com> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jiawei Shao <jiawei.shao@intel.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_gles31_test_expectations.txt | Loading commit data... | |
| deqp_gles3_test_expectations.txt | Loading commit data... | |
| egluNativeDisplay_override.cpp | Loading commit data... | |
| egluNativeDisplay_override.hpp | Loading commit data... | |
| egluUtil_override.cpp | 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... |