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

Issue 654187 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Nov 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 3
Type: Bug

Blocking:
issue 429053



Sign in to add a comment

converting internalformat to r11f_g11f_b10f during blitframebuffer fails in MacOSX

Project Member Reported by yunchao...@intel.com, Oct 8 2016

Issue description

What steps will reproduce the problem?
(1) run webgl CTS framebufferblit/conversion_28.html in Chromium

What is the expected output?
The test can pass

What do you see instead?
The test fails

Please use labels and text to provide additional information.
conversion_{30|31|33}.html also fail.
 
Here comes some detailed analysis:
The root cause of these failures: the precision for r11_g11_b10f doesn't follow the GLES spec: https://www.khronos.org/registry/gles/specs/3.0/es_spec_3.0.4.pdf#nameddest=section-2.10.3 and https://www.khronos.org/registry/gles/specs/3.0/es_spec_3.0.4.pdf#nameddest=section-2.10.4 (on Page 7 & 8). 

An unsigned 11-bit floating-point number has no sign bit, a 5-bit exponent (E), and a 6-bit mantissa (M). So, the biggest number for unsigned 11-bit floating-point numbers should be 60000+. An unsigned 10-bit floating-point number has no sign bit, a 5-bit exponent (E), and a 5-bit mantissa (M). So, the biggest number for 10-bit floating-point number should be 60000+. 
However, the biggest number in MacOSX is much smaller than 60000.

The biggest number in the test case for r11f_g11f_b10f is 10000(1e4): see the code here where it set the biggest and smallest numbers:  https://github.com/KhronosGroup/WebGL/blob/master/sdk/tests/deqp/framework/common/tcuTextureUtil.js#L298 
and the code here where it use the biggest and smallest numbers in shader: https://github.com/KhronosGroup/WebGL/blob/master/sdk/tests/deqp/functional/gles3/es3fFboTestUtil.js#L235. 

I tried to change the biggest number to a number which was smaller than 8300, the test can pass in MacOSX.

I think this is a driver bug in MacOSX, do you have any idea to workaround this bug, @kbr and @zmo? It seems to me that it is hard to workaround in Chromium. 

I noticed that you have already filed a Apple Radar 27231902 at https://docs.google.com/spreadsheets/d/1wEz_jcZ39QG3LpQvpbgmHkJxz0Db6KUm-OeMEfiS_I8/edit#gid=0. I have no access to that issue, I am not sure whether it is the same issue. 

Comment 3 by zmo@chromium.org, Oct 10 2016

Yes it is the same issue.  Can you move the affected test cases to 2.0.1?

Comment 4 by kbr@chromium.org, Oct 10 2016

Thanks for filing this bug Yunchao. I've added this Chromium bug to the spreadsheet. Previously we'd only captured this information in Radar 27231902. Let's move these tests to 2.0.1. However, we don't want to leave these disabled in the top-of-tree WebGL conformance suite for an extended period of time. Could you focus on some of the other failures for the moment and we'll figure out when to take the 2.0.0 conformance suite snapshot and disable these tests in it? Thanks.

Zhenyao & Ken, do you mean just move these failed files to 2.0.1 in webgl2_conformance_expectations.py in Chromium project? Then this simple revision will do this: https://codereview.chromium.org/2404153002/. 

Otherwise, do you mean that mark these files as 2.0.1 in KhronosGroup/WebGL project on github? Just like what we do for tests in conformance2/ (add "--min-version 2.0.1" prefix). If this is correct, How to mark a deqp test as 2.0.1? 
Per Ken's suggestion at #4, I suppose that we should not add them into skip list in KhronowGroup/WebGL project. 
The deqp/ filefolder also have 00_test_list.txt in KhronosGroup/WebGL project, so it is easy to mark tests as webgl 2.0.1 for deqp tests too. Previously, I only noticed the 00_test_list.txt in conformance/ and conformance2/ file folder in WebGL CTS... 
Project Member

Comment 8 by bugdroid1@chromium.org, Oct 11 2016

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

commit 512f0c3e52360d52e9f84fd092575a9580364fcd
Author: yunchao.he <yunchao.he@intel.com>
Date: Tue Oct 11 05:14:06 2016

Move failed tests which are related to R11F_G11F_B10F issue to WebGL 2.0.1

BUG= 654187 
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/2404153002
Cr-Commit-Position: refs/heads/master@{#424374}

[modify] https://crrev.com/512f0c3e52360d52e9f84fd092575a9580364fcd/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py

Comment 9 by kbr@chromium.org, Oct 11 2016

Yunchao: to be clear, let's just keep a list of the specific dEQP tests we want to move to 2.0.1. After the 2.0.0 snapshot is taken, we will add all of them to tcuSkipList.js. (We aren't ready to take the snapshot yet...need conformance tests for one key feature, texture sub-source uploads from HTML elements.)

Got it, Ken. Thanks for your explanation. 

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

Status: Verified (was: Assigned)
This is fixed in OSX 10.12.2 Beta (16C32f) (tested on Intel HD 6000 & Mac Retina AMD)
Project Member

Comment 12 by bugdroid1@chromium.org, Jun 8 2017

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

commit 1733d120eb79e2d8d49b18892e60ee1297f646f7
Author: zmo <zmo@chromium.org>
Date: Thu Jun 08 23:24:48 2017

Update WebGL2 conformance test expectations for Mac bots.

BUG= 598930 , 617290 , 618464 ,630800, 641149 , 643866 , 645298 , 646182 , 654187 , 663188 ,665197, 665656 , 676848 , 679682 , 679684 , 679686 , 679687 , 679689 , 679690 , 679691 , 680278 , 684903 
TEST=mac bots on GPU FYI waterfall
TBR=kbr@chromium.org,kainino@chromium.org
NOTRY=true
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

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

[modify] https://crrev.com/1733d120eb79e2d8d49b18892e60ee1297f646f7/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py

Components: -Internals>GPU>WebGL

Sign in to add a comment