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

Issue 642227 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Email to this user bounced
Closed: Sep 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 295792



Sign in to add a comment

Result of abs(int) in vertex shader is wrong in Intel Mac

Project Member Reported by qiankun....@intel.com, Aug 30 2016

Issue description

It can be reproduced by running deqp/functional/gles3/shadercommonfunction.html on Intel Mac. I didn't test other Mac platforms. These tests pass on Linux and windows.

The failing tests are common.abs.int_lowp|mediump|highp_vertex. abs(float|vec) passed. Also behavior of abs in fragment shader is correct. 

I am adding a workaround in ANGLE by replacing abs(int) with int * sign(int).

 
Project Member

Comment 1 by bugdroid1@chromium.org, Aug 31 2016

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

commit a4e6f07433d219fbdc802fc438a5762f53822617
Author: Qiankun Miao <qiankun.miao@intel.com>
Date: Mon Aug 29 14:49:21 2016

Work around abs() issue in Intel Mac drivers

abs(i) where i is an integer returns unexpected result in Intel Mac.
This works around the issue by emulating abs(i) manually.

BUG= chromium:642227 
TEST=deqp/functional/gles3/shadercommonfunction.html

Change-Id: I2a41e0f4bcb0766109d651e663283b1760468017
Reviewed-on: https://chromium-review.googlesource.com/377628
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>

[modify] https://crrev.com/a4e6f07433d219fbdc802fc438a5762f53822617/src/compiler/translator/BuiltInFunctionEmulatorGLSL.cpp
[modify] https://crrev.com/a4e6f07433d219fbdc802fc438a5762f53822617/src/compiler/translator/BuiltInFunctionEmulatorGLSL.h
[modify] https://crrev.com/a4e6f07433d219fbdc802fc438a5762f53822617/src/compiler/translator/TranslatorGLSL.cpp
[modify] https://crrev.com/a4e6f07433d219fbdc802fc438a5762f53822617/include/GLSLANG/ShaderLang.h

Project Member

Comment 2 by bugdroid1@chromium.org, Aug 31 2016

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

commit 680a3f54ee58fe56d69c756a3d425344f45bc1ae
Author: zmo <zmo@chromium.org>
Date: Wed Aug 31 19:53:46 2016

Remove SH_EMULATE_BUILT_IN_FUNCTIONS dependencies.

BUG= 642227 
TEST=gpu_unittests
R=qiankun.miao@intel.com
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/2297663005
Cr-Commit-Position: refs/heads/master@{#415727}

[modify] https://crrev.com/680a3f54ee58fe56d69c756a3d425344f45bc1ae/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/680a3f54ee58fe56d69c756a3d425344f45bc1ae/gpu/command_buffer/service/shader_translator_unittest.cc
[modify] https://crrev.com/680a3f54ee58fe56d69c756a3d425344f45bc1ae/gpu/config/gpu_driver_bug_workaround_type.h

Project Member

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

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

commit 4a41f72543f178a392d9886548047f921ac1fc1d
Author: qiankun.miao <qiankun.miao@intel.com>
Date: Thu Sep 01 02:50:58 2016

Roll ANGLE ad10a4a..a4e6f07

https://chromium.googlesource.com/angle/angle.git/+log/ad10a4a..a4e6f07

BUG= chromium:233383 , chromium:642227 , chromium:642605 

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

[modify] https://crrev.com/4a41f72543f178a392d9886548047f921ac1fc1d/DEPS

Project Member

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

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

commit e5bb72ff28773c42aae1a8e744882d194049b0a3
Author: Qiankun Miao <qiankun.miao@intel.com>
Date: Wed Aug 31 17:41:27 2016

Remove SH_EMULATE_BUILT_IN_FUNCTIONS which isn't used

The flag is not used in chrome. We decide to do per emulation per flag.

BUG= chromium:642227 

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

[modify] https://crrev.com/e5bb72ff28773c42aae1a8e744882d194049b0a3/src/compiler/translator/TranslatorESSL.h
[modify] https://crrev.com/e5bb72ff28773c42aae1a8e744882d194049b0a3/include/GLSLANG/ShaderLang.h
[modify] https://crrev.com/e5bb72ff28773c42aae1a8e744882d194049b0a3/src/compiler/translator/TranslatorESSL.cpp
[modify] https://crrev.com/e5bb72ff28773c42aae1a8e744882d194049b0a3/src/tests/angle_unittests.gypi
[modify] https://crrev.com/e5bb72ff28773c42aae1a8e744882d194049b0a3/src/compiler/translator/BuiltInFunctionEmulatorGLSL.cpp
[modify] https://crrev.com/e5bb72ff28773c42aae1a8e744882d194049b0a3/src/compiler/translator/BuiltInFunctionEmulatorGLSL.h
[modify] https://crrev.com/e5bb72ff28773c42aae1a8e744882d194049b0a3/src/compiler/translator/TranslatorGLSL.cpp
[delete] https://crrev.com/8314465defc7901f67687b9fea8e1ebebff898a2/src/tests/compiler_tests/BuiltInFunctionEmulator_test.cpp

Project Member

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

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

commit b962aab6ffb79b8ddf8166db3561b212b73b0117
Author: Kenneth Russell <kbr@chromium.org>
Date: Thu Sep 01 17:08:40 2016

Remove stray reference to SH_EMULATE_BUILT_IN_FUNCTIONS.

BUG= chromium:642227 

Change-Id: Ie1d74c0abd355a0bddc3c2b700390a3a2a9c4823
Reviewed-on: https://chromium-review.googlesource.com/379875
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>

[modify] https://crrev.com/b962aab6ffb79b8ddf8166db3561b212b73b0117/samples/shader_translator/shader_translator.cpp

Project Member

Comment 6 by bugdroid1@chromium.org, Sep 1 2016

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

commit 1786885d8e8fad3108a6073c78c2e72dbc886dd5
Author: qiankun.miao <qiankun.miao@intel.com>
Date: Thu Sep 01 18:03:57 2016

Enable ANGLE workaround for Intel MacOS abs bug

The result of abs(i) in vertex shader is wrong in Intel Mac. The
workaround replaces abs(i) with i * sign(i).

BUG= 642227 
TEST=deqp/functional/gles3/shadercommonfunction.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

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

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

Project Member

Comment 7 by bugdroid1@chromium.org, Sep 7 2016

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

commit 9bb4e60b43e03ec97398628839dab490c41170d1
Author: jmadill <jmadill@chromium.org>
Date: Wed Sep 07 02:35:51 2016

Roll ANGLE a4e6f07..5a7e20e

https://chromium.googlesource.com/angle/angle.git/+log/a4e6f07..5a7e20e

BUG= chromium:643075 , chromium:642227 , chromium:638323 , chromium:644057 , 351528 , chromium:593024 

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

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

Status: Fixed (was: Assigned)
This is fixed. Closing now.
Project Member

Comment 9 by bugdroid1@chromium.org, Aug 22

Project Member

Comment 10 by bugdroid1@chromium.org, Aug 22

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

commit 064c4f5a3915416c8cdf45b2ac59ff9e8f275ffa
Author: skia-chromium-autoroll <skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Wed Aug 22 21:53:10 2018

Roll src/third_party/skia 4a0ba280b94c..92b161fab40f (8 commits)

https://skia.googlesource.com/skia.git/+log/4a0ba280b94c..92b161fab40f


git log 4a0ba280b94c..92b161fab40f --date=short --no-merges --format='%ad %ae %s'
2018-08-22 enne@chromium.org Add emulate_abs_int_function workaround
2018-08-22 scroggo@google.com Switch SkCodec to use skcms
2018-08-22 brianosman@google.com Remove unused sRGB mip-map support
2018-08-22 kjlubick@google.com [PathKit] Add asm.js build and test jobs
2018-08-22 benjaminwagner@google.com [infra] Remove NexusPlayer Vulkan jobs.
2018-08-22 mtklein@google.com streamline interface to GrColorSpaceXform::Make()
2018-08-22 brianosman@google.com Make SkColor4f <-> SkColor skip sRGB conversion
2018-08-22 enne@chromium.org Add unfold_short_circuit_as_ternary workaround


Created with:
  gclient setdep -r src/third_party/skia@92b161fab40f

The AutoRoll server is located here: https://autoroll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel

BUG=chromium: 642227,chromium:829614,chromium: 307751,chromium:829614
TBR=fmalita@chromium.org

Change-Id: I6ed6e1fe370f351b38d74f862a6a79ee5eb9bf20
Reviewed-on: https://chromium-review.googlesource.com/1185501
Reviewed-by: skia-chromium-autoroll <skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: skia-chromium-autoroll <skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#585266}
[modify] https://crrev.com/064c4f5a3915416c8cdf45b2ac59ff9e8f275ffa/DEPS

Sign in to add a comment