summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Sievers <sievers@chromium.org>2015-07-16 15:48:37 -0700
committerDaniel Sievers <sievers@chromium.org>2015-07-16 22:49:50 +0000
commit0c74a9df13b5a6a0ae8b4e846d5e4fbf460efd82 (patch)
treec2f61bc0265c41a646107a08dbf81eb3e8bab14d
parentb1395f41d8620dd38b7e9f8063e5c4f5d59b2518 (diff)
downloadchromium_src-0c74a9df13b5a6a0ae8b4e846d5e4fbf460efd82.zip
chromium_src-0c74a9df13b5a6a0ae8b4e846d5e4fbf460efd82.tar.gz
chromium_src-0c74a9df13b5a6a0ae8b4e846d5e4fbf460efd82.tar.bz2
gpu: Disable program caching on Adreno 4xx 103.0 drivers
R=dyen@chromium.org TBR=zmo@chromium.org BUG=486117 Review URL: https://codereview.chromium.org/1238753003 . Cr-Commit-Position: refs/heads/master@{#338737} (cherry picked from commit 24a52b1fc00fd2ba8c67195be93282b5de3ba848) Review URL: https://codereview.chromium.org/1237453006 . Cr-Commit-Position: refs/branch-heads/2454@{#39} Cr-Branched-From: 12bfc3360892ec53cd00fc239a47e5298beb063b-refs/heads/master@{#338390}
-rw-r--r--content/common/gpu/gpu_command_buffer_stub.cc3
-rw-r--r--gpu/config/gpu_driver_bug_list_json.cc18
-rw-r--r--gpu/config/gpu_driver_bug_workaround_type.h2
3 files changed, 21 insertions, 2 deletions
diff --git a/content/common/gpu/gpu_command_buffer_stub.cc b/content/common/gpu/gpu_command_buffer_stub.cc
index 81a6e2c..3cd0ed0 100644
--- a/content/common/gpu/gpu_command_buffer_stub.cc
+++ b/content/common/gpu/gpu_command_buffer_stub.cc
@@ -560,7 +560,8 @@ void GpuCommandBufferStub::OnInitialize(
if (!context->GetTotalGpuMemory(&total_gpu_memory_))
total_gpu_memory_ = 0;
- if (!context_group_->has_program_cache()) {
+ if (!context_group_->has_program_cache() &&
+ !context_group_->feature_info()->workarounds().disable_program_cache) {
context_group_->set_program_cache(
channel_->gpu_channel_manager()->program_cache());
}
diff --git a/gpu/config/gpu_driver_bug_list_json.cc b/gpu/config/gpu_driver_bug_list_json.cc
index 1f5eced..b5e9e6d 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": "8.18",
+ "version": "8.19",
"entries": [
{
"id": 1,
@@ -1467,6 +1467,22 @@ LONG_STRING_CONST(
"features": [
"unbind_egl_context_to_flush_driver_caches"
]
+ },
+ {
+ "id": 124,
+ "description": "Certain Adreno 4xx drivers often crash in glProgramBinary.",
+ "cr_bugs": [486117],
+ "os": {
+ "type": "android"
+ },
+ "driver_version": {
+ "op": "=",
+ "value": "103.0"
+ },
+ "gl_renderer": "Adreno \\(TM\\) 4.*",
+ "features": [
+ "disable_program_cache"
+ ]
}
]
}
diff --git a/gpu/config/gpu_driver_bug_workaround_type.h b/gpu/config/gpu_driver_bug_workaround_type.h
index 7830fbe..41f2918 100644
--- a/gpu/config/gpu_driver_bug_workaround_type.h
+++ b/gpu/config/gpu_driver_bug_workaround_type.h
@@ -44,6 +44,8 @@
disable_ns_cgl_surface_api) \
GPU_OP(DISABLE_POST_SUB_BUFFERS_FOR_ONSCREEN_SURFACES, \
disable_post_sub_buffers_for_onscreen_surfaces) \
+ GPU_OP(DISABLE_PROGRAM_CACHE, \
+ disable_program_cache) \
GPU_OP(DISABLE_TIMESTAMP_QUERIES, \
disable_timestamp_queries) \
GPU_OP(ETC1_POWER_OF_TWO_ONLY, \