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

Issue 769989 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 20
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Mac
Pri: 2
Type: Bug



Sign in to add a comment

GenerateMipmaps should generate INVALID_OPERATION in ES 2.0 / WebGL 1.0 with EXT_sRGB

Project Member Reported by zmo@chromium.org, Sep 28 2017

Issue description

The spec says so. Right now we allow it to happen, mostly because underlying drivers are capable of doing that.

Do we need to change the behavior in ANGLE also?
 

Comment 1 by kbr@chromium.org, Sep 29 2017

To clarify: this is per https://github.com/KhronosGroup/WebGL/pull/2524 , correct?

https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_sRGB.txt does require (in the issues section) that mipmap generation is disallowed.

However, the ES 3.0 spec doesn't say this, as far as I can tell. Should this bug title be "ES2/WebGL1"?

I think we should make sure that mipmap generation is diallowed with the EXT_sRGB extension and allowed in ES3.  Allowing it because most drivers do will probably bite us at some point.

Comment 3 by kbr@chromium.org, Sep 29 2017

Summary: GenerateMipmaps should generate INVALID_OPERATION in ES 2.0 / WebGL 1.0 with EXT_sRGB (was: GenerateMipmaps should generate INVALID_OPERATION in ES2/WebGL2 with EXT_sRGB)
Thanks Geoff. Updated the description.

Comment 4 by zmo@chromium.org, Oct 3 2017

I meant WebGL1.  It's a typo. Sorry about the confusion.
Project Member

Comment 5 by bugdroid1@chromium.org, Nov 14 2017

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

commit 09a81d3609c63f62d4775e087cbefdd7468da170
Author: Kenneth Russell <kbr@chromium.org>
Date: Tue Nov 14 06:54:56 2017

Roll WebGL 34842fa..12192b9

https://chromium.googlesource.com/external/khronosgroup/webgl.git/+log/34842fa..12192b9

BUG= 765469 ,  768969 ,  769989 , 772651

TEST=bots

TBR=zmo@chromium.org, kainino@chromium.org

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

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
Change-Id: I180314943cb6427b916790f5ae5bf295c87330ea
Reviewed-on: https://chromium-review.googlesource.com/764818
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#516218}
[modify] https://crrev.com/09a81d3609c63f62d4775e087cbefdd7468da170/DEPS
[modify] https://crrev.com/09a81d3609c63f62d4775e087cbefdd7468da170/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
[modify] https://crrev.com/09a81d3609c63f62d4775e087cbefdd7468da170/content/test/gpu/gpu_tests/webgl_conformance_expectations.py
[modify] https://crrev.com/09a81d3609c63f62d4775e087cbefdd7468da170/content/test/gpu/gpu_tests/webgl_conformance_revision.txt

 Issue 785003  has been merged into this issue.
Project Member

Comment 7 by bugdroid1@chromium.org, Nov 15 2017

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

commit ac8c46611a20b13558599f80aada8cdd414388f1
Author: Yuly Novikov <ynovikov@chromium.org>
Date: Wed Nov 15 00:33:36 2017

Mark WebGL conformance_extensions_ext_sRGB failing also on Android

BUG= 769989 
TBR=kbr@chromium.org

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
Change-Id: I9d58b83fa442a2bb76c14a52745d71e0d9cb60d0
Reviewed-on: https://chromium-review.googlesource.com/769732
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Cr-Commit-Position: refs/heads/master@{#516521}
[modify] https://crrev.com/ac8c46611a20b13558599f80aada8cdd414388f1/content/test/gpu/gpu_tests/webgl_conformance_expectations.py

Cc: yang...@intel.com yunchao...@intel.com
Chrome's incorrect behavior in this area has been noticed on Khronos' WebGL issue tracker:
https://github.com/KhronosGroup/WebGL/issues/2666

Yang, Yunchao, I remember a lot of time was invested in making sRGB mipmap generation work correctly. However an error needs to be generated for the combination of WebGL 1.0 + the EXT_sRGB extension. Could someone from your team pick up this bug?

Owner: yizhou.j...@intel.com
Status: Assigned (was: Available)
Yizhou, I remembered that you implemented the sRGB support for generateMipmap, So I'd like to assign this issue to you. 
Project Member

Comment 10 by bugdroid1@chromium.org, Jul 18

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

commit e2c00841a55fb1a8d6615ecf41e1b971103d971c
Author: Jiang <yizhou.jiang@intel.com>
Date: Wed Jul 18 01:55:23 2018

GenerateMipmaps should generate INVALID_OPERATION in ES 2.0 with EXT_sRGB

According to the OpenGL extension spec EXT_sRGB.txt, EXT_SRGB is based on
ES 2.0 and generateMipmap is not allowed if texture format is SRGB_EXT or
SRGB_ALPHA_EXT.

BUG= 769989 
TEST=SRGBTextureTest.SRGBValidation*
TEST=SRGBTextureTest.SRGBAValidation*

Change-Id: Ic51da224fcd318187865a44630af6fca5c3ad2de
Reviewed-on: https://chromium-review.googlesource.com/1137924
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Yizhou Jiang <yizhou.jiang@intel.com>

[modify] https://crrev.com/e2c00841a55fb1a8d6615ecf41e1b971103d971c/src/libANGLE/validationES2.cpp
[modify] https://crrev.com/e2c00841a55fb1a8d6615ecf41e1b971103d971c/src/tests/gl_tests/SRGBTextureTest.cpp

Great to see progress on this bug!

Could you please implement the same restriction in the validating command decoder so we can remove the suppression for this test?
https://cs.chromium.org/chromium/src/content/test/gpu/gpu_tests/webgl_conformance_expectations.py?type=cs&q=ext-sRGB.html&sq=package:chromium&g=0&l=96

Thanks.

Labels: OS-Android OS-Linux OS-Mac OS-Windows
Project Member

Comment 13 by bugdroid1@chromium.org, Jul 20

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

commit c212d589584d15b2835210e9344614626b1f0156
Author: Yizhou Jiang <yizhou.jiang@intel.com>
Date: Fri Jul 20 15:53:40 2018

GenerateMipmaps should generate INVALID_OPERATION in WEBGL 1.0 with EXT_sRGB

According to the OpenGL extension spec EXT_sRGB.txt, EXT_SRGB is based on
ES 2.0 and generateMipmap is not allowed if texture format is SRGB_EXT or
SRGB_ALPHA_EXT.

BUG= 769989 
TEST=conformance/extensions/ext-sRGB.html

Cq-Include-Trybots: 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
Change-Id: I6cfce971fdd86480be2505952e0a6d3e1429d222
Reviewed-on: https://chromium-review.googlesource.com/1144652
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576879}
[modify] https://crrev.com/c212d589584d15b2835210e9344614626b1f0156/content/test/gpu/gpu_tests/webgl_conformance_expectations.py
[modify] https://crrev.com/c212d589584d15b2835210e9344614626b1f0156/gpu/command_buffer/service/texture_manager.cc

Status: Fixed (was: Assigned)
Thanks Yizhou for following up and fixing this!

Sign in to add a comment