diff options
author | vollick@chromium.org <vollick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-02 22:50:39 +0000 |
---|---|---|
committer | vollick@chromium.org <vollick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-02 22:50:39 +0000 |
commit | 5c06a1033f11279ef3562835c211d5db5fed932f (patch) | |
tree | 0d4426a26bbb361832566889efc2dcf3f9f88288 | |
parent | 000a1fd5352d44834b745bb31d63d94eb2975ab3 (diff) | |
download | chromium_src-5c06a1033f11279ef3562835c211d5db5fed932f.zip chromium_src-5c06a1033f11279ef3562835c211d5db5fed932f.tar.gz chromium_src-5c06a1033f11279ef3562835c211d5db5fed932f.tar.bz2 |
WebGraphicsContext3DInProcessCommandBuffer should report that it does not support swap acks.
BUG=10167009
TEST=None.
Review URL: http://codereview.chromium.org/10134014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@135017 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | gpu/command_buffer/service/feature_info.cc | 3 | ||||
-rw-r--r-- | gpu/command_buffer/service/gles2_cmd_decoder.h | 4 | ||||
-rw-r--r-- | webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.cc | 4 |
3 files changed, 8 insertions, 3 deletions
diff --git a/gpu/command_buffer/service/feature_info.cc b/gpu/command_buffer/service/feature_info.cc index 01c0ffd..1e27efd 100644 --- a/gpu/command_buffer/service/feature_info.cc +++ b/gpu/command_buffer/service/feature_info.cc @@ -114,7 +114,6 @@ void FeatureInfo::AddFeatures(const char* desired_features) { AddExtensionString("GL_CHROMIUM_resource_safe"); AddExtensionString("GL_CHROMIUM_resize"); AddExtensionString("GL_CHROMIUM_strict_attribs"); - AddExtensionString("GL_CHROMIUM_swapbuffers_complete_callback"); AddExtensionString("GL_CHROMIUM_rate_limit_offscreen_context"); AddExtensionString("GL_CHROMIUM_set_visibility"); AddExtensionString("GL_CHROMIUM_gpu_memory_manager"); @@ -463,6 +462,8 @@ void FeatureInfo::AddFeatures(const char* desired_features) { validators_.vertex_attribute.AddValue(GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE); } + if (!disallowed_features_.swap_buffer_complete_callback) + AddExtensionString("GL_CHROMIUM_swapbuffers_complete_callback"); } void FeatureInfo::AddExtensionString(const std::string& str) { diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.h b/gpu/command_buffer/service/gles2_cmd_decoder.h index 69be3ed..328446a 100644 --- a/gpu/command_buffer/service/gles2_cmd_decoder.h +++ b/gpu/command_buffer/service/gles2_cmd_decoder.h @@ -32,11 +32,13 @@ class QueryManager; struct DisallowedFeatures { DisallowedFeatures() : multisampling(false), - driver_bug_workarounds(false) { + driver_bug_workarounds(false), + swap_buffer_complete_callback(false) { } bool multisampling; bool driver_bug_workarounds; + bool swap_buffer_complete_callback; }; // This class implements the AsyncAPIInterface interface, decoding GLES2 diff --git a/webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.cc b/webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.cc index 36b7814..b0f6a82 100644 --- a/webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.cc +++ b/webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.cc @@ -424,11 +424,13 @@ bool GLInProcessContext::Initialize(const gfx::Size& size, return false; } + ::gpu::gles2::DisallowedFeatures disallowed_features; + disallowed_features.swap_buffer_complete_callback = true; if (!decoder_->Initialize(surface_.get(), context_.get(), true, size, - ::gpu::gles2::DisallowedFeatures(), + disallowed_features, allowed_extensions, attribs)) { LOG(ERROR) << "Could not initialize decoder."; |