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

Issue 672380 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Email to this user bounced
Closed: Apr 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 3
Type: Bug



Sign in to add a comment

conformance/glsl/bugs/unary-minus-operator-float-bug.html fails on Intel Mac, NVIDIA Windows and NVIDIA Linux

Project Member Reported by qiankun....@intel.com, Dec 8 2016

Issue description

What steps will reproduce the problem?
(1) open https://www.khronos.org/registry/webgl/sdk/tests/conformance/glsl/bugs/unary-minus-operator-float-bug.html?webglVersion=1


What is the expected result?
All test should pass.

What happens instead?
Test failed.

For Intel Mac, it was caused by bug of minus operator with float number: -float.
For NVIDIA Linux and Windows, didn't know the failure reason.

 
Description: Show this description
Summary: conformance/glsl/bugs/unary-minus-operator-float-bug.html fails on Intel Mac, NVIDIA Windows and NVIDIA Linux (was: conformance/glsl/bugs/unary-minus-operator-float-bug.html fails on Intel Mac and NVIDIA Linux)
Labels: OS-Windows
It can be reproduced with NVIDIA 367.57 but not with 364.19. It's a nvidia driver regression. Result of "atan(tan(0.5), -f)" is wrong where f is -1.0.  It cannot be worked around by replacing -f with 0.0 - f on NVIDIA which works on Intel MAC.
Which Mac Intel configuration is this? It passes for me on 10.12.1+HD6000 and 10.12.2beta5+HD6000
Kai, it's fails on Intel Mac OSX 10.10 and 10.11.
Cc: kainino@chromium.org
Project Member

Comment 8 by bugdroid1@chromium.org, Dec 9 2016

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

commit 4a252ab12dc9a944a697c32a0ec2c761c06b59cb
Author: qiankun.miao <qiankun.miao@intel.com>
Date: Fri Dec 09 04:58:06 2016

Roll WebGL f554de2..e9afa18

https://chromium.googlesource.com/external/khronosgroup/webgl.git/+log/f554de2..e9afa18

BUG= 672380 , 662644

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/2563603002
Cr-Commit-Position: refs/heads/master@{#437472}

[modify] https://crrev.com/4a252ab12dc9a944a697c32a0ec2c761c06b59cb/DEPS
[modify] https://crrev.com/4a252ab12dc9a944a697c32a0ec2c761c06b59cb/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
[modify] https://crrev.com/4a252ab12dc9a944a697c32a0ec2c761c06b59cb/content/test/gpu/gpu_tests/webgl_conformance_expectations.py

Project Member

Comment 9 by bugdroid1@chromium.org, Dec 12 2016

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

commit f52fe93dcadfdeec6b1e7792ed64a167af748322
Author: Qiankun Miao <qiankun.miao@intel.com>
Date: Wed Dec 07 05:39:15 2016

Work around unary minus operator float issue on Intel Mac 10.11

Result of -float is wrong on Intel Mac 10.11 drivers. Replace -float
with 0.0 - float to work around this issue.

BUG= 308366 
BUG= 672380 

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

[modify] https://crrev.com/f52fe93dcadfdeec6b1e7792ed64a167af748322/include/GLSLANG/ShaderLang.h
[modify] https://crrev.com/f52fe93dcadfdeec6b1e7792ed64a167af748322/src/tests/gl_tests/GLSLTest.cpp
[modify] https://crrev.com/f52fe93dcadfdeec6b1e7792ed64a167af748322/src/libANGLE/renderer/gl/ShaderGL.cpp
[modify] https://crrev.com/f52fe93dcadfdeec6b1e7792ed64a167af748322/src/compiler/translator/Types.h
[modify] https://crrev.com/f52fe93dcadfdeec6b1e7792ed64a167af748322/src/compiler/translator/TranslatorGLSL.cpp
[modify] https://crrev.com/f52fe93dcadfdeec6b1e7792ed64a167af748322/src/compiler.gypi
[add] https://crrev.com/f52fe93dcadfdeec6b1e7792ed64a167af748322/src/compiler/translator/RewriteUnaryMinusOperatorFloat.h
[modify] https://crrev.com/f52fe93dcadfdeec6b1e7792ed64a167af748322/src/libANGLE/renderer/gl/renderergl_utils.cpp
[modify] https://crrev.com/f52fe93dcadfdeec6b1e7792ed64a167af748322/src/libANGLE/renderer/gl/WorkaroundsGL.h
[add] https://crrev.com/f52fe93dcadfdeec6b1e7792ed64a167af748322/src/compiler/translator/RewriteUnaryMinusOperatorFloat.cpp

Project Member

Comment 10 by bugdroid1@chromium.org, Dec 13 2016

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

commit d398b797dbcd4e88c229f0ba535198c087e15c2b
Author: qiankun.miao <qiankun.miao@intel.com>
Date: Tue Dec 13 14:16:12 2016

Roll ANGLE d023939..c31b741

https://chromium.googlesource.com/angle/angle.git/+log/d023939..c31b741

BUG= 308366 ,  672380 ,  668028 ,  668223 , angleproject:1523,  angleproject:523 

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/2567173003
Cr-Commit-Position: refs/heads/master@{#438161}

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

Project Member

Comment 11 by bugdroid1@chromium.org, Dec 13 2016

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

commit da9fb093e04c45dc4d0c41e682748e396d3710e7
Author: Olli Etuaho <oetuaho@nvidia.com>
Date: Fri Dec 09 17:32:29 2016

Work around atan(y, x) bug on NVIDIA

atan(y, x) is not always returning expected results on NVIDIA OpenGL
drivers between versions 367 and 375. Work around this by emulating
atan(y, x) using the regular atan(x) function. A fix to the driver is
expected in a future release.

It is most convenient to implement the vector atan(y, x) functions by
using the scalar atan(y, x) function. Support for simple dependencies
between emulated functions is added to BuiltInFunctionEmulator. In the
current implementation one function is allowed to have at most one
other function as its dependency.

BUG= chromium:672380 
TEST=angle_end2end_tests

Change-Id: I9eba8b0b7979c7c7eaed353b264932e41830beb1
Reviewed-on: https://chromium-review.googlesource.com/419016
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>

[modify] https://crrev.com/da9fb093e04c45dc4d0c41e682748e396d3710e7/src/compiler/translator/TranslatorESSL.h
[modify] https://crrev.com/da9fb093e04c45dc4d0c41e682748e396d3710e7/include/GLSLANG/ShaderLang.h
[modify] https://crrev.com/da9fb093e04c45dc4d0c41e682748e396d3710e7/src/compiler/translator/BuiltInFunctionEmulator.cpp
[modify] https://crrev.com/da9fb093e04c45dc4d0c41e682748e396d3710e7/src/tests/gl_tests/GLSLTest.cpp
[modify] https://crrev.com/da9fb093e04c45dc4d0c41e682748e396d3710e7/src/compiler/translator/TranslatorESSL.cpp
[modify] https://crrev.com/da9fb093e04c45dc4d0c41e682748e396d3710e7/src/libANGLE/renderer/gl/ShaderGL.cpp
[modify] https://crrev.com/da9fb093e04c45dc4d0c41e682748e396d3710e7/src/compiler/translator/BuiltInFunctionEmulatorGLSL.cpp
[modify] https://crrev.com/da9fb093e04c45dc4d0c41e682748e396d3710e7/src/compiler/translator/BuiltInFunctionEmulatorGLSL.h
[modify] https://crrev.com/da9fb093e04c45dc4d0c41e682748e396d3710e7/src/compiler/translator/TranslatorGLSL.cpp
[modify] https://crrev.com/da9fb093e04c45dc4d0c41e682748e396d3710e7/src/libANGLE/renderer/gl/renderergl_utils.cpp
[modify] https://crrev.com/da9fb093e04c45dc4d0c41e682748e396d3710e7/src/compiler/translator/BuiltInFunctionEmulator.h
[modify] https://crrev.com/da9fb093e04c45dc4d0c41e682748e396d3710e7/src/libANGLE/renderer/gl/WorkaroundsGL.h

Project Member

Comment 12 by bugdroid1@chromium.org, Dec 13 2016

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

commit cc07fe9671a50758809aef07cb7fdbc7ca7c4e3f
Author: qiankun.miao <qiankun.miao@intel.com>
Date: Tue Dec 13 21:41:07 2016

Hook up REWRITE_FLOAT_UNARY_MINUS_OPERATOR workaround in ANGLE

ANGLE CL is at: https://chromium-review.googlesource.com/#/c/417169.

BUG= 672380 
TEST=conformance/glsl/bugs/unary-minus-operator-float-bug.html
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel

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

[modify] https://crrev.com/cc07fe9671a50758809aef07cb7fdbc7ca7c4e3f/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
[modify] https://crrev.com/cc07fe9671a50758809aef07cb7fdbc7ca7c4e3f/content/test/gpu/gpu_tests/webgl_conformance_expectations.py
[modify] https://crrev.com/cc07fe9671a50758809aef07cb7fdbc7ca7c4e3f/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/cc07fe9671a50758809aef07cb7fdbc7ca7c4e3f/gpu/config/gpu_driver_bug_list_json.cc
[modify] https://crrev.com/cc07fe9671a50758809aef07cb7fdbc7ca7c4e3f/gpu/config/gpu_driver_bug_workaround_type.h

Project Member

Comment 13 by bugdroid1@chromium.org, Dec 14 2016

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

commit 13fddc74fe2694356bf9c3425b2d5e2b6b8ccca8
Author: cwallez <cwallez@chromium.org>
Date: Wed Dec 14 19:00:24 2016

Roll ANGLE c31b741..d967122

https://chromium.googlesource.com/angle/angle.git/+log/c31b741..d967122

BUG= chromium:672380 

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/2577693002
Cr-Commit-Position: refs/heads/master@{#438565}

[modify] https://crrev.com/13fddc74fe2694356bf9c3425b2d5e2b6b8ccca8/DEPS

Project Member

Comment 14 by bugdroid1@chromium.org, Feb 11 2017

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

commit bfb6d62e98fe74682a7a0c81444b8f837bb48350
Author: oetuaho <oetuaho@nvidia.com>
Date: Sat Feb 11 00:14:26 2017

Remove outdated WebGL expectation on NVIDIA

unary-minus-operator-float-bug.html is not failing on NVIDIA anymore
since a workaround is in place in ANGLE.

BUG= 672380 
TEST=WebGL conformance
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel

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

[modify] https://crrev.com/bfb6d62e98fe74682a7a0c81444b8f837bb48350/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
[modify] https://crrev.com/bfb6d62e98fe74682a7a0c81444b8f837bb48350/content/test/gpu/gpu_tests/webgl_conformance_expectations.py

Comment 15 by zmo@chromium.org, Apr 10 2017

Owner: oetu...@nvidia.com
Status: Fixed (was: Untriaged)
Thanks Olli for working around this driver bug.
Project Member

Comment 16 by bugdroid1@chromium.org, Nov 12

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

commit a5f88b7e35a567c40e25e21b285ec7e8c687e6d6
Author: James Darpinian <jdarpinian@chromium.org>
Date: Mon Nov 12 23:09:19 2018

Cleaning up WebGL test failure expectations.

Many of these are leftover failure expectations from fixed bugs.
Some were fixed on some platforms but not others. There are some
new failures that were hidden by previous broad suppressions. Also
some tests are only failing because we haven't updated the drivers
on the bots (http://crbug.com/887241).

Bug:  757097 ,  838133 ,  672380 , 625738,  angleproject:2325 
Bug:  534697 , 849572, 625738, 703779,  angleproject:2142 
Bug: 757098, 644740, 705865, 602688,  angleproject:2103 
Bug: 903903,  740769 , 662644,  680720 ,  angleproject:1932 
Bug:  709874 , 887241,  625365 , angleproject:2952
Change-Id: I4e39e5a09d31d788d8a8615ad06d1ec88f064f00
Reviewed-on: https://chromium-review.googlesource.com/c/1325197
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607367}
[modify] https://crrev.com/a5f88b7e35a567c40e25e21b285ec7e8c687e6d6/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
[modify] https://crrev.com/a5f88b7e35a567c40e25e21b285ec7e8c687e6d6/content/test/gpu/gpu_tests/webgl_conformance_expectations.py
[modify] https://crrev.com/a5f88b7e35a567c40e25e21b285ec7e8c687e6d6/content/test/gpu/gpu_tests/webgl_conformance_expectations_unittest.py

Blocking: -662644

Sign in to add a comment