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

Issue 762983 link

Starred by 3 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature



Sign in to add a comment

Allow WebGL 2 content to be rendered using SwiftShader

Project Member Reported by sugoi@chromium.org, Sep 7 2017

Issue description

Currently, SwiftShader is used in Chromium to render WebGL 1 content. SwiftShader's ES3 implementation should also enable Chromium to show WebGL 2 content when a physical GPU is blacklisted/unavailable.

There is a larger issue of what to do when a system supports WebGL 1, but not WebGL 2. This will not be addressed here, it will have to wait until SwiftShader can coexist with a physical GPU inside Chromium.

For now, SwiftShader can be used to render WebGL 2 content whenever it's already available to render WebGL 1 content, so this issue does not aim at changing the conditions which enable SwiftShader in Chromium.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Sep 7 2017

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

commit b6e61022496fde12591293b56308a9b26ed6009e
Author: Alexis Hetu <sugoi@google.com>
Date: Thu Sep 07 22:37:36 2017

Show WebGL2 content using SwiftShader

This cl does not modify the rules which trigger when SwiftShader is
enabled or not, but it allows WebGL2 content to be rendered using
SwiftShader, whenever SwiftShader is already active.

For instance, this cl allows chrome to properly render pages like these
without a GPU:
http://toji.github.io/webgl2-particles-2/
http://toji.github.io/webgl2-crowd/

Bug: 762983
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: Ia47bda10b56a93b17840458ec7ee5cea7a192ecd
Reviewed-on: https://chromium-review.googlesource.com/653499
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#500414}
[modify] https://crrev.com/b6e61022496fde12591293b56308a9b26ed6009e/content/browser/gpu/compositor_util.cc
[modify] https://crrev.com/b6e61022496fde12591293b56308a9b26ed6009e/content/browser/gpu/gpu_data_manager_impl.cc
[modify] https://crrev.com/b6e61022496fde12591293b56308a9b26ed6009e/content/browser/gpu/gpu_data_manager_impl.h
[modify] https://crrev.com/b6e61022496fde12591293b56308a9b26ed6009e/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/b6e61022496fde12591293b56308a9b26ed6009e/content/browser/gpu/gpu_data_manager_impl_private.h
[modify] https://crrev.com/b6e61022496fde12591293b56308a9b26ed6009e/content/browser/gpu/gpu_data_manager_impl_private_unittest.cc
[modify] https://crrev.com/b6e61022496fde12591293b56308a9b26ed6009e/content/browser/gpu/gpu_data_manager_testing.json
[modify] https://crrev.com/b6e61022496fde12591293b56308a9b26ed6009e/content/browser/gpu/gpu_data_manager_testing_arrays_and_structs_autogen.h
[modify] https://crrev.com/b6e61022496fde12591293b56308a9b26ed6009e/content/public/browser/gpu_data_manager.h
[modify] https://crrev.com/b6e61022496fde12591293b56308a9b26ed6009e/content/test/gpu/gpu_tests/gpu_process_integration_test.py
[modify] https://crrev.com/b6e61022496fde12591293b56308a9b26ed6009e/gpu/config/gpu_blacklist.cc
[modify] https://crrev.com/b6e61022496fde12591293b56308a9b26ed6009e/gpu/config/gpu_blacklist_unittest.cc
[modify] https://crrev.com/b6e61022496fde12591293b56308a9b26ed6009e/gpu/config/gpu_control_list_testing_arrays_and_structs_autogen.h
[modify] https://crrev.com/b6e61022496fde12591293b56308a9b26ed6009e/gpu/config/gpu_feature_type.h
[modify] https://crrev.com/b6e61022496fde12591293b56308a9b26ed6009e/gpu/config/software_rendering_list.json

Project Member

Comment 2 by bugdroid1@chromium.org, Oct 10 2017

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

commit 2353c28fc17c51e3abb7dca8d473bdf5321ae1b0
Author: Alexis Hetu <sugoi@google.com>
Date: Tue Oct 10 19:26:08 2017

Temporarily disable WebGL2 with SwiftShader

Disabling WebGL2 with SwiftShader before the M63 branch point. Will
re-enable after the branching has occured, to get more ES3 coverage.

TBR=kbr@chromium.org

Bug: 762983
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: Ifd3377d51e3bf910a12e69cd53364ffdb90df46e
Reviewed-on: https://chromium-review.googlesource.com/709955
Reviewed-by: Alexis Hétu <sugoi@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#507739}
[modify] https://crrev.com/2353c28fc17c51e3abb7dca8d473bdf5321ae1b0/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/2353c28fc17c51e3abb7dca8d473bdf5321ae1b0/content/test/gpu/gpu_tests/gpu_process_integration_test.py

Comment 3 by ericrk@chromium.org, Oct 12 2017

Labels: -Type-Bug Type-Feature
Status: Assigned (was: Untriaged)

Sign in to add a comment