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

Issue 859249 link

Starred by 3 users

Issue metadata

Status: Assigned
Owner:
Last visit 16 days ago
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature


Sign in to add a comment

Add webgl2-compute context behind a flag

Project Member Reported by kbr@chromium.org, Jun 30 2018

Issue description

OpenGL ES 3.1 support has been in development in the ANGLE project for some time under https://bugs.chromium.org/p/angleproject/issues/detail?id=1588 . Per recent discussion on blink-dev:
https://groups.google.com/a/chromium.org/d/topic/blink-dev/bPD47wqY-r8/discussion

and discussion in the WebGL working group, let's proceed with adding the 'webgl2-compute' context type behind a flag.

 
Project Member

Comment 1 by bugdroid1@chromium.org, Jul 10

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

commit 8e87c7f1833f49138268496d47db791f273e785b
Author: Jiajia Qin <jiajia.qin@intel.com>
Date: Tue Jul 10 07:41:05 2018

Add webgl2-compute context support in Blink

This change allows web developers to create a 'webgl2-compute' context
which exposes OpenGL ES 3.1 functionality to WebGL.

Bug: 859249
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: Ibb403435b18698429e0f1942a15d3e9fa5027fd9
Reviewed-on: https://chromium-review.googlesource.com/1081814
Reviewed-by: Rick Byers <rbyers@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Cr-Commit-Position: refs/heads/master@{#573644}
[modify] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/content/child/runtime_features.cc
[modify] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/content/public/common/content_switches.cc
[modify] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/content/public/common/content_switches.h
[modify] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
[modify] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/third_party/WebKit/LayoutTests/virtual/stable/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
[modify] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-dedicated-worker-expected.txt
[modify] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-shared-worker-expected.txt
[modify] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-dedicated-worker-expected.txt
[modify] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-shared-worker-expected.txt
[modify] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/third_party/blink/public/platform/web_runtime_features.h
[modify] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/third_party/blink/renderer/bindings/IDLUnionTypes.md
[modify] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/third_party/blink/renderer/bindings/scripts/utilities.py
[modify] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/third_party/blink/renderer/core/html/canvas/canvas_rendering_context.cc
[modify] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/third_party/blink/renderer/core/html/canvas/canvas_rendering_context.h
[modify] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/third_party/blink/renderer/core/html/canvas/html_canvas_element.h
[modify] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.h
[modify] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/third_party/blink/renderer/modules/canvas/htmlcanvas/html_canvas_element_module.idl
[modify] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/third_party/blink/renderer/modules/canvas/offscreencanvas/offscreen_canvas_module.idl
[modify] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/third_party/blink/renderer/modules/modules_idl_files.gni
[modify] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/third_party/blink/renderer/modules/modules_initializer.cc
[modify] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/third_party/blink/renderer/modules/webgl/BUILD.gn
[add] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/third_party/blink/renderer/modules/webgl/webgl2_compute_rendering_context.cc
[add] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/third_party/blink/renderer/modules/webgl/webgl2_compute_rendering_context.h
[add] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/third_party/blink/renderer/modules/webgl/webgl2_compute_rendering_context.idl
[add] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/third_party/blink/renderer/modules/webgl/webgl2_compute_rendering_context_base.cc
[add] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/third_party/blink/renderer/modules/webgl/webgl2_compute_rendering_context_base.h
[add] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/third_party/blink/renderer/modules/webgl/webgl2_compute_rendering_context_base.idl
[modify] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
[modify] https://crrev.com/8e87c7f1833f49138268496d47db791f273e785b/third_party/blink/renderer/platform/runtime_enabled_features.json5

Blockedon: 862151
Project Member

Comment 3 by bugdroid1@chromium.org, Jul 17

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

commit cfe6cb9f72fa78cbc79f6b90d386bf3c2c337e3f
Author: Jiajia Qin <jiajia.qin@intel.com>
Date: Tue Jul 17 04:32:49 2018

Use Platform::ContextType as the webgl version type

This patch uses Platform::ContextType instead of unsigned int as
the webgl version type. Meanwhile, a new context type
kWebGL2ComputeContextType is added to correspond to the
webgl2-compute context.

Bug: 859249
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_layout_tests_slimming_paint_v2;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I6b8a19970c33e3a35ba54c38a0e55acccda567e3
Reviewed-on: https://chromium-review.googlesource.com/1136224
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Cr-Commit-Position: refs/heads/master@{#575551}
[modify] https://crrev.com/cfe6cb9f72fa78cbc79f6b90d386bf3c2c337e3f/content/renderer/renderer_blink_platform_impl.cc
[modify] https://crrev.com/cfe6cb9f72fa78cbc79f6b90d386bf3c2c337e3f/gpu/command_buffer/common/context_creation_attribs.cc
[modify] https://crrev.com/cfe6cb9f72fa78cbc79f6b90d386bf3c2c337e3f/gpu/command_buffer/common/context_creation_attribs.h
[modify] https://crrev.com/cfe6cb9f72fa78cbc79f6b90d386bf3c2c337e3f/gpu/command_buffer/service/feature_info.cc
[modify] https://crrev.com/cfe6cb9f72fa78cbc79f6b90d386bf3c2c337e3f/gpu/ipc/service/command_buffer_stub.cc
[modify] https://crrev.com/cfe6cb9f72fa78cbc79f6b90d386bf3c2c337e3f/third_party/blink/public/platform/platform.h
[modify] https://crrev.com/cfe6cb9f72fa78cbc79f6b90d386bf3c2c337e3f/third_party/blink/renderer/modules/webgl/webgl2_compute_rendering_context.cc
[modify] https://crrev.com/cfe6cb9f72fa78cbc79f6b90d386bf3c2c337e3f/third_party/blink/renderer/modules/webgl/webgl2_compute_rendering_context.h
[modify] https://crrev.com/cfe6cb9f72fa78cbc79f6b90d386bf3c2c337e3f/third_party/blink/renderer/modules/webgl/webgl2_compute_rendering_context_base.cc
[modify] https://crrev.com/cfe6cb9f72fa78cbc79f6b90d386bf3c2c337e3f/third_party/blink/renderer/modules/webgl/webgl2_compute_rendering_context_base.h
[modify] https://crrev.com/cfe6cb9f72fa78cbc79f6b90d386bf3c2c337e3f/third_party/blink/renderer/modules/webgl/webgl2_rendering_context.cc
[modify] https://crrev.com/cfe6cb9f72fa78cbc79f6b90d386bf3c2c337e3f/third_party/blink/renderer/modules/webgl/webgl2_rendering_context.h
[modify] https://crrev.com/cfe6cb9f72fa78cbc79f6b90d386bf3c2c337e3f/third_party/blink/renderer/modules/webgl/webgl2_rendering_context_base.cc
[modify] https://crrev.com/cfe6cb9f72fa78cbc79f6b90d386bf3c2c337e3f/third_party/blink/renderer/modules/webgl/webgl2_rendering_context_base.h
[modify] https://crrev.com/cfe6cb9f72fa78cbc79f6b90d386bf3c2c337e3f/third_party/blink/renderer/modules/webgl/webgl_context_attribute_helpers.cc
[modify] https://crrev.com/cfe6cb9f72fa78cbc79f6b90d386bf3c2c337e3f/third_party/blink/renderer/modules/webgl/webgl_context_attribute_helpers.h
[modify] https://crrev.com/cfe6cb9f72fa78cbc79f6b90d386bf3c2c337e3f/third_party/blink/renderer/modules/webgl/webgl_rendering_context.cc
[modify] https://crrev.com/cfe6cb9f72fa78cbc79f6b90d386bf3c2c337e3f/third_party/blink/renderer/modules/webgl/webgl_rendering_context.h
[modify] https://crrev.com/cfe6cb9f72fa78cbc79f6b90d386bf3c2c337e3f/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
[modify] https://crrev.com/cfe6cb9f72fa78cbc79f6b90d386bf3c2c337e3f/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
[modify] https://crrev.com/cfe6cb9f72fa78cbc79f6b90d386bf3c2c337e3f/third_party/blink/renderer/modules/xr/xr_webgl_layer.cc
[modify] https://crrev.com/cfe6cb9f72fa78cbc79f6b90d386bf3c2c337e3f/third_party/blink/renderer/platform/graphics/gpu/drawing_buffer.h

Project Member

Comment 4 by bugdroid1@chromium.org, Jul 19

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

commit 252a81307911d8855f569c59c513a3f3e54ae443
Author: Jiajia Qin <jiajia.qin@intel.com>
Date: Thu Jul 19 01:03:22 2018

Create gles31 context for webgl2-compute in passthrough decoder

With this change, all webgl/webgl2 APIs can be run on webgl2-compute
context for passthrough command buffer.

Bug: 859249
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: Ia3c5febb7f5cbeb16d560ee05362c4746f97d5d6
Reviewed-on: https://chromium-review.googlesource.com/1141434
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Cr-Commit-Position: refs/heads/master@{#576293}
[modify] https://crrev.com/252a81307911d8855f569c59c513a3f3e54ae443/gpu/command_buffer/build_cmd_buffer_lib.py
[modify] https://crrev.com/252a81307911d8855f569c59c513a3f3e54ae443/gpu/command_buffer/common/context_creation_attribs.cc
[modify] https://crrev.com/252a81307911d8855f569c59c513a3f3e54ae443/gpu/command_buffer/common/context_creation_attribs.h
[modify] https://crrev.com/252a81307911d8855f569c59c513a3f3e54ae443/gpu/command_buffer/service/feature_info.cc
[modify] https://crrev.com/252a81307911d8855f569c59c513a3f3e54ae443/gpu/command_buffer/service/feature_info.h
[modify] https://crrev.com/252a81307911d8855f569c59c513a3f3e54ae443/gpu/command_buffer/service/gl_utils.cc
[modify] https://crrev.com/252a81307911d8855f569c59c513a3f3e54ae443/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
[modify] https://crrev.com/252a81307911d8855f569c59c513a3f3e54ae443/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers.cc
[modify] https://crrev.com/252a81307911d8855f569c59c513a3f3e54ae443/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers_autogen.cc
[modify] https://crrev.com/252a81307911d8855f569c59c513a3f3e54ae443/gpu/command_buffer/service/service_utils.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Jul 20

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

commit dc2450ffcbf53bf06684cb31225a7ba0561333dd
Author: Jiajia Qin <jiajia.qin@intel.com>
Date: Fri Jul 20 04:57:39 2018

Mark WebGL2ComputeRenderingContext as RuntimeEnabled

Bug: 859249
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: I62e30adfad4dfded4c9644d8859bf3897cda8548
Reviewed-on: https://chromium-review.googlesource.com/1143020
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Kent Tamura <tkent@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576783}
[modify] https://crrev.com/dc2450ffcbf53bf06684cb31225a7ba0561333dd/third_party/WebKit/LayoutTests/virtual/stable/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
[modify] https://crrev.com/dc2450ffcbf53bf06684cb31225a7ba0561333dd/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-dedicated-worker-expected.txt
[modify] https://crrev.com/dc2450ffcbf53bf06684cb31225a7ba0561333dd/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/dc2450ffcbf53bf06684cb31225a7ba0561333dd/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-shared-worker-expected.txt
[modify] https://crrev.com/dc2450ffcbf53bf06684cb31225a7ba0561333dd/third_party/blink/renderer/modules/webgl/webgl2_compute_rendering_context.idl

Project Member

Comment 6 by bugdroid1@chromium.org, Jul 24

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

commit 02de272c748ed1857fb665440bc6d82383fd17c8
Author: Jiajia Qin <jiajia.qin@intel.com>
Date: Tue Jul 24 01:17:23 2018

Add es31 enums and APIs in ui/gl

Bug: 859249
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: I38dbc355743a6bb8f2f04fb31f51b92ab3377bff
Reviewed-on: https://chromium-review.googlesource.com/1146489
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Cr-Commit-Position: refs/heads/master@{#577389}
[modify] https://crrev.com/02de272c748ed1857fb665440bc6d82383fd17c8/ui/gl/egl_bindings_autogen_mock.h
[modify] https://crrev.com/02de272c748ed1857fb665440bc6d82383fd17c8/ui/gl/generate_bindings.py
[modify] https://crrev.com/02de272c748ed1857fb665440bc6d82383fd17c8/ui/gl/gl_bindings_api_autogen_egl.h
[modify] https://crrev.com/02de272c748ed1857fb665440bc6d82383fd17c8/ui/gl/gl_bindings_api_autogen_gl.h
[modify] https://crrev.com/02de272c748ed1857fb665440bc6d82383fd17c8/ui/gl/gl_bindings_api_autogen_glx.h
[modify] https://crrev.com/02de272c748ed1857fb665440bc6d82383fd17c8/ui/gl/gl_bindings_api_autogen_osmesa.h
[modify] https://crrev.com/02de272c748ed1857fb665440bc6d82383fd17c8/ui/gl/gl_bindings_api_autogen_wgl.h
[modify] https://crrev.com/02de272c748ed1857fb665440bc6d82383fd17c8/ui/gl/gl_bindings_autogen_gl.cc
[modify] https://crrev.com/02de272c748ed1857fb665440bc6d82383fd17c8/ui/gl/gl_bindings_autogen_gl.h
[modify] https://crrev.com/02de272c748ed1857fb665440bc6d82383fd17c8/ui/gl/gl_bindings_autogen_mock.cc
[modify] https://crrev.com/02de272c748ed1857fb665440bc6d82383fd17c8/ui/gl/gl_bindings_autogen_mock.h
[modify] https://crrev.com/02de272c748ed1857fb665440bc6d82383fd17c8/ui/gl/gl_enums_implementation_autogen.h
[modify] https://crrev.com/02de272c748ed1857fb665440bc6d82383fd17c8/ui/gl/gl_mock_autogen_egl.h
[modify] https://crrev.com/02de272c748ed1857fb665440bc6d82383fd17c8/ui/gl/gl_mock_autogen_gl.h
[modify] https://crrev.com/02de272c748ed1857fb665440bc6d82383fd17c8/ui/gl/gl_stub_autogen_gl.cc
[modify] https://crrev.com/02de272c748ed1857fb665440bc6d82383fd17c8/ui/gl/gl_stub_autogen_gl.h

Project Member

Comment 7 by bugdroid1@chromium.org, Jul 26

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

commit 03d4ba29191b0ba9cd54e552943c140c3b5da349
Author: Jiajia Qin <jiajia.qin@intel.com>
Date: Thu Jul 26 01:09:01 2018

Add es31 enums and DispatchCompute to command buffer

This CL adds the es31 header to command buffer. Meanwhile, we add the first API
DispatchCompute to command buffer.

Bug: 859249
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: I77182ab07b597496839f9ca0f3f8562c6cfcf137
Reviewed-on: https://chromium-review.googlesource.com/1144789
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Cr-Commit-Position: refs/heads/master@{#578156}
[modify] https://crrev.com/03d4ba29191b0ba9cd54e552943c140c3b5da349/gpu/GLES2/gl2chromium_autogen.h
[modify] https://crrev.com/03d4ba29191b0ba9cd54e552943c140c3b5da349/gpu/command_buffer/build_cmd_buffer_lib.py
[modify] https://crrev.com/03d4ba29191b0ba9cd54e552943c140c3b5da349/gpu/command_buffer/build_gles2_cmd_buffer.py
[modify] https://crrev.com/03d4ba29191b0ba9cd54e552943c140c3b5da349/gpu/command_buffer/client/gles2_c_lib_autogen.h
[modify] https://crrev.com/03d4ba29191b0ba9cd54e552943c140c3b5da349/gpu/command_buffer/client/gles2_cmd_helper_autogen.h
[modify] https://crrev.com/03d4ba29191b0ba9cd54e552943c140c3b5da349/gpu/command_buffer/client/gles2_implementation_autogen.h
[modify] https://crrev.com/03d4ba29191b0ba9cd54e552943c140c3b5da349/gpu/command_buffer/client/gles2_implementation_impl_autogen.h
[modify] https://crrev.com/03d4ba29191b0ba9cd54e552943c140c3b5da349/gpu/command_buffer/client/gles2_implementation_unittest_autogen.h
[modify] https://crrev.com/03d4ba29191b0ba9cd54e552943c140c3b5da349/gpu/command_buffer/client/gles2_interface_autogen.h
[modify] https://crrev.com/03d4ba29191b0ba9cd54e552943c140c3b5da349/gpu/command_buffer/client/gles2_interface_stub_autogen.h
[modify] https://crrev.com/03d4ba29191b0ba9cd54e552943c140c3b5da349/gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h
[modify] https://crrev.com/03d4ba29191b0ba9cd54e552943c140c3b5da349/gpu/command_buffer/client/gles2_trace_implementation_autogen.h
[modify] https://crrev.com/03d4ba29191b0ba9cd54e552943c140c3b5da349/gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h
[modify] https://crrev.com/03d4ba29191b0ba9cd54e552943c140c3b5da349/gpu/command_buffer/common/gles2_cmd_format_autogen.h
[modify] https://crrev.com/03d4ba29191b0ba9cd54e552943c140c3b5da349/gpu/command_buffer/common/gles2_cmd_format_test_autogen.h
[modify] https://crrev.com/03d4ba29191b0ba9cd54e552943c140c3b5da349/gpu/command_buffer/common/gles2_cmd_ids_autogen.h
[modify] https://crrev.com/03d4ba29191b0ba9cd54e552943c140c3b5da349/gpu/command_buffer/common/gles2_cmd_utils_implementation_autogen.h
[modify] https://crrev.com/03d4ba29191b0ba9cd54e552943c140c3b5da349/gpu/command_buffer/gles2_cmd_buffer_functions.txt
[modify] https://crrev.com/03d4ba29191b0ba9cd54e552943c140c3b5da349/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
[modify] https://crrev.com/03d4ba29191b0ba9cd54e552943c140c3b5da349/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doer_prototypes.h
[modify] https://crrev.com/03d4ba29191b0ba9cd54e552943c140c3b5da349/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doers.cc
[modify] https://crrev.com/03d4ba29191b0ba9cd54e552943c140c3b5da349/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers_autogen.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Jul 30

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

commit 6a1407ed81df8ffb8c49d0383309f0fb7c9becf4
Author: Jiajia Qin <jiajia.qin@intel.com>
Date: Mon Jul 30 03:01:50 2018

Only create webgl2-compute for passthrough cmd decoder

Bug: 859249
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: Ib373b6797b780c0294fef471fae7bb7a9deac39a
Reviewed-on: https://chromium-review.googlesource.com/1149711
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Cr-Commit-Position: refs/heads/master@{#578969}
[modify] https://crrev.com/6a1407ed81df8ffb8c49d0383309f0fb7c9becf4/gpu/command_buffer/service/gles2_cmd_decoder.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Jul 31

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

commit bb1ff6ae23813a01f053dbc64ccf032b8a4c4025
Author: Jiajia Qin <jiajia.qin@intel.com>
Date: Tue Jul 31 02:10:08 2018

Implement bindImageTexture for webgl2-compute

This patch implements bindImageTexture API so that users can load/store
image data in shader. Meanwhile, we adds all types of image unit for
getUniform. With this, users can use getUniform to get the image unit's
binding point in API side.

Bug: 859249
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: I22052ad4c15102ce73727a79dd4269302efadab2
Reviewed-on: https://chromium-review.googlesource.com/1152690
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Cr-Commit-Position: refs/heads/master@{#579279}
[modify] https://crrev.com/bb1ff6ae23813a01f053dbc64ccf032b8a4c4025/gpu/GLES2/gl2chromium_autogen.h
[modify] https://crrev.com/bb1ff6ae23813a01f053dbc64ccf032b8a4c4025/gpu/command_buffer/build_gles2_cmd_buffer.py
[modify] https://crrev.com/bb1ff6ae23813a01f053dbc64ccf032b8a4c4025/gpu/command_buffer/client/gles2_c_lib_autogen.h
[modify] https://crrev.com/bb1ff6ae23813a01f053dbc64ccf032b8a4c4025/gpu/command_buffer/client/gles2_cmd_helper_autogen.h
[modify] https://crrev.com/bb1ff6ae23813a01f053dbc64ccf032b8a4c4025/gpu/command_buffer/client/gles2_implementation_autogen.h
[modify] https://crrev.com/bb1ff6ae23813a01f053dbc64ccf032b8a4c4025/gpu/command_buffer/client/gles2_implementation_impl_autogen.h
[modify] https://crrev.com/bb1ff6ae23813a01f053dbc64ccf032b8a4c4025/gpu/command_buffer/client/gles2_implementation_unittest_autogen.h
[modify] https://crrev.com/bb1ff6ae23813a01f053dbc64ccf032b8a4c4025/gpu/command_buffer/client/gles2_interface_autogen.h
[modify] https://crrev.com/bb1ff6ae23813a01f053dbc64ccf032b8a4c4025/gpu/command_buffer/client/gles2_interface_stub_autogen.h
[modify] https://crrev.com/bb1ff6ae23813a01f053dbc64ccf032b8a4c4025/gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h
[modify] https://crrev.com/bb1ff6ae23813a01f053dbc64ccf032b8a4c4025/gpu/command_buffer/client/gles2_trace_implementation_autogen.h
[modify] https://crrev.com/bb1ff6ae23813a01f053dbc64ccf032b8a4c4025/gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h
[modify] https://crrev.com/bb1ff6ae23813a01f053dbc64ccf032b8a4c4025/gpu/command_buffer/common/gles2_cmd_format_autogen.h
[modify] https://crrev.com/bb1ff6ae23813a01f053dbc64ccf032b8a4c4025/gpu/command_buffer/common/gles2_cmd_format_test_autogen.h
[modify] https://crrev.com/bb1ff6ae23813a01f053dbc64ccf032b8a4c4025/gpu/command_buffer/common/gles2_cmd_ids_autogen.h
[modify] https://crrev.com/bb1ff6ae23813a01f053dbc64ccf032b8a4c4025/gpu/command_buffer/gles2_cmd_buffer_functions.txt
[modify] https://crrev.com/bb1ff6ae23813a01f053dbc64ccf032b8a4c4025/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
[modify] https://crrev.com/bb1ff6ae23813a01f053dbc64ccf032b8a4c4025/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doer_prototypes.h
[modify] https://crrev.com/bb1ff6ae23813a01f053dbc64ccf032b8a4c4025/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doers.cc
[modify] https://crrev.com/bb1ff6ae23813a01f053dbc64ccf032b8a4c4025/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers_autogen.cc
[modify] https://crrev.com/bb1ff6ae23813a01f053dbc64ccf032b8a4c4025/third_party/blink/renderer/modules/webgl/webgl2_compute_rendering_context_base.cc
[modify] https://crrev.com/bb1ff6ae23813a01f053dbc64ccf032b8a4c4025/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Aug 2

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

commit 25037c651a9b5ddc192ca89a9432a7ef460bf795
Author: Jiajia Qin <jiajia.qin@intel.com>
Date: Thu Aug 02 06:26:48 2018

Implement MemoryBarrier functions for webgl2-compute

This CL implements MemoryBarrier and MemoryBarrierByRegion APIs
for webgl2-compute context.

Bug: 859249
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: Icfa6a081f09df01ccebbed07cb3cc30f23ca3301
Reviewed-on: https://chromium-review.googlesource.com/1156133
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Cr-Commit-Position: refs/heads/master@{#580090}
[modify] https://crrev.com/25037c651a9b5ddc192ca89a9432a7ef460bf795/gpu/GLES2/gl2chromium_autogen.h
[modify] https://crrev.com/25037c651a9b5ddc192ca89a9432a7ef460bf795/gpu/command_buffer/build_gles2_cmd_buffer.py
[modify] https://crrev.com/25037c651a9b5ddc192ca89a9432a7ef460bf795/gpu/command_buffer/client/gles2_c_lib_autogen.h
[modify] https://crrev.com/25037c651a9b5ddc192ca89a9432a7ef460bf795/gpu/command_buffer/client/gles2_cmd_helper_autogen.h
[modify] https://crrev.com/25037c651a9b5ddc192ca89a9432a7ef460bf795/gpu/command_buffer/client/gles2_implementation_autogen.h
[modify] https://crrev.com/25037c651a9b5ddc192ca89a9432a7ef460bf795/gpu/command_buffer/client/gles2_implementation_impl_autogen.h
[modify] https://crrev.com/25037c651a9b5ddc192ca89a9432a7ef460bf795/gpu/command_buffer/client/gles2_implementation_unittest_autogen.h
[modify] https://crrev.com/25037c651a9b5ddc192ca89a9432a7ef460bf795/gpu/command_buffer/client/gles2_interface_autogen.h
[modify] https://crrev.com/25037c651a9b5ddc192ca89a9432a7ef460bf795/gpu/command_buffer/client/gles2_interface_stub_autogen.h
[modify] https://crrev.com/25037c651a9b5ddc192ca89a9432a7ef460bf795/gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h
[modify] https://crrev.com/25037c651a9b5ddc192ca89a9432a7ef460bf795/gpu/command_buffer/client/gles2_trace_implementation_autogen.h
[modify] https://crrev.com/25037c651a9b5ddc192ca89a9432a7ef460bf795/gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h
[modify] https://crrev.com/25037c651a9b5ddc192ca89a9432a7ef460bf795/gpu/command_buffer/common/gles2_cmd_format_autogen.h
[modify] https://crrev.com/25037c651a9b5ddc192ca89a9432a7ef460bf795/gpu/command_buffer/common/gles2_cmd_format_test_autogen.h
[modify] https://crrev.com/25037c651a9b5ddc192ca89a9432a7ef460bf795/gpu/command_buffer/common/gles2_cmd_ids_autogen.h
[modify] https://crrev.com/25037c651a9b5ddc192ca89a9432a7ef460bf795/gpu/command_buffer/gles2_cmd_buffer_functions.txt
[modify] https://crrev.com/25037c651a9b5ddc192ca89a9432a7ef460bf795/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
[modify] https://crrev.com/25037c651a9b5ddc192ca89a9432a7ef460bf795/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doer_prototypes.h
[modify] https://crrev.com/25037c651a9b5ddc192ca89a9432a7ef460bf795/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doers.cc
[modify] https://crrev.com/25037c651a9b5ddc192ca89a9432a7ef460bf795/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers_autogen.cc
[modify] https://crrev.com/25037c651a9b5ddc192ca89a9432a7ef460bf795/third_party/blink/renderer/modules/webgl/webgl2_compute_rendering_context_base.cc

Project Member

Comment 12 by bugdroid1@chromium.org, Aug 22

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

commit bf5a6e047401ae6cd2787967530d9e4055dafd43
Author: Jiajia Qin <jiajia.qin@intel.com>
Date: Wed Aug 22 21:03:58 2018

git cl format for gles2_implementation.cc

This change uses 'git cl format --full' for gles2_implementation.cc
to facilitate code review in this file. Otherwise, it's hard to
review when we have changes in this file.

Bug: 859249
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: I74f04fa47ba4216d656cf96762354ac59057ee5f
Reviewed-on: https://chromium-review.googlesource.com/1184392
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#585243}
[modify] https://crrev.com/bf5a6e047401ae6cd2787967530d9e4055dafd43/gpu/command_buffer/client/gles2_implementation.cc

Project Member

Comment 13 by bugdroid1@chromium.org, Aug 23

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

commit bf31bedf12761be9d4e56500559f2777cbcbeedd
Author: Jiajia Qin <jiajia.qin@intel.com>
Date: Thu Aug 23 03:54:50 2018

Implement atomic counter buffer and shader storage buffer

This CL implements atomic counter buffer and shader storage buffer
for webgl2-compute context.

Bug: 859249
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: I0f32e20d80f436417a22cc363b1661fae4632c35
Reviewed-on: https://chromium-review.googlesource.com/1174092
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Dominick Ng <dominickn@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#585390}
[modify] https://crrev.com/bf31bedf12761be9d4e56500559f2777cbcbeedd/gpu/command_buffer/client/gles2_implementation.cc
[modify] https://crrev.com/bf31bedf12761be9d4e56500559f2777cbcbeedd/gpu/command_buffer/client/gles2_implementation.h
[modify] https://crrev.com/bf31bedf12761be9d4e56500559f2777cbcbeedd/gpu/command_buffer/common/capabilities.h
[modify] https://crrev.com/bf31bedf12761be9d4e56500559f2777cbcbeedd/gpu/command_buffer/common/gles2_cmd_utils.cc
[modify] https://crrev.com/bf31bedf12761be9d4e56500559f2777cbcbeedd/gpu/command_buffer/service/gl_utils.cc
[modify] https://crrev.com/bf31bedf12761be9d4e56500559f2777cbcbeedd/gpu/ipc/common/gpu_command_buffer_traits_multi.h
[modify] https://crrev.com/bf31bedf12761be9d4e56500559f2777cbcbeedd/third_party/blink/renderer/modules/webgl/webgl2_rendering_context_base.cc
[modify] https://crrev.com/bf31bedf12761be9d4e56500559f2777cbcbeedd/third_party/blink/renderer/modules/webgl/webgl2_rendering_context_base.h

Excellent work Jiajia and the rest of Intel's Web Graphics team for getting this support in place!

For anyone wanting to test it out on Windows, run Chrome with the command line arguments:

--use-cmd-decoder=passthrough --enable-webgl2-compute-context

(and, optionally, --use-angle=gl )

For anyone wanting to test it on Linux, run Chrome with the following command line arguments:

--use-cmd-decoder=passthrough --enable-webgl2-compute-context --use-gl=angle

Also, a provisional specification is available here:
https://docs.google.com/document/d/1EwhDJO_lBH1mGMMwheQUXGhhFk9yoC98Ant3TPqwmmA/view

Project Member

Comment 16 by bugdroid1@chromium.org, Oct 10

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

commit 428a0925a0bc45cbedcb5e0cb19bfae434b0277f
Author: Jiajie Hu <jiajie.hu@intel.com>
Date: Wed Oct 10 05:06:21 2018

Override the return value of version queries in webgl2-compute context

Bug: 859249
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: I5ede95aa3328167088319084979fc102ad74185f
Reviewed-on: https://chromium-review.googlesource.com/c/1260499
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#598214}
[modify] https://crrev.com/428a0925a0bc45cbedcb5e0cb19bfae434b0277f/AUTHORS
[modify] https://crrev.com/428a0925a0bc45cbedcb5e0cb19bfae434b0277f/third_party/blink/renderer/modules/webgl/webgl2_compute_rendering_context_base.cc
[modify] https://crrev.com/428a0925a0bc45cbedcb5e0cb19bfae434b0277f/third_party/blink/renderer/modules/webgl/webgl2_compute_rendering_context_base.h

Cc: jiajie...@intel.com

Comment 18 by demidove...@gmail.com, Yesterday (44 hours ago)

Compute Shaders write wrongly to texture3D (GL and D3D11 backend)
https://www.ibiblio.org/e-notes/webgl/gpu/3Dtexture.htm

Evgeny

Comment 19 by kainino@chromium.org, Yesterday (39 hours ago)

Blockedon: 923939

Comment 20 by xinghua....@intel.com, Yesterday (27 hours ago)

@demidovevgeny0, there may be an issue in your case (https://www.ibiblio.org/e-notes/webgl/gpu/3Dtexture.htm).
Change
gl.bindImageTexture(0, texture, 0, gl.FALSE, 0, gl.WRITE_ONLY, gl.RGBA32F);
to
gl.bindImageTexture(0, texture, 0, gl.TRUE, 0, gl.WRITE_ONLY, gl.RGBA32F);

Refer OpenGL ES 3.l spec, section 8.22,
"If the texture identified by texture is a two-dimensional array, threedimensional, or cube map texture, it is possible to bind either the entire texture level or a single layer or face of the texture level. If layered is TRUE, the entire level is bound. If layered is FALSE, only the single layer identified by layer will be bound. When layered is FALSE, the single bound layer is treated as a twodimensional texture."

I think you want to bind entire level 0 of 3D texture to shader here.

Comment 21 by xinghua....@intel.com, Yesterday (27 hours ago)

Cc: xinghua....@intel.com

Sign in to add a comment