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

Issue 629042 link

Starred by 2 users

Issue metadata

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

Blocking:
issue 429053



Sign in to add a comment

conformance2/reading/read-pixels-from-fbo-test.html failed on mesa+i965

Project Member Reported by xinghua....@intel.com, Jul 18 2016

Issue description

<b>Version: <Kenneth, what is the frequency?></b>
OS: Ubuntu 16.04

What steps will reproduce the problem?
(1) run conformance2/reading/read-pixels-from-fbo-test.html on mesa+i965

What is the expected output?
PASS

What do you see instead?
Failed
reported that,
ReadPixels from fbo with texture = (RGB565, RGB, UNSIGNED_BYTE), format = RGBA, type = UNSIGNED_BYTE
PASS getError was expected value: NO_ERROR : Setting up fbo should generate no error
PASS getError was expected value: NO_ERROR : Clear color should generate no error
PASS getError was expected value: NO_ERROR : readPixels should generate no error
PASS Color read back as expected
Testing implementation dependent color read format = , type = 
FAIL Invalid IMPLEMENTATION_COLOR_READ_FORMAT = 32992

ReadPixels from fbo with texture = (RGB565, RGB, UNSIGNED_SHORT_5_6_5), format = RGBA, type = UNSIGNED_BYTE
PASS getError was expected value: NO_ERROR : Setting up fbo should generate no error
PASS getError was expected value: NO_ERROR : Clear color should generate no error
PASS getError was expected value: NO_ERROR : readPixels should generate no error
PASS Color read back as expected
Testing implementation dependent color read format = , type = 
FAIL Invalid IMPLEMENTATION_COLOR_READ_FORMAT = 32992

Please use labels and text to provide additional information.


 
Cc: kbr@chromium.org zmo@chromium.org qiankun....@intel.com yunchao...@intel.com
In these cases, called
gl.getParameter(gl.IMPLEMENTATION_COLOR_READ_FORMAT) 
gl.getParameter(gl.IMPLEMENTATION_COLOR_READ_TYPE)
return GL_BGR and GL_UNSIGNED_SHORT_5_6_5_REV respectively, OpenGL ES does not supported the format and type, but OpenGL does.
I think there  is not error for underlying driver. The problem is that chromium can not deal with these format and type. Do you think it is right?

Comment 2 by zmo@chromium.org, Jul 18 2016

Blocking: 429053
Cc: cwallez@chromium.org geoffl...@chromium.org jmad...@chromium.org
Components: Internals>GPU>WebGL
Labels: -OS-Linux -Pri-3 OS-All Pri-2
Status: Assigned (was: Untriaged)
Right. Chrome (and in the future ANGLE) has to deal with this.
@zhenyao. Do we need to deal with this issue now, or do it in the feature? Maybe need to translate these OpenGL format and type to related ones for OpenGL ES in command buffer?

Comment 4 by zmo@chromium.org, Jul 18 2016

We should deal with this now, i.e., in command buffer, validate of the returned READ_FORMAT and READ_TYPE are valid ES enums.  If not and if it's Desktop GL, we can just pick another pair, depending on if it's float/int/uint.  For this case, we can probably just pick GL_RGB, GL_UNSIGNED_BYTE.
Thank you, I still have a question. Because GL_BGR is only defined in OpenGL header file. And it seems that command buffer cannot include this header file, is that right? If the condition is "if (READ_FORMAT == GL_BGR)", does it need to define faked format enums for "GL_BGR"? Where define it? 

Comment 6 by zmo@chromium.org, Jul 18 2016

You should not write a hack for this specific format.  Instead, you should list all legal formats/types, and anything else will trigger the codepath to manually select a new formats/types (we should already have a function for that)
Project Member

Comment 7 by bugdroid1@chromium.org, Jul 20 2016

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

commit b1d177b84632df05a83e4c3edd340171f4e16324
Author: xinghua.cao <xinghua.cao@intel.com>
Date: Wed Jul 20 14:05:20 2016

deal with invalid readpixel format and type

BUG= 629042 
TESTCASE=conformance2/reading/read-pixels-from-fbo-test.html on mesa+i965 platform
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/2158283002
Cr-Commit-Position: refs/heads/master@{#406547}

[modify] https://crrev.com/b1d177b84632df05a83e4c3edd340171f4e16324/gpu/command_buffer/service/gles2_cmd_decoder.cc

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

Status: Fixed (was: Assigned)
Assume this is fixed?
Components: -Internals>GPU>WebGL Blink>WebGL
Project Member

Comment 10 by bugdroid1@chromium.org, Aug 25 2017

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

commit 65593f235472b992e2dfdd8da1cf28d7da54e256
Author: Andrew Grieve <agrieve@chromium.org>
Date: Fri Aug 25 19:35:28 2017

Android: Make unstripped libs runtime_deps instead.

This will pave the way to have our .isolate files include
unstripped libs for symbolization purposes.

Bug:  629042 
Change-Id: I1889e331a4801794e5027f6ddf295a0435561d62
Reviewed-on: https://chromium-review.googlesource.com/633746
Reviewed-by: John Budorick <jbudorick@chromium.org>
Commit-Queue: Andrew Grieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/master@{#497494}
[modify] https://crrev.com/65593f235472b992e2dfdd8da1cf28d7da54e256/build/android/gyp/write_build_config.py
[modify] https://crrev.com/65593f235472b992e2dfdd8da1cf28d7da54e256/build/toolchain/android/BUILD.gn
[modify] https://crrev.com/65593f235472b992e2dfdd8da1cf28d7da54e256/build/toolchain/gcc_toolchain.gni

Sign in to add a comment