New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 644033 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug

Blocking:
issue 295792



Sign in to add a comment

Failures in deqp/functional/gles3/shaderstruct.html on Intel Windows

Project Member Reported by jiawei.s...@intel.com, Sep 5 2016

Issue description

What steps will reproduce the problem?
(1) open chrome with command line: --enable-unsafe-es3-apis
(2) open url: https://www.khronos.org/registry/webgl/sdk/tests/deqp/functional/gles3/shaderstruct.html?webglVersion=2&quiet=0

What is the expected output?
All tests pass.

What do you see instead?
Case struct.local.dynamic_loop_struct_array_vertex fails on Windows using Intel GPU on Broadwell machines. 

Please use labels and text to provide additional information.
In the failed case, computing the opposite number of the uniform variable ui_one cannot get the correct answer, so the alpha of the output fragments are wrong. 
I am adding a workaround in ANGLE by replacing -(int) with ~(int)+1 .
 
Summary: Failures in deqp/functional/gles3/shaderstruct.html on Intel Windows (was: Failures in rdeqp/functional/gles3/shaderstruct.html on Intel Windows )
Components: Blink>WebGL
Labels: GPU-Intel
Project Member

Comment 3 by bugdroid1@chromium.org, Sep 20 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/e292e90280ef614e337f04b49565c64d25baeb55

commit e292e90280ef614e337f04b49565c64d25baeb55
Author: Jiawei-Shao <jiawei.shao@intel.com>
Date: Wed Sep 07 02:49:01 2016

Workaround the unary minus operator issue on Intel

On some Intel D3D drivers, evaluating unary minor operator on an
integer variable may get wrong answer in vertex shader.

This patch works around this bug by replacing -(int) with ~(int)+1
on Windows Intel.

BUG= chromium:644033 

Change-Id: I0af719e84d618a33f25bcb33bde0c381fb462a31
Reviewed-on: https://chromium-review.googlesource.com/381675
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>

[add] https://crrev.com/e292e90280ef614e337f04b49565c64d25baeb55/src/compiler/translator/RewriteUnaryMinusOperatorInt.cpp
[modify] https://crrev.com/e292e90280ef614e337f04b49565c64d25baeb55/src/libANGLE/renderer/d3d/WorkaroundsD3D.h
[modify] https://crrev.com/e292e90280ef614e337f04b49565c64d25baeb55/include/GLSLANG/ShaderLang.h
[modify] https://crrev.com/e292e90280ef614e337f04b49565c64d25baeb55/src/tests/gl_tests/GLSLTest.cpp
[add] https://crrev.com/e292e90280ef614e337f04b49565c64d25baeb55/src/compiler/translator/RewriteUnaryMinusOperatorInt.h
[modify] https://crrev.com/e292e90280ef614e337f04b49565c64d25baeb55/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
[modify] https://crrev.com/e292e90280ef614e337f04b49565c64d25baeb55/src/compiler/translator/TranslatorHLSL.cpp
[modify] https://crrev.com/e292e90280ef614e337f04b49565c64d25baeb55/src/compiler.gypi
[modify] https://crrev.com/e292e90280ef614e337f04b49565c64d25baeb55/src/libANGLE/renderer/d3d/ShaderD3D.cpp

Project Member

Comment 4 by bugdroid1@chromium.org, Sep 20 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/e292e90280ef614e337f04b49565c64d25baeb55

commit e292e90280ef614e337f04b49565c64d25baeb55
Author: Jiawei-Shao <jiawei.shao@intel.com>
Date: Wed Sep 07 02:49:01 2016

Workaround the unary minus operator issue on Intel

On some Intel D3D drivers, evaluating unary minor operator on an
integer variable may get wrong answer in vertex shader.

This patch works around this bug by replacing -(int) with ~(int)+1
on Windows Intel.

BUG= chromium:644033 

Change-Id: I0af719e84d618a33f25bcb33bde0c381fb462a31
Reviewed-on: https://chromium-review.googlesource.com/381675
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>

[add] https://crrev.com/e292e90280ef614e337f04b49565c64d25baeb55/src/compiler/translator/RewriteUnaryMinusOperatorInt.cpp
[modify] https://crrev.com/e292e90280ef614e337f04b49565c64d25baeb55/src/libANGLE/renderer/d3d/WorkaroundsD3D.h
[modify] https://crrev.com/e292e90280ef614e337f04b49565c64d25baeb55/include/GLSLANG/ShaderLang.h
[modify] https://crrev.com/e292e90280ef614e337f04b49565c64d25baeb55/src/tests/gl_tests/GLSLTest.cpp
[add] https://crrev.com/e292e90280ef614e337f04b49565c64d25baeb55/src/compiler/translator/RewriteUnaryMinusOperatorInt.h
[modify] https://crrev.com/e292e90280ef614e337f04b49565c64d25baeb55/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
[modify] https://crrev.com/e292e90280ef614e337f04b49565c64d25baeb55/src/compiler/translator/TranslatorHLSL.cpp
[modify] https://crrev.com/e292e90280ef614e337f04b49565c64d25baeb55/src/compiler.gypi
[modify] https://crrev.com/e292e90280ef614e337f04b49565c64d25baeb55/src/libANGLE/renderer/d3d/ShaderD3D.cpp

Project Member

Comment 5 by bugdroid1@chromium.org, Sep 22 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7265052d46cd24c7f9665bd298f8d878ef12274e

commit 7265052d46cd24c7f9665bd298f8d878ef12274e
Author: cwallez <cwallez@chromium.org>
Date: Thu Sep 22 03:52:12 2016

Roll ANGLE 8b28a8b..c287ea6

https://chromium.googlesource.com/angle/angle.git/+log/8b28a8b..c287ea6

BUG= chromium:644033 , chromium:637050 ,648462, chromium:647807 

TBR=geofflang@chromium.org

TEST=bots

CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2357933002
Cr-Commit-Position: refs/heads/master@{#420258}

[modify] https://crrev.com/7265052d46cd24c7f9665bd298f8d878ef12274e/DEPS

Status: Fixed (was: Assigned)
Project Member

Comment 7 by bugdroid1@chromium.org, Apr 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/331f6dbde6c41592a40726326af3aa049b880de2

commit 331f6dbde6c41592a40726326af3aa049b880de2
Author: Jiawei-Shao <jiawei.shao@intel.com>
Date: Mon Apr 24 14:52:12 2017

Tighten workaround on unary minus for Intel D3D drivers

This driver bug has been fixed in 20.19.15.4624.

BUG= chromium:644033 

Change-Id: I6f621d7c4d4b823da29255f869af84097f4f7c2c
Reviewed-on: https://chromium-review.googlesource.com/476118
Reviewed-by: Yunchao He <yunchao.he@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>

[modify] https://crrev.com/331f6dbde6c41592a40726326af3aa049b880de2/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
[modify] https://crrev.com/331f6dbde6c41592a40726326af3aa049b880de2/include/platform/WorkaroundsD3D.h

Project Member

Comment 8 by bugdroid1@chromium.org, Apr 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cda13a9e3a043b37ecc7f28a60333091a80bdf3e

commit cda13a9e3a043b37ecc7f28a60333091a80bdf3e
Author: jmadill <jmadill@chromium.org>
Date: Mon Apr 24 16:42:09 2017

Roll ANGLE ba992ab..331f6db

https://chromium.googlesource.com/angle/angle.git/+log/ba992ab..331f6db

BUG= chromium:644033 ,chromium:713196

TBR=geofflang@chromium.org

TEST=bots

CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2842433003
Cr-Commit-Position: refs/heads/master@{#466660}

[modify] https://crrev.com/cda13a9e3a043b37ecc7f28a60333091a80bdf3e/DEPS

Sign in to add a comment