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

Issue 659122 link

Starred by 1 user

Issue metadata

Status: Verified
Owner: ----
Closed: Feb 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

Bug in glReadPixels from fbo which attaches a renderbuffer with rgb5_a1/rgb565 format

Project Member Reported by jiajia....@intel.com, Oct 25 2016

Issue description

UserAgent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36

Steps to reproduce the problem:

On macOS machines with Intel GPUs, when the framebuffer attaches a renderbuffer with rgb5_a1 or rgb565 format, there is following issue: 
If we clear the fbo with some color(for example: (0.9, 0.3, 0.4, 1.0)), the result of read pixel to client memory is different with result of read pixel to GL_PACK_BUFFER. The different point happens at some component of a pixel and the difference is about 0.0039 (0.0039215686274509665, 0, 0, 0). Seems that the precision has problem. However, this bug only happens on some colors not all colors. For example, color value(0.5, 0.3, 0.4, 1.0) can have the same result between reading to memory and reading to pixel buffer. This bug causes failures of pixelbufferobject.html's tests in the WebGL 2.0 conformance suite.

This bug does not occur on other GPU types on macOS, nor on other operating systems.

Steps to reproduce

1. Download Chrome Canary and run from the Terminal:
/Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ Canary --enable-unsafe-es3-apis

2. Check out the KhronosGroup/WebGL repository:
git clone https://github.com/KhronosGroup/WebGL.git

3. Launch an HTTP server against that repository:
cd WebGL
python -m SimpleHTTPServer

4. Navigate the browser to the test cases:
http://localhost:8000/sdk/tests/deqp/functional/gles3/pixelbufferobject.html?webglVersion=2&quiet=0
This test is also available online at:
https://www.khronos.org/registry/webgl/sdk/tests/deqp/functional/gles3/pixelbufferobject.html?webglVersion=2&quiet=0

What is the expected behavior?
Expect all tests to pass, as they do on other operating systems and on other GPU types on macOS.

What went wrong?
The test cases with format rgb5_a1/rgb565 fail.

Did this work before? N/A 

Does this work in other browsers? N/A

Chrome version: 55.0.2868.0  Channel: n/a
OS Version: 10.12
Flash Version: 

OS X Build/Version:
macOS Sierra version 10.12
GOOD MacBook Pro-Mid 2015-Intel Iris Pro Graphics 5200
BAD MacBook-Early2016-Intel HD Graphics 515
 
Cc: kbr@chromium.org zmo@chromium.org
Components: Internals>GPU>WebGL Blink>WebGL
->zmo/kbr to triage

Comment 2 by zmo@chromium.org, Oct 25 2016

Cc: yang...@intel.com qiankun....@intel.com yunchao...@intel.com
Status: Available (was: Unconfirmed)
This is a driver bug. It's filed for book keeping purpose for Chrome, but I think we already filed an Apple radar.

Comment 3 by kbr@chromium.org, Oct 25 2016

Status: ExternalDependency (was: Available)
Filed as Radar 28940231.

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

Labels: GPU-Intel
Status: Fixed (was: ExternalDependency)
Fixed by 10.12.4 beta2(16E154a).

Comment 6 by zmo@chromium.org, Mar 8 2017

Status: Verified (was: Fixed)
Components: -Internals>GPU>WebGL

Sign in to add a comment