summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkaanb@chromium.org <kaanb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-01 23:06:45 +0000
committerkaanb@chromium.org <kaanb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-01 23:06:45 +0000
commit053cf38cf86ccbb4af21f489277ed4639ec8db09 (patch)
tree7a24b00def87c80cbeb5c4c7d2cbb8199f1d0bbc
parent81da3f2599b5fc9689bc0f21db3b6551a6024caf (diff)
downloadchromium_src-053cf38cf86ccbb4af21f489277ed4639ec8db09.zip
chromium_src-053cf38cf86ccbb4af21f489277ed4639ec8db09.tar.gz
chromium_src-053cf38cf86ccbb4af21f489277ed4639ec8db09.tar.bz2
gpu: Disables EXT_discard_framebuffer extension on Vivante GPUs.
Discarding framebuffer doesn't accept trivial attachments which causes GL errors. On a debug build these errors cause the browser to hang. BUG=299494 Review URL: https://codereview.chromium.org/25416002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@226329 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--content/browser/gpu/gpu_data_manager_impl_private.cc9
-rw-r--r--gpu/config/gpu_driver_bug_list_json.cc17
2 files changed, 22 insertions, 4 deletions
diff --git a/content/browser/gpu/gpu_data_manager_impl_private.cc b/content/browser/gpu/gpu_data_manager_impl_private.cc
index 2a82137..94adacd 100644
--- a/content/browser/gpu/gpu_data_manager_impl_private.cc
+++ b/content/browser/gpu/gpu_data_manager_impl_private.cc
@@ -1032,21 +1032,24 @@ void GpuDataManagerImplPrivate::InitializeImpl(
if (!gpu_blacklist_json.empty()) {
gpu_blacklist_.reset(gpu::GpuBlacklist::Create());
- gpu_blacklist_->LoadList(
+ bool success = gpu_blacklist_->LoadList(
browser_version_string, gpu_blacklist_json,
gpu::GpuControlList::kCurrentOsOnly);
+ DCHECK(success);
}
if (!gpu_switching_list_json.empty()) {
gpu_switching_list_.reset(gpu::GpuSwitchingList::Create());
- gpu_switching_list_->LoadList(
+ bool success = gpu_switching_list_->LoadList(
browser_version_string, gpu_switching_list_json,
gpu::GpuControlList::kCurrentOsOnly);
+ DCHECK(success);
}
if (!gpu_driver_bug_list_json.empty()) {
gpu_driver_bug_list_.reset(gpu::GpuDriverBugList::Create());
- gpu_driver_bug_list_->LoadList(
+ bool success = gpu_driver_bug_list_->LoadList(
browser_version_string, gpu_driver_bug_list_json,
gpu::GpuControlList::kCurrentOsOnly);
+ DCHECK(success);
}
gpu_info_ = gpu_info;
diff --git a/gpu/config/gpu_driver_bug_list_json.cc b/gpu/config/gpu_driver_bug_list_json.cc
index 13f9c46..0240a2f 100644
--- a/gpu/config/gpu_driver_bug_list_json.cc
+++ b/gpu/config/gpu_driver_bug_list_json.cc
@@ -19,7 +19,7 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
{
"name": "gpu driver bug list",
// Please update the version number whenever you change this file.
- "version": "2.20",
+ "version": "2.21",
"entries": [
{
"id": 1,
@@ -586,6 +586,21 @@ const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
"features": [
"disable_ext_discard_framebuffer"
]
+ },
+ {
+ "id": 43,
+ "cr_bugs": [299494],
+ "description": "Framebuffer discarding doesn't accept trivial attachments on Vivante.",
+ "os": {
+ "type": "android"
+ },
+ "gl_extensions": {
+ "op": "contains",
+ "value": "GL_VIV_shader_binary"
+ },
+ "features": [
+ "disable_ext_discard_framebuffer"
+ ]
}
]
}