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

Issue 654787 link

Starred by 1 user

Issue metadata

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

Blocking:
issue 429053



Sign in to add a comment

Audit ES3 commands for full validation and move them out of the "unsafe" mode

Project Member Reported by zmo@chromium.org, Oct 11 2016

Issue description

Basically if a command is fully validated, it should no longer be called "unsafe".  Instead, it should be guarded by if the context is ES3.  If it's ES2 and there is no extension to enable the command, we should return InvalidCommand.
 
Cc: yang...@intel.com
Owner: yunchao...@intel.com
Status: Assigned (was: Available)
I will take a look at this one.
Status: Started (was: Assigned)
We still need a tag like es3api to replace 'unsafe' in gpu/command_buffer/build_gles2_cmd_buffer.py (In this file, we have a 'unsafe' tag for all es3 apis). Because it is not valid to call into es3 api when the caller is in WebGL1 or GLES2 context. 

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

Labels: -Pri-2 Pri-1
Owner: kainino@chromium.org
Yunchao: thanks for your willingness to work on this but at this point it's an urgent release blocker so Kai is going to take it.

That's OK, Ken. I have investigated this issue these days, so I would like to summarize what we need to do for this issue: 
1.	Remove ‘unsafe’ tag in gpu/command_buffer/build_gles2_cmd_buffer.py, but we still need to use a tag like “es3api” to distinguish es3 api from es2 api. Then re-generate all auto-gen files. 
2.	Remove command line option –enable-unsafe-es3-apis from src/content/ and src/gpu/, see the original changes which add the command line option: https://crrev.com/894143002, https://crrev.com/911243002/, https://crrev.com/1571913002 , https://crrev.com/1753383003/
3.	Workaround or fix the bug for gpu_unittests when es3 api is enabled by default. Once the command line option –enable-unsafe-es3-apis is removed, lots of gpu_unittests will fail. You can reproduce the bug by running gpu_unittests with –enable-unsafe-es3-apis command line option before it is removed. In addition, you can see a similar workaround at https://crrev.com/2291753002/ through IsES3Capable(). 
4.	Remove the command line switch --enable-unsafe-es3-api in gpu-unittests and use appropriate context (For example, use ES3 context type). Some gpu_unittests added this cmd line option to test es3 api. 
5.	Remove the command line switch --enable-unsafe-es3-api from the gpu harness test in content/gpu/gpu_tests/, for example, these patches introduced the command line option: https://crrev.com/1385323002/ , https://crrev.com/2375323002/  , https://crrev.com/2363343002/. 
6.	Consider to expose es3 api to some other components like pepper3d api, etc. 

I have upload my local patch to Chromium code review, feel free to pick up the code at https://codereview.chromium.org/2444813002/. 

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

Thanks Yunchao for your detailed writeup and suggested patch set https://codereview.chromium.org/2444813002/ . We'll look carefully at it. Appreciate your continued help on these projects and sorry for stepping on your toes.

Ken, no problem. BTW, I will continue to investigate this issue. But if you think that the progress is slow, please feel free to assign it to anyone at your side and pick up my code or just start this issue from scratch at any time. I am OK, :).  

some more sub-tasks about this issue except I listed at #4: 
7) remove UnsafeES3APIs from ui/gpu/ and try to create ES3 context by default.  
8) remove UnsafeES3APIs runtime flag from Blink WebGL, see the change at https://codereview.chromium.org/2451943002/
Project Member

Comment 7 by bugdroid1@chromium.org, Oct 26 2016

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

commit 98447294ad99e7e5a1a83a1ee88d4b9086af9837
Author: kainino <kainino@chromium.org>
Date: Wed Oct 26 23:16:28 2016

command buffer: remove "unsafe" from autogenerated ES3 apis; cleanly separate ES3 tests

BUG= 654787 
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/2445323006
Cr-Commit-Position: refs/heads/master@{#427868}

[modify] https://crrev.com/98447294ad99e7e5a1a83a1ee88d4b9086af9837/gpu/command_buffer/build_gles2_cmd_buffer.py
[modify] https://crrev.com/98447294ad99e7e5a1a83a1ee88d4b9086af9837/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
[modify] https://crrev.com/98447294ad99e7e5a1a83a1ee88d4b9086af9837/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
[modify] https://crrev.com/98447294ad99e7e5a1a83a1ee88d4b9086af9837/gpu/command_buffer/service/gles2_cmd_decoder_unittest.h
[modify] https://crrev.com/98447294ad99e7e5a1a83a1ee88d4b9086af9837/gpu/command_buffer/service/gles2_cmd_decoder_unittest_1.cc
[modify] https://crrev.com/98447294ad99e7e5a1a83a1ee88d4b9086af9837/gpu/command_buffer/service/gles2_cmd_decoder_unittest_1_autogen.h
[modify] https://crrev.com/98447294ad99e7e5a1a83a1ee88d4b9086af9837/gpu/command_buffer/service/gles2_cmd_decoder_unittest_2.cc
[modify] https://crrev.com/98447294ad99e7e5a1a83a1ee88d4b9086af9837/gpu/command_buffer/service/gles2_cmd_decoder_unittest_2_autogen.h
[modify] https://crrev.com/98447294ad99e7e5a1a83a1ee88d4b9086af9837/gpu/command_buffer/service/gles2_cmd_decoder_unittest_3.cc
[modify] https://crrev.com/98447294ad99e7e5a1a83a1ee88d4b9086af9837/gpu/command_buffer/service/gles2_cmd_decoder_unittest_3_autogen.h
[modify] https://crrev.com/98447294ad99e7e5a1a83a1ee88d4b9086af9837/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc
[modify] https://crrev.com/98447294ad99e7e5a1a83a1ee88d4b9086af9837/gpu/command_buffer/service/gles2_cmd_decoder_unittest_programs.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Oct 28 2016

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

commit 58dd74648c572ceaf28175b2a2802d3c50a9b316
Author: yunchao.he <yunchao.he@intel.com>
Date: Fri Oct 28 02:23:17 2016

Remove runtime flag 'UnsafeES3APIs' from blink webgl.

This is the first step to remove unsafe mode and enable
ES3 APIs for WebGL2 and ES3 context by default.
Command line option "--enable-unsafe-es3-apis" would be
unnecessary and removed afterwards.

Intent to implement:
https://www.chromestatus.com/features/6694359164518400

Launch bug:
http://crbug.com/641635
(Note that this is not the launch CL -- it's still not possible to create a WebGL 2.0 context without the flag)

BUG= 654787 , 641635
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel

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

[modify] https://crrev.com/58dd74648c572ceaf28175b2a2802d3c50a9b316/content/child/runtime_features.cc
[modify] https://crrev.com/58dd74648c572ceaf28175b2a2802d3c50a9b316/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/58dd74648c572ceaf28175b2a2802d3c50a9b316/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/58dd74648c572ceaf28175b2a2802d3c50a9b316/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContext.cpp
[modify] https://crrev.com/58dd74648c572ceaf28175b2a2802d3c50a9b316/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContext.idl
[modify] https://crrev.com/58dd74648c572ceaf28175b2a2802d3c50a9b316/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl
[modify] https://crrev.com/58dd74648c572ceaf28175b2a2802d3c50a9b316/third_party/WebKit/Source/modules/webgl/WebGLQuery.idl
[modify] https://crrev.com/58dd74648c572ceaf28175b2a2802d3c50a9b316/third_party/WebKit/Source/modules/webgl/WebGLSampler.idl
[modify] https://crrev.com/58dd74648c572ceaf28175b2a2802d3c50a9b316/third_party/WebKit/Source/modules/webgl/WebGLSync.idl
[modify] https://crrev.com/58dd74648c572ceaf28175b2a2802d3c50a9b316/third_party/WebKit/Source/modules/webgl/WebGLTransformFeedback.idl
[modify] https://crrev.com/58dd74648c572ceaf28175b2a2802d3c50a9b316/third_party/WebKit/Source/modules/webgl/WebGLVertexArrayObject.idl
[modify] https://crrev.com/58dd74648c572ceaf28175b2a2802d3c50a9b316/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in
[modify] https://crrev.com/58dd74648c572ceaf28175b2a2802d3c50a9b316/third_party/WebKit/Source/web/WebRuntimeFeatures.cpp
[modify] https://crrev.com/58dd74648c572ceaf28175b2a2802d3c50a9b316/third_party/WebKit/public/web/WebRuntimeFeatures.h

Project Member

Comment 9 by bugdroid1@chromium.org, Oct 28 2016

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

commit 6e51299d296d504fb450dcdbb1814427cd62248f
Author: kainino <kainino@chromium.org>
Date: Fri Oct 28 21:34:10 2016

command buffer: audit validation of ES3 commands (part 1)

Audit the validation (safety) of the first few ES3 command buffer commands - and switch the gating from 'unsafe_es3_apis_enabled()' to 'feature_info_->IsWebGL2OrES3Context' on newly audited commands.

BUG= 654787 
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/2458523005
Cr-Commit-Position: refs/heads/master@{#428499}

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

Project Member

Comment 10 by bugdroid1@chromium.org, Oct 28 2016

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

commit 7141360bbdadb8e29229f2b785a533abce6795c0
Author: kainino <kainino@chromium.org>
Date: Fri Oct 28 22:39:30 2016

command buffer: audit validation of ES3 commands (part 2)

Add some validation, and switch the gating from 'unsafe_es3_apis_enabled()' to
'feature_info_->IsWebGL2OrES3Context' on the newly audited commands.

BUG= 654787 
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/2461023002
Cr-Commit-Position: refs/heads/master@{#428528}

[modify] https://crrev.com/7141360bbdadb8e29229f2b785a533abce6795c0/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/7141360bbdadb8e29229f2b785a533abce6795c0/gpu/command_buffer/service/gles2_cmd_decoder_unittest_programs.cc

Blockedon: 660824
Zhenyao and Kai, as you are manually checking the validation code for every ES3 APIs. I want to take another sub-task. I have been aware of this task for a long time, but have no time to do it. I think it is time to do it.

The sub-task is: check all undefined behaviors in ES3 spec, make sure we have clearly defined the corresponding behavior in WebGL2 spec, and update the Chromium code if necessary, as well as update WebGL Spec/CTS if necessary.

Comment 13 by zmo@chromium.org, Oct 31 2016

yunchao: sounds good.  I did a rough round on that and have already closed a bunch of holes. The one thing I didn't implement is the one you try to address right now, the texture rendering/sampling feedback loop (due to MRT). The reason was it requires some optimization because we don't want to add heavy-weighted validation in per draw call. I am sure I might miss more stuff, so a second pair of eyes definitely sound good.
Project Member

Comment 14 by bugdroid1@chromium.org, Nov 1 2016

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

commit c2ba95c8151deb3fcb1690e44c71c038af0a3627
Author: rouslan <rouslan@chromium.org>
Date: Tue Nov 01 14:28:32 2016

Revert of command buffer: audit validation of ES3 commands (part 1) (patchset #2 id:20001 of https://codereview.chromium.org/2458523005/ )

Reason for revert:
Speculative revert for interacitve_ui_test flakes on mac.

First failed build:
https://build.chromium.org/p/chromium.mac/builders/Mac10.10%20Tests/builds/8412

Original issue's description:
> command buffer: audit validation of ES3 commands (part 1)
>
> Audit the validation (safety) of the first few ES3 command buffer commands - and switch the gating from 'unsafe_es3_apis_enabled()' to 'feature_info_->IsWebGL2OrES3Context' on newly audited commands.
>
> BUG= 654787 
> 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
>
> Committed: https://crrev.com/6e51299d296d504fb450dcdbb1814427cd62248f
> Cr-Commit-Position: refs/heads/master@{#428499}

TBR=zmo@chromium.org,kainino@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG= 654787 

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

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

Project Member

Comment 15 by bugdroid1@chromium.org, Nov 1 2016

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

commit bde232fe70fe8c2e0943ed05c31210d70b4cd8de
Author: rouslan <rouslan@chromium.org>
Date: Tue Nov 01 17:09:24 2016

Reland of command buffer: audit validation of ES3 commands (part 1) (patchset #1 id:1 of https://codereview.chromium.org/2470663003/ )

Reason for revert:
The revert did not fix the interacitve_ui_test flake.

Failed build after the revert:
https://build.chromium.org/p/chromium.mac/builders/Mac10.10%20Tests/builds/8542

Original issue's description:
> Revert of command buffer: audit validation of ES3 commands (part 1) (patchset #2 id:20001 of https://codereview.chromium.org/2458523005/ )
>
> Reason for revert:
> Speculative revert for interacitve_ui_test flakes on mac.
>
> First failed build:
> https://build.chromium.org/p/chromium.mac/builders/Mac10.10%20Tests/builds/8412
>
> Original issue's description:
> > command buffer: audit validation of ES3 commands (part 1)
> >
> > Audit the validation (safety) of the first few ES3 command buffer commands - and switch the gating from 'unsafe_es3_apis_enabled()' to 'feature_info_->IsWebGL2OrES3Context' on newly audited commands.
> >
> > BUG= 654787 
> > 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
> >
> > Committed: https://crrev.com/6e51299d296d504fb450dcdbb1814427cd62248f
> > Cr-Commit-Position: refs/heads/master@{#428499}
>
> TBR=zmo@chromium.org,kainino@chromium.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG= 654787 
>
> Committed: https://crrev.com/c2ba95c8151deb3fcb1690e44c71c038af0a3627
> Cr-Commit-Position: refs/heads/master@{#428999}

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

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

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

Project Member

Comment 16 by bugdroid1@chromium.org, Nov 1 2016

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

commit 11c1b392ed36430a40e36a1886e6c672137e468c
Author: kainino <kainino@chromium.org>
Date: Tue Nov 01 18:31:06 2016

command buffer: audit validation of ES3 commands (part 3)

Add some validation, and switch the gating from 'unsafe_es3_apis_enabled()' to
'feature_info_->IsWebGL2OrES3Context()' on the newly audited commands.

BUG= 654787 
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/2470623002
Cr-Commit-Position: refs/heads/master@{#429059}

[modify] https://crrev.com/11c1b392ed36430a40e36a1886e6c672137e468c/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/11c1b392ed36430a40e36a1886e6c672137e468c/gpu/command_buffer/service/gles2_cmd_decoder_unittest_programs.cc

Project Member

Comment 17 by bugdroid1@chromium.org, Nov 1 2016

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

commit 9924d1a82210f09efd8ea904685cecb9308c9d00
Author: kainino <kainino@chromium.org>
Date: Tue Nov 01 21:35:21 2016

command buffer: tweak error messages for a few more ES3 commands

BUG= 654787 
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/2466763002
Cr-Commit-Position: refs/heads/master@{#429119}

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

Project Member

Comment 18 by bugdroid1@chromium.org, Nov 3 2016

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

commit e20d23ac0473b75c2da272853dd4c7d9da09898f
Author: kainino <kainino@chromium.org>
Date: Thu Nov 03 01:03:45 2016

remove 'unsafe' from ES3 apis in gpu process

BUG= 654787 
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/2471853002
Cr-Commit-Position: refs/heads/master@{#429491}

[modify] https://crrev.com/e20d23ac0473b75c2da272853dd4c7d9da09898f/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/e20d23ac0473b75c2da272853dd4c7d9da09898f/gpu/command_buffer/service/context_group.cc
[modify] https://crrev.com/e20d23ac0473b75c2da272853dd4c7d9da09898f/gpu/command_buffer/service/feature_info.cc
[modify] https://crrev.com/e20d23ac0473b75c2da272853dd4c7d9da09898f/gpu/command_buffer/service/feature_info.h
[modify] https://crrev.com/e20d23ac0473b75c2da272853dd4c7d9da09898f/gpu/command_buffer/service/framebuffer_manager_unittest.cc
[modify] https://crrev.com/e20d23ac0473b75c2da272853dd4c7d9da09898f/gpu/command_buffer/service/gl_utils.cc
[modify] https://crrev.com/e20d23ac0473b75c2da272853dd4c7d9da09898f/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/e20d23ac0473b75c2da272853dd4c7d9da09898f/gpu/command_buffer/service/gles2_cmd_decoder.h
[modify] https://crrev.com/e20d23ac0473b75c2da272853dd4c7d9da09898f/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
[modify] https://crrev.com/e20d23ac0473b75c2da272853dd4c7d9da09898f/gpu/command_buffer/service/gles2_cmd_decoder_unittest_1.cc
[modify] https://crrev.com/e20d23ac0473b75c2da272853dd4c7d9da09898f/gpu/command_buffer/service/gles2_cmd_decoder_unittest_2.cc
[modify] https://crrev.com/e20d23ac0473b75c2da272853dd4c7d9da09898f/gpu/command_buffer/service/gles2_cmd_decoder_unittest_3.cc
[modify] https://crrev.com/e20d23ac0473b75c2da272853dd4c7d9da09898f/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc
[modify] https://crrev.com/e20d23ac0473b75c2da272853dd4c7d9da09898f/gpu/command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc
[modify] https://crrev.com/e20d23ac0473b75c2da272853dd4c7d9da09898f/gpu/command_buffer/service/gles2_cmd_decoder_unittest_programs.cc
[modify] https://crrev.com/e20d23ac0473b75c2da272853dd4c7d9da09898f/gpu/command_buffer/service/gles2_cmd_decoder_unittest_textures.cc
[modify] https://crrev.com/e20d23ac0473b75c2da272853dd4c7d9da09898f/gpu/command_buffer/service/gpu_preferences.h
[modify] https://crrev.com/e20d23ac0473b75c2da272853dd4c7d9da09898f/gpu/command_buffer/service/test_helper.cc
[modify] https://crrev.com/e20d23ac0473b75c2da272853dd4c7d9da09898f/gpu/command_buffer/service/test_helper.h
[modify] https://crrev.com/e20d23ac0473b75c2da272853dd4c7d9da09898f/gpu/command_buffer/service/texture_manager.cc
[modify] https://crrev.com/e20d23ac0473b75c2da272853dd4c7d9da09898f/gpu/command_buffer/service/texture_manager_unittest.cc
[modify] https://crrev.com/e20d23ac0473b75c2da272853dd4c7d9da09898f/gpu/command_buffer/tests/es3_misc_functions_unittest.cc
[modify] https://crrev.com/e20d23ac0473b75c2da272853dd4c7d9da09898f/gpu/command_buffer/tests/fuzzer_main.cc
[modify] https://crrev.com/e20d23ac0473b75c2da272853dd4c7d9da09898f/gpu/command_buffer/tests/gl_ext_blend_func_extended_unittest.cc
[modify] https://crrev.com/e20d23ac0473b75c2da272853dd4c7d9da09898f/gpu/command_buffer/tests/gl_map_buffer_range_unittest.cc
[modify] https://crrev.com/e20d23ac0473b75c2da272853dd4c7d9da09898f/gpu/command_buffer/tests/gl_request_extension_unittest.cc
[modify] https://crrev.com/e20d23ac0473b75c2da272853dd4c7d9da09898f/ui/gl/gl_switches.cc

Project Member

Comment 19 by bugdroid1@chromium.org, Nov 3 2016

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

commit ea52386cb9c58ce4a7e05db8590623fc5bf15227
Author: kainino <kainino@chromium.org>
Date: Thu Nov 03 02:01:20 2016

change enable_es3 to context_type in SetupFeatureInfo

BUG= 654787 
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/2471913003
Cr-Commit-Position: refs/heads/master@{#429512}

[modify] https://crrev.com/ea52386cb9c58ce4a7e05db8590623fc5bf15227/gpu/command_buffer/service/texture_manager_unittest.cc

Project Member

Comment 20 by bugdroid1@chromium.org, Nov 4 2016

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

commit 61a4859d1d5a2f5082d486843c58a5b3f8795144
Author: kainino <kainino@chromium.org>
Date: Fri Nov 04 14:59:15 2016

Enable WebGL 2 by default! (on desktop)

This patch creates a feature-style (Default/Enabled/Disabled) entry in about:flags for WebGL 2. Default is enabled on desktop and disabled on Android.

This patch also mostly removes the "unsafe"/"experimental"/"prototype" wording from the flag and code. Auditing of validation for formerly-unsafe OpenGL ES3 APIs was done in:
https://codereview.chromium.org/2458523005/
https://codereview.chromium.org/2461023002/
https://codereview.chromium.org/2470623002/
https://codereview.chromium.org/2466763002/
And the flag was removed from the GPU process in:
https://codereview.chromium.org/2471853002/

BUG= 654787 
BUG= 295792 
BUG=641635
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/2473933002
Cr-Commit-Position: refs/heads/master@{#429885}

[modify] https://crrev.com/61a4859d1d5a2f5082d486843c58a5b3f8795144/chrome/app/generated_resources.grd
[modify] https://crrev.com/61a4859d1d5a2f5082d486843c58a5b3f8795144/chrome/browser/about_flags.cc
[modify] https://crrev.com/61a4859d1d5a2f5082d486843c58a5b3f8795144/content/browser/gpu/compositor_util.cc
[modify] https://crrev.com/61a4859d1d5a2f5082d486843c58a5b3f8795144/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/61a4859d1d5a2f5082d486843c58a5b3f8795144/content/public/browser/gpu_utils.cc
[modify] https://crrev.com/61a4859d1d5a2f5082d486843c58a5b3f8795144/content/test/gpu/gpu_tests/pixel_expectations.py
[modify] https://crrev.com/61a4859d1d5a2f5082d486843c58a5b3f8795144/content/test/gpu/gpu_tests/pixel_integration_test.py
[modify] https://crrev.com/61a4859d1d5a2f5082d486843c58a5b3f8795144/content/test/gpu/gpu_tests/pixel_test_pages.py
[modify] https://crrev.com/61a4859d1d5a2f5082d486843c58a5b3f8795144/content/test/gpu/gpu_tests/webgl_conformance_integration_test.py
[modify] https://crrev.com/61a4859d1d5a2f5082d486843c58a5b3f8795144/content/test/gpu/page_sets/pixel_tests.py
[modify] https://crrev.com/61a4859d1d5a2f5082d486843c58a5b3f8795144/gpu/command_buffer/service/gpu_preferences.h
[modify] https://crrev.com/61a4859d1d5a2f5082d486843c58a5b3f8795144/gpu/command_buffer/tests/fuzzer_main.cc
[modify] https://crrev.com/61a4859d1d5a2f5082d486843c58a5b3f8795144/gpu/config/software_rendering_list_json.cc
[modify] https://crrev.com/61a4859d1d5a2f5082d486843c58a5b3f8795144/tools/metrics/histograms/histograms.xml
[modify] https://crrev.com/61a4859d1d5a2f5082d486843c58a5b3f8795144/ui/gl/gl_context_wgl.cc
[modify] https://crrev.com/61a4859d1d5a2f5082d486843c58a5b3f8795144/ui/gl/gl_surface_egl.cc
[modify] https://crrev.com/61a4859d1d5a2f5082d486843c58a5b3f8795144/ui/gl/gl_switches.cc
[modify] https://crrev.com/61a4859d1d5a2f5082d486843c58a5b3f8795144/ui/gl/gl_switches.h

Project Member

Comment 21 by bugdroid1@chromium.org, Nov 5 2016

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

commit 879b20b77aff98ef980ad3261cf469cc23477b75
Author: kainino <kainino@chromium.org>
Date: Sat Nov 05 00:18:13 2016

Rename GpuPreferences::enable_unsafe_es3_apis to enable_es3_apis

This flag is not really "unsafe" - error checking is now complete.

BUG= 654787 
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/2474253002
Cr-Commit-Position: refs/heads/master@{#430077}

[modify] https://crrev.com/879b20b77aff98ef980ad3261cf469cc23477b75/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/879b20b77aff98ef980ad3261cf469cc23477b75/content/common/gpu_host_messages.h
[modify] https://crrev.com/879b20b77aff98ef980ad3261cf469cc23477b75/gpu/command_buffer/service/context_group.cc
[modify] https://crrev.com/879b20b77aff98ef980ad3261cf469cc23477b75/gpu/command_buffer/service/gpu_preferences.h

Status: Fixed (was: Started)
Done!

Comment 23 by zmo@chromium.org, Nov 5 2016

Blockedon: -660824
Components: -Internals>GPU>WebGL Blink>WebGL

Sign in to add a comment