New issue
Advanced search Search tips

Issue 682745 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature

Blocked on:
issue 671217

Blocking:
issue 602688



Sign in to add a comment

Use the RequestExtension API for enabling all WebGL extensions.

Project Member Reported by geoffl...@chromium.org, Jan 19 2017

Issue description

WebGL uses the Extensions3DUtil to request some extensions but for others it does more manual checks (ex: draw_buffers: https://cs.chromium.org/chromium/src/third_party/WebKit/Source/modules/webgl/WebGLDrawBuffers.cpp?l=110).

We need to support the passthrough command buffer, which will request all extensions via the glRequestExtensionCHROMIUM API and the current command buffer which does a combination of both methods.  Most of this can be accomplished by simply checking if the extension is requestable OR emulateable.

This can be tested by verifying that all the extensions that are requestable in the passthough command buffer can be enabled in WebGL.  There are currently many suppressions in the extensions section of the WebGL conformance expectations.
 
Labels: -Type-Bug Type-Feature
Owner: geoffl...@chromium.org
Status: Started (was: Available)
Project Member

Comment 3 by bugdroid1@chromium.org, Mar 16 2017

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

commit c7fc0726ec8cd4985cd6e416e50712b4aff1c8c7
Author: geofflang <geofflang@chromium.org>
Date: Thu Mar 16 21:48:23 2017

Hook ANGLE_request_extension up to the passthrough cmd decoder.

Have each decoder own its own FeatureInfo so it can be updated as extensions
are enabled.

BUG= 682745 
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

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

[modify] https://crrev.com/c7fc0726ec8cd4985cd6e416e50712b4aff1c8c7/content/test/gpu/gpu_tests/webgl_conformance_expectations.py
[modify] https://crrev.com/c7fc0726ec8cd4985cd6e416e50712b4aff1c8c7/gpu/command_buffer/service/context_group.cc
[modify] https://crrev.com/c7fc0726ec8cd4985cd6e416e50712b4aff1c8c7/gpu/command_buffer/service/context_group.h
[modify] https://crrev.com/c7fc0726ec8cd4985cd6e416e50712b4aff1c8c7/gpu/command_buffer/service/feature_info.cc
[modify] https://crrev.com/c7fc0726ec8cd4985cd6e416e50712b4aff1c8c7/gpu/command_buffer/service/feature_info.h
[modify] https://crrev.com/c7fc0726ec8cd4985cd6e416e50712b4aff1c8c7/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
[modify] https://crrev.com/c7fc0726ec8cd4985cd6e416e50712b4aff1c8c7/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doers.cc
[modify] https://crrev.com/c7fc0726ec8cd4985cd6e416e50712b4aff1c8c7/third_party/WebKit/Source/modules/webgl/WebGLDebugShaders.cpp
[modify] https://crrev.com/c7fc0726ec8cd4985cd6e416e50712b4aff1c8c7/ui/gl/generate_bindings.py
[modify] https://crrev.com/c7fc0726ec8cd4985cd6e416e50712b4aff1c8c7/ui/gl/gl_bindings.h
[modify] https://crrev.com/c7fc0726ec8cd4985cd6e416e50712b4aff1c8c7/ui/gl/gl_bindings_api_autogen_gl.h
[modify] https://crrev.com/c7fc0726ec8cd4985cd6e416e50712b4aff1c8c7/ui/gl/gl_bindings_autogen_gl.cc
[modify] https://crrev.com/c7fc0726ec8cd4985cd6e416e50712b4aff1c8c7/ui/gl/gl_bindings_autogen_gl.h
[modify] https://crrev.com/c7fc0726ec8cd4985cd6e416e50712b4aff1c8c7/ui/gl/gl_bindings_autogen_mock.cc
[modify] https://crrev.com/c7fc0726ec8cd4985cd6e416e50712b4aff1c8c7/ui/gl/gl_bindings_autogen_mock.h
[modify] https://crrev.com/c7fc0726ec8cd4985cd6e416e50712b4aff1c8c7/ui/gl/gl_context.cc
[modify] https://crrev.com/c7fc0726ec8cd4985cd6e416e50712b4aff1c8c7/ui/gl/gl_context.h
[modify] https://crrev.com/c7fc0726ec8cd4985cd6e416e50712b4aff1c8c7/ui/gl/gl_mock_autogen_gl.h
[modify] https://crrev.com/c7fc0726ec8cd4985cd6e416e50712b4aff1c8c7/ui/gl/gl_stub_autogen_gl.h

Status: Fixed (was: Started)
Marking this as complete.  There may be more future work but the current level of extension enablement works now.

Sign in to add a comment