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

Issue 607283 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Oct 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug-Regression



Sign in to add a comment

conformance/extensions/oes-texture-half-float.html fails

Project Member Reported by zmo@chromium.org, Apr 27 2016

Issue description

I think it's due to the latest update of this test in this pull request:

https://github.com/KhronosGroup/WebGL/pull/1622

This exposed a bug in Chrome implementation.
 

Comment 1 by zmo@chromium.org, Apr 27 2016

Status: Available (was: Untriaged)

Comment 2 by zmo@chromium.org, Apr 27 2016

Owner: zmo@chromium.org
Status: Started (was: Available)
Project Member

Comment 3 by bugdroid1@chromium.org, Apr 28 2016

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

commit f3640b929df962d140b9314275eaa9d91dea2ac8
Author: zmo <zmo@chromium.org>
Date: Thu Apr 28 22:04:42 2016

Fix ReadPixels from float fbo buffer in ES2/WebGL1.

This CL change the default format/type from RGBA/UNSIGNED_BYTE to RGBA/FLOAT.

Also, simplify querying IMPLMENTATION_READ_COLOR_FORMAT/TYPE by
always calling down to the driver (even if the two enums are not
supported) and fall back to internal decision if a GL error is
generated.

BUG= 607283 
TEST=webgl_conformance,webgl2_conformance
R=piman@chromium.org,kbr@chromium.org,bajones@chromium.org
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel

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

[modify] https://crrev.com/f3640b929df962d140b9314275eaa9d91dea2ac8/content/test/gpu/gpu_tests/webgl_conformance_expectations.py
[modify] https://crrev.com/f3640b929df962d140b9314275eaa9d91dea2ac8/gpu/command_buffer/common/gles2_cmd_utils.cc
[modify] https://crrev.com/f3640b929df962d140b9314275eaa9d91dea2ac8/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/f3640b929df962d140b9314275eaa9d91dea2ac8/gpu/command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc
[modify] https://crrev.com/f3640b929df962d140b9314275eaa9d91dea2ac8/gpu/command_buffer/tests/gl_readback_unittest.cc
[modify] https://crrev.com/f3640b929df962d140b9314275eaa9d91dea2ac8/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
[modify] https://crrev.com/f3640b929df962d140b9314275eaa9d91dea2ac8/ui/gl/gl_implementation.cc
[modify] https://crrev.com/f3640b929df962d140b9314275eaa9d91dea2ac8/ui/gl/gl_version_info.cc
[modify] https://crrev.com/f3640b929df962d140b9314275eaa9d91dea2ac8/ui/gl/gl_version_info.h

Comment 4 by zmo@chromium.org, Apr 28 2016

Cc: zmo@chromium.org cwallez@chromium.org geoffl...@chromium.org jmad...@chromium.org
Labels: -Pri-3 Pri-2
Owner: ----
Status: Available (was: Started)
un-assign myself since the chrome side has been fixed so the test is passing on Mac/Linux.

However, ANGLE still doesn't allow ReadPixels(RGBA, FLOAT/HALF_FLOAT_OES) in ES2, so the test still fails on Windows.

Jamie, Corentin, Geoff, can one of you take a shot at fixing this?
Owner: jmad...@chromium.org
Status: Started (was: Available)
Looking..
Project Member

Comment 6 by bugdroid1@chromium.org, Apr 29 2016

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

commit 73e7b2db99c6340e221ca596bb9f85b401a84b16
Author: pasko <pasko@chromium.org>
Date: Fri Apr 29 17:27:04 2016

Revert of Fix ReadPixels from float fbo buffer in ES2/WebGL1. (patchset #2 id:20001 of https://codereview.chromium.org/1927593005/ )

Reason for revert:
Reason: crbug.com/607936

(GLReadbackTest.ReadPixelsFloat fails on "Lollipop Tablet Tester")

Original issue's description:
> Fix ReadPixels from float fbo buffer in ES2/WebGL1.
>
> This CL change the default format/type from RGBA/UNSIGNED_BYTE to RGBA/FLOAT.
>
> Also, simplify querying IMPLMENTATION_READ_COLOR_FORMAT/TYPE by
> always calling down to the driver (even if the two enums are not
> supported) and fall back to internal decision if a GL error is
> generated.
>
> BUG= 607283 
> TEST=webgl_conformance,webgl2_conformance
> R=piman@chromium.org,kbr@chromium.org,bajones@chromium.org
> CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel

TBR=bajones@chromium.org,kbr@chromium.org,piman@chromium.org,zmo@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 607283 

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

[modify] https://crrev.com/73e7b2db99c6340e221ca596bb9f85b401a84b16/content/test/gpu/gpu_tests/webgl_conformance_expectations.py
[modify] https://crrev.com/73e7b2db99c6340e221ca596bb9f85b401a84b16/gpu/command_buffer/common/gles2_cmd_utils.cc
[modify] https://crrev.com/73e7b2db99c6340e221ca596bb9f85b401a84b16/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/73e7b2db99c6340e221ca596bb9f85b401a84b16/gpu/command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc
[modify] https://crrev.com/73e7b2db99c6340e221ca596bb9f85b401a84b16/gpu/command_buffer/tests/gl_readback_unittest.cc
[modify] https://crrev.com/73e7b2db99c6340e221ca596bb9f85b401a84b16/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
[modify] https://crrev.com/73e7b2db99c6340e221ca596bb9f85b401a84b16/ui/gl/gl_implementation.cc
[modify] https://crrev.com/73e7b2db99c6340e221ca596bb9f85b401a84b16/ui/gl/gl_version_info.cc
[modify] https://crrev.com/73e7b2db99c6340e221ca596bb9f85b401a84b16/ui/gl/gl_version_info.h

Project Member

Comment 7 by bugdroid1@chromium.org, Apr 29 2016

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

commit 9192d283d15db880e62fcccdd02adda1c3ad0188
Author: zmo <zmo@chromium.org>
Date: Fri Apr 29 18:22:58 2016

[Reland] Fix ReadPixels from float fbo buffer in ES2/WebGL1.

(The original reviewed CL is https://codereview.chromium.org/1927593005/)

This CL change the default format/type from RGBA/UNSIGNED_BYTE to RGBA/FLOAT.

Also, simplify querying IMPLMENTATION_READ_COLOR_FORMAT/TYPE by
always calling down to the driver (even if the two enums are not
supported) and fall back to internal decision if a GL error is
generated.

BUG= 607283 ,607936
TEST=webgl_conformance,webgl2_conformance
R=piman@chromium.org,kbr@chromium.org,bajones@chromium.org
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel
NOTRY=true
TBR=kbr@chromium.org,piman@chromium.org

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

[modify] https://crrev.com/9192d283d15db880e62fcccdd02adda1c3ad0188/content/test/gpu/gpu_tests/webgl_conformance_expectations.py
[modify] https://crrev.com/9192d283d15db880e62fcccdd02adda1c3ad0188/gpu/command_buffer/common/gles2_cmd_utils.cc
[modify] https://crrev.com/9192d283d15db880e62fcccdd02adda1c3ad0188/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/9192d283d15db880e62fcccdd02adda1c3ad0188/gpu/command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc
[modify] https://crrev.com/9192d283d15db880e62fcccdd02adda1c3ad0188/gpu/command_buffer/tests/gl_readback_unittest.cc
[modify] https://crrev.com/9192d283d15db880e62fcccdd02adda1c3ad0188/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
[modify] https://crrev.com/9192d283d15db880e62fcccdd02adda1c3ad0188/ui/gl/gl_implementation.cc
[modify] https://crrev.com/9192d283d15db880e62fcccdd02adda1c3ad0188/ui/gl/gl_version_info.cc
[modify] https://crrev.com/9192d283d15db880e62fcccdd02adda1c3ad0188/ui/gl/gl_version_info.h

Comment 8 by zmo@chromium.org, Apr 29 2016

Cc: fsam...@chromium.org ccameron@chromium.org dyen@chromium.org
 Issue 607816  has been merged into this issue.
Project Member

Comment 9 by bugdroid1@chromium.org, Apr 29 2016

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

commit d6daaffc95994a691be928c20b680d6aaf45c030
Author: zmo <zmo@chromium.org>
Date: Fri Apr 29 20:01:53 2016

Mark conformance/extensions/oes-texture-half-float.html on Linux / ANGLE.

BUG= 607283 
TEST=linux gpu bots
TBR=jmadill@chromium.org
NOTRY=true
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel

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

[modify] https://crrev.com/d6daaffc95994a691be928c20b680d6aaf45c030/content/test/gpu/gpu_tests/webgl_conformance_expectations.py

Owner: geoffl...@chromium.org
Geoff has actually snagged this from me.

Comment 11 by kbr@chromium.org, Sep 19 2016

Labels: -Type-Bug -Pri-2 Pri-1 Type-Bug-Regression
Geoff, could you prioritize fixing this? Customers are running into it. Thanks.

Comment 12 by kbr@chromium.org, Sep 19 2016

 Issue 648007  has been merged into this issue.
Project Member

Comment 13 by bugdroid1@chromium.org, Sep 22 2016

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

commit f607c60a1e14d1519ad5055680a80be027db7a46
Author: Geoff Lang <geofflang@chromium.org>
Date: Wed Sep 21 15:46:48 2016

Fix validation of ReadPixels format and type.

The validation for ReadPixels allows for two combations of format/type:
  1. Based on the current framebuffer's component type.
    * GL_RGBA/GL_UNSIGNED_BYTE if the framebuffer is a normalized (signed
      or unsigned).
    * GL_RGBA_INTEGER/GL_INTEGER if the framebuffer is an
      integer format.
    * GL_RGBA_INTEGER/GL_UNSIGNED_INTEGER if the framebuffer is an
      unsigned integer format.
    * GL_RGBA/GL_FLOAT if the framebuffer is any type of float
      framebuffer (added in EXT_color_buffer_float).
    * These combations are detailed in the ES2 spec on pg 105 or ES3 on pg
      193.
  2. The implementation read format/type returned from glGetIntegerv.
    * These formats are added by specs, OES_texture_float, EXT_texture_rg,
      EXT_read_format_bgra, etc.

Update the GL and D3D backends to perform the conversion from GL_HALF_FLOAT
to GL_HALF_FLOAT_OES.

Continue allowing reading as BGRA_EXT to support Skia.  Should be removed in
the future.

BUG= 607283 
BUG= angleproject:1478 

Change-Id: I0312cad4d5f138ab036f383d221f8ccd19a77f6d
Reviewed-on: https://chromium-review.googlesource.com/346232
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>

[modify] https://crrev.com/f607c60a1e14d1519ad5055680a80be027db7a46/src/libANGLE/validationES3.h
[modify] https://crrev.com/f607c60a1e14d1519ad5055680a80be027db7a46/src/libANGLE/renderer/d3d/FramebufferD3D.cpp
[modify] https://crrev.com/f607c60a1e14d1519ad5055680a80be027db7a46/src/tests/test_utils/ANGLETest.h
[modify] https://crrev.com/f607c60a1e14d1519ad5055680a80be027db7a46/src/libANGLE/validationES2.h
[modify] https://crrev.com/f607c60a1e14d1519ad5055680a80be027db7a46/src/libANGLE/formatutils.h
[modify] https://crrev.com/f607c60a1e14d1519ad5055680a80be027db7a46/src/tests/test_utils/ANGLETest.cpp
[modify] https://crrev.com/f607c60a1e14d1519ad5055680a80be027db7a46/src/libANGLE/renderer/gl/formatutilsgl.h
[modify] https://crrev.com/f607c60a1e14d1519ad5055680a80be027db7a46/src/libANGLE/validationES3.cpp
[modify] https://crrev.com/f607c60a1e14d1519ad5055680a80be027db7a46/src/libANGLE/formatutils.cpp
[modify] https://crrev.com/f607c60a1e14d1519ad5055680a80be027db7a46/src/libANGLE/renderer/gl/formatutilsgl.cpp
[modify] https://crrev.com/f607c60a1e14d1519ad5055680a80be027db7a46/src/libANGLE/renderer/gl/FramebufferGL.cpp
[modify] https://crrev.com/f607c60a1e14d1519ad5055680a80be027db7a46/src/tests/gl_tests/BlendMinMaxTest.cpp
[modify] https://crrev.com/f607c60a1e14d1519ad5055680a80be027db7a46/src/libANGLE/validationES2.cpp
[modify] https://crrev.com/f607c60a1e14d1519ad5055680a80be027db7a46/src/tests/gl_tests/TextureTest.cpp
[modify] https://crrev.com/f607c60a1e14d1519ad5055680a80be027db7a46/src/libANGLE/validationES.cpp

Project Member

Comment 14 by bugdroid1@chromium.org, Sep 23 2016

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

commit 86dc7effdd78ad7aacdaf3af7fb8eb7e380e9f64
Author: cwallez <cwallez@chromium.org>
Date: Fri Sep 23 21:21:19 2016

Roll ANGLE c287ea6..28a97ee

https://chromium.googlesource.com/angle/angle.git/+log/c287ea6..28a97ee

BUG= chromium:648031 , chromium:648135 , 648063 , 607283 , 645532 , chromium:648074 

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

Merge branch 'master' of https://chromium.googlesource.com/chromium/src

fuzzers: add a fuzzer for the ANGLE shader translator

BUG= angleproject:1522 

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

[modify] https://crrev.com/86dc7effdd78ad7aacdaf3af7fb8eb7e380e9f64/DEPS

Labels: M-55
geofflang@ is this issue fixed by the above change?
Components: Internals>GPU>ANGLE
Issue is fixed in ANGLE and rolled into chrome.  I just need to update the test expectations.
Status: Fixed (was: Started)
Project Member

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

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

commit 2d1b397c9a057651edbd3ef70266cb0727671baa
Author: geofflang <geofflang@chromium.org>
Date: Wed Sep 28 19:56:10 2016

ReadPixels with GL_HALF_FLOAT_OES when targetting all versions of ES.

BUG= 607283 
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/2374123002
Cr-Commit-Position: refs/heads/master@{#421614}

[modify] https://crrev.com/2d1b397c9a057651edbd3ef70266cb0727671baa/content/test/gpu/gpu_tests/webgl_conformance_expectations.py
[modify] https://crrev.com/2d1b397c9a057651edbd3ef70266cb0727671baa/gpu/command_buffer/service/gles2_cmd_decoder.cc

Comment 20 by kbr@chromium.org, Sep 28 2016

Geoff: there were a couple of flaky tryserver failures related to this test and ANGLE's GL backend here:

https://build.chromium.org/p/tryserver.chromium.win/builders/win_optional_gpu_tests_rel/builds/4071
https://build.chromium.org/p/tryserver.chromium.win/builders/win_optional_gpu_tests_rel/builds/4066

Could you take a quick look and verify these weren't related to your change? Thanks.

At the very least, lifting the suppression has caused them to show up ask flakes.  Going to revert and look into it tomorrow.
Status: Started (was: Fixed)
Project Member

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

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

commit fc240d705399238dbf29e20ff34735b81cc51cb5
Author: geofflang <geofflang@chromium.org>
Date: Wed Sep 28 22:28:01 2016

Revert of ReadPixels with GL_HALF_FLOAT_OES when targetting all versions of ES. (patchset #1 id:1 of https://codereview.chromium.org/2374123002/ )

Reason for revert:
Flaky results in WebglConformance_conformance_extensions_oes_texture_half_float on win_optional_gpu_tests_rel.

Original issue's description:
> ReadPixels with GL_HALF_FLOAT_OES when targetting all versions of ES.
>
> BUG= 607283 
> 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
>
> Committed: https://crrev.com/2d1b397c9a057651edbd3ef70266cb0727671baa
> Cr-Commit-Position: refs/heads/master@{#421614}

TBR=zmo@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 607283 

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

[modify] https://crrev.com/fc240d705399238dbf29e20ff34735b81cc51cb5/content/test/gpu/gpu_tests/webgl_conformance_expectations.py
[modify] https://crrev.com/fc240d705399238dbf29e20ff34735b81cc51cb5/gpu/command_buffer/service/gles2_cmd_decoder.cc

Derp, those "flaky" bot runs were actually my tryjobs for this patch as I was testing the status of the WebGL failure suppression.  Relanding.
Project Member

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

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

commit 860001120ed3a441f827f8a9850391903ddfaf0a
Author: geofflang <geofflang@chromium.org>
Date: Thu Sep 29 15:39:34 2016

ReadPixels with GL_HALF_FLOAT_OES when targetting all versions of ES.

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

Committed: https://crrev.com/2d1b397c9a057651edbd3ef70266cb0727671baa
Review-Url: https://codereview.chromium.org/2374123002
Cr-Original-Commit-Position: refs/heads/master@{#421614}
Cr-Commit-Position: refs/heads/master@{#421828}

[modify] https://crrev.com/860001120ed3a441f827f8a9850391903ddfaf0a/content/test/gpu/gpu_tests/webgl_conformance_expectations.py
[modify] https://crrev.com/860001120ed3a441f827f8a9850391903ddfaf0a/gpu/command_buffer/service/gles2_cmd_decoder.cc

Status: Fixed (was: Started)

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

Thanks Geoff for driving this to completion and sorry for the false alarm about the flaky failures earlier.

Sign in to add a comment