summaryrefslogtreecommitdiffstats
path: root/gpu/command_buffer
diff options
context:
space:
mode:
authormmocny@chromium.org <mmocny@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-30 23:27:12 +0000
committermmocny@chromium.org <mmocny@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-30 23:27:12 +0000
commit9806ffc8f9ecbd5121b45902cd7624c5327c8ccb (patch)
tree45a7933436708bd7576e9fb3191d57655fef6176 /gpu/command_buffer
parentdc9d9f5a3d05c52e23e629752c696cd25c1997e0 (diff)
downloadchromium_src-9806ffc8f9ecbd5121b45902cd7624c5327c8ccb.zip
chromium_src-9806ffc8f9ecbd5121b45902cd7624c5327c8ccb.tar.gz
chromium_src-9806ffc8f9ecbd5121b45902cd7624c5327c8ccb.tar.bz2
Disable GL_CHROMIUM_gpu_memory_manager extension on webgraphicscontext3d_in_process_command_buffer.
webgraphicscontext3d_in_process_command_buffer has noops for the gpu_memory_manager features, and with the renderer relying on them to provide non-zero memory allocations, we need to disable the extension so that renderer can fallback to something else. BUG=129266 TEST=Manual Review URL: https://chromiumcodereview.appspot.com/10454084 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139680 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu/command_buffer')
-rw-r--r--gpu/command_buffer/service/feature_info.cc4
-rw-r--r--gpu/command_buffer/service/gles2_cmd_decoder.h4
2 files changed, 6 insertions, 2 deletions
diff --git a/gpu/command_buffer/service/feature_info.cc b/gpu/command_buffer/service/feature_info.cc
index a7a1ab4..9e9cb6e 100644
--- a/gpu/command_buffer/service/feature_info.cc
+++ b/gpu/command_buffer/service/feature_info.cc
@@ -137,13 +137,15 @@ void FeatureInfo::AddFeatures(const char* desired_features) {
AddExtensionString("GL_CHROMIUM_strict_attribs");
AddExtensionString("GL_CHROMIUM_rate_limit_offscreen_context");
AddExtensionString("GL_CHROMIUM_set_visibility");
- AddExtensionString("GL_CHROMIUM_gpu_memory_manager");
AddExtensionString("GL_CHROMIUM_discard_framebuffer");
AddExtensionString("GL_CHROMIUM_command_buffer_query");
AddExtensionString("GL_CHROMIUM_copy_texture");
AddExtensionString("GL_CHROMIUM_texture_mailbox");
AddExtensionString("GL_ANGLE_translated_shader_source");
+ if (!disallowed_features_.gpu_memory_manager)
+ AddExtensionString("GL_CHROMIUM_gpu_memory_manager");
+
if (ext.Have("GL_ANGLE_translated_shader_source")) {
feature_flags_.angle_translated_shader_source = true;
}
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.h b/gpu/command_buffer/service/gles2_cmd_decoder.h
index d7604e2..a5d00d9 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),
- swap_buffer_complete_callback(false) {
+ swap_buffer_complete_callback(false),
+ gpu_memory_manager(false) {
}
bool multisampling;
bool swap_buffer_complete_callback;
+ bool gpu_memory_manager;
};
// This class implements the AsyncAPIInterface interface, decoding GLES2