summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorboliu <boliu@chromium.org>2014-11-13 17:02:53 -0800
committerBo Liu <boliu@google.com>2014-11-18 10:35:58 -0800
commit8b70b8257c44a011969316b68be9b5441786809e (patch)
tree73fa8ca81e44c9ecd1e1c64801eb61f37e34071b
parent8fd87632b6d48cb96d825bb68d4f1fd457262f36 (diff)
downloadchromium_org-8b70b8257c44a011969316b68be9b5441786809e.tar.gz
Cherry-pick: Workaround NVidia eglWaitSyncKHR bug
Clean cherry-pick of chromium crrev.com/ba561e7fb76fef1a6dfff772b08bd6dde5c94bc9 BUG: 17690996 Original description: Workaround is to fallback to client wait. Change-Id: I8d6b41f5bc94307faecffe1401b660a3a722e24d
-rw-r--r--gpu/command_buffer/service/feature_info.cc3
-rw-r--r--gpu/config/gpu_driver_bug_list_json.cc23
-rw-r--r--gpu/config/gpu_driver_bug_workaround_type.h2
3 files changed, 27 insertions, 1 deletions
diff --git a/gpu/command_buffer/service/feature_info.cc b/gpu/command_buffer/service/feature_info.cc
index e853d9b593..676a0728a2 100644
--- a/gpu/command_buffer/service/feature_info.cc
+++ b/gpu/command_buffer/service/feature_info.cc
@@ -812,6 +812,9 @@ void FeatureInfo::InitializeFeatures() {
if (workarounds_.disable_egl_khr_fence_sync) {
gfx::g_driver_egl.ext.b_EGL_KHR_fence_sync = false;
}
+ if (workarounds_.disable_egl_khr_wait_sync) {
+ gfx::g_driver_egl.ext.b_EGL_KHR_wait_sync = false;
+ }
#endif
if (workarounds_.disable_arb_sync)
gfx::g_driver_gl.ext.b_GL_ARB_sync = false;
diff --git a/gpu/config/gpu_driver_bug_list_json.cc b/gpu/config/gpu_driver_bug_list_json.cc
index bd7f0f78f3..c5566ee18c 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": "7.7",
+ "version": "7.8",
"entries": [
{
"id": 1,
@@ -1057,6 +1057,27 @@ LONG_STRING_CONST(
"features": [
"disable_async_readpixels"
]
+ },
+ {
+ "id": 94,
+ "description": "Disable EGL_KHR_wait_sync on NVIDIA with GLES 3.1",
+ "cr_bugs": [433057],
+ "os": {
+ "type": "android",
+ "version": {
+ "op": "<=",
+ "value": "5.0.0"
+ }
+ },
+ "gl_vendor": "NVIDIA.*",
+ "gl_type": "gles",
+ "gl_version": {
+ "op": "=",
+ "value": "3.1"
+ },
+ "features": [
+ "disable_egl_khr_wait_sync"
+ ]
}
]
}
diff --git a/gpu/config/gpu_driver_bug_workaround_type.h b/gpu/config/gpu_driver_bug_workaround_type.h
index 0d9f200e4a..1c497eaab2 100644
--- a/gpu/config/gpu_driver_bug_workaround_type.h
+++ b/gpu/config/gpu_driver_bug_workaround_type.h
@@ -28,6 +28,8 @@
disable_depth_texture) \
GPU_OP(DISABLE_EGL_KHR_FENCE_SYNC, \
disable_egl_khr_fence_sync) \
+ GPU_OP(DISABLE_EGL_KHR_WAIT_SYNC, \
+ disable_egl_khr_wait_sync) \
GPU_OP(DISABLE_EXT_DISCARD_FRAMEBUFFER, \
disable_ext_discard_framebuffer) \
GPU_OP(DISABLE_EXT_DRAW_BUFFERS, \