Commit a1ac3fe8 by Jiawei Shao Committed by Commit Bot

ES31: Support textureGather[Offset] on int/uint formats on D3D11

This patch implements the translation of textureGather[Offset] on integer and unsigned integer format textures on D3D11. According to MSDN, Gather[Red|Green|Blue|Alpha] can be used on integer and unsigned integer format textures with float texture coordinates: https://docs.microsoft.com/en-us/windows/desktop/direct3dhlsl/dx-graphics-hlsl-to-gather Currently the dEQP tests on TextureGather[Offset] on cube map textures in integer or unsigned formats still cannot pass. This issue is under investigation. Bug: angleproject:2826 Test: dEQP-GLES31.functional.texture.gather.basic.2d.* dEQP-GLES31.functional.texture.gather.basic.2d_array.* dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.* dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.* dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.* dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.* Change-Id: If049dc395fb17cd34dec902630e3a1154e5d4806 Reviewed-on: https://chromium-review.googlesource.com/c/1271926 Commit-Queue: Jiawei Shao <jiawei.shao@intel.com> Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
parent bbd532d1
...@@ -163,7 +163,11 @@ const char *GetSamplerCoordinateTypeString( ...@@ -163,7 +163,11 @@ const char *GetSamplerCoordinateTypeString(
const TextureFunctionHLSL::TextureFunction &textureFunction, const TextureFunctionHLSL::TextureFunction &textureFunction,
int hlslCoords) int hlslCoords)
{ {
if (IsIntegerSampler(textureFunction.sampler) || // Gather[Red|Green|Blue|Alpha] accepts float texture coordinates on textures in integer or
// unsigned integer formats.
// https://docs.microsoft.com/en-us/windows/desktop/direct3dhlsl/dx-graphics-hlsl-to-gather
if ((IsIntegerSampler(textureFunction.sampler) &&
textureFunction.method != TextureFunctionHLSL::TextureFunction::GATHER) ||
textureFunction.method == TextureFunctionHLSL::TextureFunction::FETCH) textureFunction.method == TextureFunctionHLSL::TextureFunction::FETCH)
{ {
switch (hlslCoords) switch (hlslCoords)
......
...@@ -1567,21 +1567,9 @@ ...@@ -1567,21 +1567,9 @@
1941 D3D11 : dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_directive.geometry_shader = FAIL 1941 D3D11 : dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader_directive.geometry_shader = FAIL
1941 D3D11 : dEQP-GLES31.functional.debug.negative_coverage.log.shader_directive.geometry_shader = FAIL 1941 D3D11 : dEQP-GLES31.functional.debug.negative_coverage.log.shader_directive.geometry_shader = FAIL
1941 D3D11 : dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_directive.geometry_shader = FAIL 1941 D3D11 : dEQP-GLES31.functional.debug.negative_coverage.get_error.shader_directive.geometry_shader = FAIL
2826 D3D11 : dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.* = FAIL
2826 D3D11 : dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.* = FAIL
2826 D3D11 : dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.* = FAIL
2826 D3D11 : dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.* = FAIL
2826 D3D11 : dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.texture_swizzle.* = FAIL 2826 D3D11 : dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.texture_swizzle.* = FAIL
2826 D3D11 : dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.* = FAIL 2826 D3D11 : dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.* = FAIL
2826 D3D11 : dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.* = FAIL 2826 D3D11 : dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.* = FAIL
2826 D3D11 : dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.rgba8ui.* = FAIL
2826 D3D11 : dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.rgba8i.* = FAIL
2826 D3D11 : dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.rgba8ui.* = FAIL
2826 D3D11 : dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.rgba8i.* = FAIL
2826 D3D11 : dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8ui.* = FAIL
2826 D3D11 : dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8i.* = FAIL
2826 D3D11 : dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8ui.* = FAIL
2826 D3D11 : dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8i.* = FAIL
// Recetly added tests failing on D3D11 Windows. // Recetly added tests failing on D3D11 Windows.
2619 D3D11 : dEQP-GLES31.functional.shaders.builtin_functions.uniform.findLSBMinusOne.highp_compute = FAIL 2619 D3D11 : dEQP-GLES31.functional.shaders.builtin_functions.uniform.findLSBMinusOne.highp_compute = FAIL
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment