diff options
Diffstat (limited to 'gpu')
-rw-r--r-- | gpu/command_buffer/service/feature_info.cc | 10 | ||||
-rw-r--r-- | gpu/config/gpu_driver_bug_list_json.cc | 18 | ||||
-rw-r--r-- | gpu/config/gpu_driver_bug_workaround_type.h | 2 |
3 files changed, 29 insertions, 1 deletions
diff --git a/gpu/command_buffer/service/feature_info.cc b/gpu/command_buffer/service/feature_info.cc index 5706086..803b121 100644 --- a/gpu/command_buffer/service/feature_info.cc +++ b/gpu/command_buffer/service/feature_info.cc @@ -17,6 +17,10 @@ #include "ui/gl/gl_fence.h" #include "ui/gl/gl_implementation.h" +#if !defined(OS_MACOSX) +#include "ui/gl/gl_fence_egl.h" +#endif + namespace gpu { namespace gles2 { @@ -1020,6 +1024,12 @@ void FeatureInfo::InitializeFeatures() { texture_format_validators_[GL_RG_EXT].AddValue(GL_HALF_FLOAT_OES); } } + +#if !defined(OS_MACOSX) + if (workarounds_.ignore_egl_sync_failures) { + gfx::GLFenceEGL::SetIgnoreFailures(); + } +#endif } void FeatureInfo::AddExtensionString(const char* s) { diff --git a/gpu/config/gpu_driver_bug_list_json.cc b/gpu/config/gpu_driver_bug_list_json.cc index 26be952..382bcba 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.14", + "version": "7.15", "entries": [ { "id": 1, @@ -1118,6 +1118,22 @@ LONG_STRING_CONST( "features": [ "use_non_zero_size_for_client_side_stream_buffers" ] + }, + { + "id": 99, + "description": "Qualcomm driver before Lollipop deletes egl sync objects after context destruction", + "cr_bugs": [453857], + "os": { + "type": "android", + "version": { + "op": "<", + "value": "5.0.0" + } + }, + "gl_vendor": "Qualcomm.*", + "features": [ + "ignore_egl_sync_failures" + ] } ] } diff --git a/gpu/config/gpu_driver_bug_workaround_type.h b/gpu/config/gpu_driver_bug_workaround_type.h index 77d721b..f03b7a2 100644 --- a/gpu/config/gpu_driver_bug_workaround_type.h +++ b/gpu/config/gpu_driver_bug_workaround_type.h @@ -58,6 +58,8 @@ gl_begin_gl_end_on_fbo_change_to_backbuffer) \ GPU_OP(GL_CLEAR_BROKEN, \ gl_clear_broken) \ + GPU_OP(IGNORE_EGL_SYNC_FAILURES, \ + ignore_egl_sync_failures) \ GPU_OP(INIT_GL_POSITION_IN_VERTEX_SHADER, \ init_gl_position_in_vertex_shader) \ GPU_OP(INIT_TEXTURE_MAX_ANISOTROPY, \ |