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

Issue 650547 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows , Mac
Pri: 2
Type: Bug

Blocking:
issue 295792



Sign in to add a comment

Failures in deqp/functional/gles3/shadercommonfunction.html on some Intel drivers

Project Member Reported by jiawei.s...@intel.com, Sep 27 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/shadercommonfunction.html

What is the expected output?
All tests pass

What do you see instead?
Some cases in common.isnan fail on Windows and Mac using Intel GPU.

Please use labels and text to provide additional information.
In the failed cases, evaluating isnan() will get wrong answer on highp float numbers.
 
Cc: cwallez@chromium.org jmad...@chromium.org
Project Member

Comment 2 by bugdroid1@chromium.org, Sep 28 2016

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

commit 6f0a0dca16ff492e6aef30c34dcd294b019d07bf
Author: Shao <jiawei.shao@intel.com>
Date: Tue Sep 27 05:51:29 2016

Workaround isnan() on Intel drivers

On some Intel drivers, calling function isnan() on highp float will get wrong
answer. This patch work arounds this bug by using an expression to emulate
this function.

BUG= chromium:650547 

Change-Id: I5bc5e0352c434f42cd2c55103a74f9f7ba51a72c
Reviewed-on: https://chromium-review.googlesource.com/389834
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>

[modify] https://crrev.com/6f0a0dca16ff492e6aef30c34dcd294b019d07bf/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
[modify] https://crrev.com/6f0a0dca16ff492e6aef30c34dcd294b019d07bf/src/libANGLE/renderer/d3d/WorkaroundsD3D.h
[modify] https://crrev.com/6f0a0dca16ff492e6aef30c34dcd294b019d07bf/include/GLSLANG/ShaderLang.h
[modify] https://crrev.com/6f0a0dca16ff492e6aef30c34dcd294b019d07bf/src/libANGLE/renderer/d3d/ShaderD3D.cpp
[modify] https://crrev.com/6f0a0dca16ff492e6aef30c34dcd294b019d07bf/src/libANGLE/renderer/gl/ShaderGL.cpp
[modify] https://crrev.com/6f0a0dca16ff492e6aef30c34dcd294b019d07bf/src/compiler/translator/BuiltInFunctionEmulatorGLSL.cpp
[modify] https://crrev.com/6f0a0dca16ff492e6aef30c34dcd294b019d07bf/src/compiler/translator/BuiltInFunctionEmulatorGLSL.h
[modify] https://crrev.com/6f0a0dca16ff492e6aef30c34dcd294b019d07bf/src/compiler/translator/TranslatorGLSL.cpp
[modify] https://crrev.com/6f0a0dca16ff492e6aef30c34dcd294b019d07bf/src/libANGLE/renderer/gl/renderergl_utils.cpp
[modify] https://crrev.com/6f0a0dca16ff492e6aef30c34dcd294b019d07bf/src/compiler/translator/OutputHLSL.cpp
[modify] https://crrev.com/6f0a0dca16ff492e6aef30c34dcd294b019d07bf/src/libANGLE/renderer/gl/WorkaroundsGL.h
[modify] https://crrev.com/6f0a0dca16ff492e6aef30c34dcd294b019d07bf/src/compiler/translator/BuiltInFunctionEmulatorHLSL.h
[modify] https://crrev.com/6f0a0dca16ff492e6aef30c34dcd294b019d07bf/src/compiler/translator/BuiltInFunctionEmulatorHLSL.cpp

Project Member

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

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

commit 9c0333556e726233673266a98a654e61d12dec54
Author: qiankun.miao <qiankun.miao@intel.com>
Date: Thu Sep 29 03:41:28 2016

Roll ANGLE 1be4d49..886de36

https://chromium.googlesource.com/angle/angle.git/+log/1be4d49..886de36

BUG= chromium:650547 , chromium:637050 

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

[modify] https://crrev.com/9c0333556e726233673266a98a654e61d12dec54/DEPS

Project Member

Comment 4 by bugdroid1@chromium.org, Oct 9 2016

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

commit 9358866a937bc8cb9facb7feb9d087fab355e459
Author: jiawei.shao <jiawei.shao@intel.com>
Date: Sun Oct 09 08:43:54 2016

Add isnan() workaround for Intel Mac

On some Intel drivers (skylake Windows and Mac), calling
function isnan() on highp float will get wrong answer.
This patch work arounds this bug by using an expression
to emulate this GLSL function. Skylake device ids are
referenced from:
https://cgit.freedesktop.org/vaapi/intel-driver/tree/src/i965_pciids.h

BUG= 650547 
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

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

[modify] https://crrev.com/9358866a937bc8cb9facb7feb9d087fab355e459/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/9358866a937bc8cb9facb7feb9d087fab355e459/gpu/config/gpu_driver_bug_list_json.cc
[modify] https://crrev.com/9358866a937bc8cb9facb7feb9d087fab355e459/gpu/config/gpu_driver_bug_workaround_type.h

Project Member

Comment 5 by bugdroid1@chromium.org, Oct 10 2016

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

commit 7026791422f0046a47bb849b2f2dc3212aab8415
Author: treib <treib@chromium.org>
Date: Mon Oct 10 08:43:34 2016

Revert of Add isnan() workaround for Intel Mac (patchset #4 id:60001 of https://codereview.chromium.org/2376033004/ )

Reason for revert:
Seems to have broken NavigatingExtensionPopupBrowserTest.DownloadViaPost on Mac 10.10:
https://build.chromium.org/p/chromium.mac/builders/Mac10.10%20Tests/builds/8270

Original issue's description:
> Add isnan() workaround for Intel Mac
>
> On some Intel drivers (skylake Windows and Mac), calling
> function isnan() on highp float will get wrong answer.
> This patch work arounds this bug by using an expression
> to emulate this GLSL function. Skylake device ids are
> referenced from:
> https://cgit.freedesktop.org/vaapi/intel-driver/tree/src/i965_pciids.h
>
> BUG= 650547 
> 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
>
> Committed: https://crrev.com/9358866a937bc8cb9facb7feb9d087fab355e459
> Cr-Commit-Position: refs/heads/master@{#424101}

TBR=qiankun.miao@intel.com,kbr@chromium.org,zmo@chromium.org,jiawei.shao@intel.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 650547 

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

[modify] https://crrev.com/7026791422f0046a47bb849b2f2dc3212aab8415/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/7026791422f0046a47bb849b2f2dc3212aab8415/gpu/config/gpu_driver_bug_list_json.cc
[modify] https://crrev.com/7026791422f0046a47bb849b2f2dc3212aab8415/gpu/config/gpu_driver_bug_workaround_type.h

Project Member

Comment 6 by bugdroid1@chromium.org, Oct 10 2016

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

commit f8a8059eae91342af8c1e7e56e1519c86f0b94d7
Author: treib <treib@chromium.org>
Date: Mon Oct 10 13:11:03 2016

Reland of Add isnan() workaround for Intel Mac (patchset #1 id:1 of https://codereview.chromium.org/2405773002/ )

Reason for revert:
Relanding the original CL - the test failed again, so this isn't the cause.

Original issue's description:
> Revert of Add isnan() workaround for Intel Mac (patchset #4 id:60001 of https://codereview.chromium.org/2376033004/ )
>
> Reason for revert:
> Seems to have broken NavigatingExtensionPopupBrowserTest.DownloadViaPost on Mac 10.10:
> https://build.chromium.org/p/chromium.mac/builders/Mac10.10%20Tests/builds/8270
>
> Original issue's description:
> > Add isnan() workaround for Intel Mac
> >
> > On some Intel drivers (skylake Windows and Mac), calling
> > function isnan() on highp float will get wrong answer.
> > This patch work arounds this bug by using an expression
> > to emulate this GLSL function. Skylake device ids are
> > referenced from:
> > https://cgit.freedesktop.org/vaapi/intel-driver/tree/src/i965_pciids.h
> >
> > BUG= 650547 
> > 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
> >
> > Committed: https://crrev.com/9358866a937bc8cb9facb7feb9d087fab355e459
> > Cr-Commit-Position: refs/heads/master@{#424101}
>
> TBR=qiankun.miao@intel.com,kbr@chromium.org,zmo@chromium.org,jiawei.shao@intel.com
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG= 650547 
>
> Committed: https://crrev.com/7026791422f0046a47bb849b2f2dc3212aab8415
> Cr-Commit-Position: refs/heads/master@{#424121}

TBR=qiankun.miao@intel.com,kbr@chromium.org,zmo@chromium.org,jiawei.shao@intel.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 650547 

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

[modify] https://crrev.com/f8a8059eae91342af8c1e7e56e1519c86f0b94d7/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/f8a8059eae91342af8c1e7e56e1519c86f0b94d7/gpu/config/gpu_driver_bug_list_json.cc
[modify] https://crrev.com/f8a8059eae91342af8c1e7e56e1519c86f0b94d7/gpu/config/gpu_driver_bug_workaround_type.h

Comment 7 by zmo@chromium.org, Nov 5 2016

Status: Fixed (was: Assigned)

Comment 8 by zmo@chromium.org, Nov 5 2016

By the way, will this workaround also fix the Mac AMD failure?
It is an Intel specific bug. 
Thanks for closing!
Project Member

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

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

commit f165f0b4c63562221f994d6430483612ebe5bf61
Author: Shao <jiawei.shao@intel.com>
Date: Tue Dec 20 07:53:11 2016

Tighten the workarounds on isnan for Intel drivers

This driver bug has been fixed in 21.20.16.4542.

BUG= chromium:650547 

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

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

Project Member

Comment 11 by bugdroid1@chromium.org, Jan 2 2017

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

commit 047fcb2def2217f0b639621c67bc04e6e1088de8
Author: jmadill <jmadill@chromium.org>
Date: Mon Jan 02 17:21:01 2017

Roll ANGLE d5fe352..4d0bf55

https://chromium.googlesource.com/angle/angle.git/+log/d5fe352..4d0bf55

BUG= chromium:650547 

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

[modify] https://crrev.com/047fcb2def2217f0b639621c67bc04e6e1088de8/DEPS

Project Member

Comment 12 by bugdroid1@chromium.org, Dec 19 2017

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

commit 807d84c55a97d12be91ccffdc37647dd4b68f767
Author: Yunchao He <yunchao.he@intel.com>
Date: Tue Dec 19 17:24:56 2017

Limit the emulation of isnan() GLSL function for old Mac OSX.

This bug has been fixed since OSX 10.13.2, so the workaround
is unnecessary in latest Mac OSX.

Bug:650547

TEST=deqp/functional/gles3/shadercommonfunction.html

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;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
Change-Id: Ida39dc31cb7a088a7aa40fabfc1993e36157fb71
Reviewed-on: https://chromium-review.googlesource.com/833036
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525068}
[modify] https://crrev.com/807d84c55a97d12be91ccffdc37647dd4b68f767/gpu/config/gpu_driver_bug_list.json

Sign in to add a comment