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

Issue 822418 link

Starred by 3 users

Issue metadata

Status: Assigned
Owner:
Last visit > 30 days ago
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

FeatureInfo initialization doesn't take into account the situation where underlying driver isn't ES3 capable

Project Member Reported by zmo@chromium.org, Mar 15 2018

Issue description

In FeatureInfo::Initialize(), we can specify a context type, and in the implementation, we initialize a GLVersionInfo using queried GL strings.

GLVersionInfo contains a is_es3_capable field, but we never do the sanity check, and FeatureInfo::Initialize() always succeed.

This is problematic, mostly on Android devices where ES3 isn't supported.

It seems Chrome does the sanity check for WebGL2 somewhere else, so Chrome never allows WebGL2 if underlying isn't ES3 capable.

However, some of our tests don't perform the sanity check, so they could fail.

One way to fix the problem, is in ContextGroup::Initialize(), right after  feature_info_->Initialize(), we check if the context_type_ and GLVersionInfo are compatible. If not, return gpu::ContextResult::kFatalFailure.
 

Sign in to add a comment