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 |
|---|---|---|
| .. | ||
| shaders | Loading commit data... | |
| win32 | Loading commit data... | |
| winrt | Loading commit data... | |
| Blit11.cpp | Loading commit data... | |
| Blit11.h | Loading commit data... | |
| Buffer11.cpp | Loading commit data... | |
| Buffer11.h | Loading commit data... | |
| Clear11.cpp | Loading commit data... | |
| Clear11.h | Loading commit data... | |
| Context11.cpp | Loading commit data... | |
| Context11.h | Loading commit data... | |
| DebugAnnotator11.cpp | Loading commit data... | |
| DebugAnnotator11.h | Loading commit data... | |
| Fence11.cpp | Loading commit data... | |
| Fence11.h | Loading commit data... | |
| Framebuffer11.cpp | Loading commit data... | |
| Framebuffer11.h | Loading commit data... | |
| Image11.cpp | Loading commit data... | |
| Image11.h | Loading commit data... | |
| IndexBuffer11.cpp | Loading commit data... | |
| IndexBuffer11.h | Loading commit data... | |
| InputLayoutCache.cpp | Loading commit data... | |
| InputLayoutCache.h | Loading commit data... | |
| NativeWindow11.h | Loading commit data... | |
| PixelTransfer11.cpp | Loading commit data... | |
| PixelTransfer11.h | Loading commit data... | |
| Program11.cpp | Loading commit data... | |
| Program11.h | Loading commit data... | |
| ProgramPipeline11.cpp | Loading commit data... | |
| ProgramPipeline11.h | Loading commit data... | |
| Query11.cpp | Loading commit data... | |
| Query11.h | Loading commit data... | |
| RenderStateCache.cpp | Loading commit data... | |
| RenderStateCache.h | Loading commit data... | |
| RenderTarget11.cpp | Loading commit data... | |
| RenderTarget11.h | Loading commit data... | |
| Renderer11.cpp | Loading commit data... | |
| Renderer11.h | Loading commit data... | |
| ResourceManager11.cpp | Loading commit data... | |
| ResourceManager11.h | Loading commit data... | |
| ShaderExecutable11.cpp | Loading commit data... | |
| ShaderExecutable11.h | Loading commit data... | |
| StateManager11.cpp | Loading commit data... | |
| StateManager11.h | Loading commit data... | |
| StreamProducerD3DTexture.cpp | Loading commit data... | |
| StreamProducerD3DTexture.h | Loading commit data... | |
| SwapChain11.cpp | Loading commit data... | |
| SwapChain11.h | Loading commit data... | |
| TextureStorage11.cpp | Loading commit data... | |
| TextureStorage11.h | Loading commit data... | |
| TransformFeedback11.cpp | Loading commit data... | |
| TransformFeedback11.h | Loading commit data... | |
| Trim11.cpp | Loading commit data... | |
| Trim11.h | Loading commit data... | |
| VertexArray11.cpp | Loading commit data... | |
| VertexArray11.h | Loading commit data... | |
| VertexBuffer11.cpp | Loading commit data... | |
| VertexBuffer11.h | Loading commit data... | |
| dxgi_format_data.json | Loading commit data... | |
| dxgi_format_map_autogen.cpp | Loading commit data... | |
| dxgi_support_data.json | Loading commit data... | |
| dxgi_support_table.cpp | Loading commit data... | |
| dxgi_support_table.h | Loading commit data... | |
| formatutils11.cpp | Loading commit data... | |
| formatutils11.h | Loading commit data... | |
| gen_dxgi_format_table.py | Loading commit data... | |
| gen_dxgi_support_tables.py | Loading commit data... | |
| gen_texture_format_table.py | Loading commit data... | |
| renderer11_utils.cpp | Loading commit data... | |
| renderer11_utils.h | Loading commit data... | |
| texture_format_data.json | Loading commit data... | |
| texture_format_map.json | Loading commit data... | |
| texture_format_table.cpp | Loading commit data... | |
| texture_format_table.h | Loading commit data... | |
| texture_format_table_autogen.cpp | Loading commit data... | |
| texture_format_table_utils.h | Loading commit data... |