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

Issue 656889 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 656668
issue 663280



Sign in to add a comment

Verify unsized floating-point texture formats are disallowed in WebGL 2.0

Project Member Reported by kbr@chromium.org, Oct 18 2016

Issue description

In this Twitter conversation:
https://twitter.com/alteredq/status/786830991390339072

AlteredQualia indicates that uploading floating-point textures with unsized internal formats is working in Chrome. While the OES_texture_float extension might have enabled this in WebGL 1.0, floating-point textures aren't covered in Table 3.3, p. 113, of the ES 3.0.4 specification -- which defines the unsized internal formats that are supported for legacy reasons. Therefore such uploads should be forbidden. This behavior should be verified and a conformance test written if one doesn't exist already.

 
Thanks for filing this Ken.

Here is a test case (check JS console for the report):

http://alteredqualia.com/tmp/webgl2-tests/webg2_unsized_formats.html

Seems it's only FLOAT formats which have this issue (unsized internal formats pass through), HALF_FLOAT ones are ok (unsized internal formats generate errors).

Firefox Nightly handles this as expected by the specs.

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

Blocking: 656668
I added a conformance test to catch this issue: https://github.com/KhronosGroup/WebGL/pull/2104. 

For the bug in chromium, I think it's because FormatTypeValidator::kSupportedFormatTypes in gpu/command_buffer/service/texture_manager.cc, isn't generated dynamically according context and supported extensions. What do you think, @ken and @zmo?

Comment 4 by zmo@chromium.org, Oct 19 2016

I don't think we need to be dynamic. We just need to separate into WebGL1/ES2 and WebGL2/ES3.
Owner: qiankun....@intel.com
Status: Assigned (was: Untriaged)
Project Member

Comment 6 by bugdroid1@chromium.org, Oct 22 2016

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

commit cbfc4c03778222af7960fc5a7e7cdf1e9348282d
Author: zmo <zmo@chromium.org>
Date: Sat Oct 22 00:52:27 2016

Roll WebGL b1aed3a..b973c09

https://chromium.googlesource.com/external/khronosgroup/webgl.git/+log/b1aed3a..b973c09

BUG= 656889 
TEST=bots
NOTRY=true
TBR=kbr@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

Review-Url: https://chromiumcodereview.appspot.com/2433323007
Cr-Commit-Position: refs/heads/master@{#426937}

[modify] https://crrev.com/cbfc4c03778222af7960fc5a7e7cdf1e9348282d/DEPS
[modify] https://crrev.com/cbfc4c03778222af7960fc5a7e7cdf1e9348282d/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py

Project Member

Comment 7 by bugdroid1@chromium.org, Nov 8 2016

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

commit d74e48c456ec3334eaed3b45ca7bad5c7c681f24
Author: kainino <kainino@chromium.org>
Date: Mon Nov 07 23:57:19 2016

fix conformance2/textures/misc/tex-image-with-bad-args.html

BUG= 656889 
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/2477673005
Cr-Commit-Position: refs/heads/master@{#430428}

[modify] https://crrev.com/d74e48c456ec3334eaed3b45ca7bad5c7c681f24/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
[modify] https://crrev.com/d74e48c456ec3334eaed3b45ca7bad5c7c681f24/gpu/command_buffer/service/gles2_cmd_decoder_unittest_textures.cc
[modify] https://crrev.com/d74e48c456ec3334eaed3b45ca7bad5c7c681f24/gpu/command_buffer/service/texture_manager.cc

Owner: kainino@chromium.org
Status: Fixed (was: Assigned)
I ended up fixing this without realizing it was being worked on. Thanks qiankun for your work on it, sorry for the collision!
Blocking: 663280

Sign in to add a comment