diff options
Diffstat (limited to 'gpu/config/gpu_info_collector.cc')
-rw-r--r-- | gpu/config/gpu_info_collector.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gpu/config/gpu_info_collector.cc b/gpu/config/gpu_info_collector.cc index dba8c0b..0bb83dd 100644 --- a/gpu/config/gpu_info_collector.cc +++ b/gpu/config/gpu_info_collector.cc @@ -108,6 +108,14 @@ bool CollectGraphicsInfoGL(GPUInfo* gpu_info) { gpu_info->gl_ws_extensions = window_system_binding_info.extensions; } + bool supports_robustness = + gpu_info->gl_extensions.find("GL_EXT_robustness") != std::string::npos || + gpu_info->gl_extensions.find("GL_ARB_robustness") != std::string::npos; + if (supports_robustness) { + glGetIntegerv(GL_RESET_NOTIFICATION_STRATEGY_ARB, + reinterpret_cast<GLint*>(&gpu_info->gl_reset_notification_strategy)); + } + // TODO(kbr): remove once the destruction of a current context automatically // clears the current context. context->ReleaseCurrent(surface.get()); @@ -135,6 +143,8 @@ void MergeGPUInfoGL(GPUInfo* basic_gpu_info, basic_gpu_info->gl_ws_vendor = context_gpu_info.gl_ws_vendor; basic_gpu_info->gl_ws_version = context_gpu_info.gl_ws_version; basic_gpu_info->gl_ws_extensions = context_gpu_info.gl_ws_extensions; + basic_gpu_info->gl_reset_notification_strategy = + context_gpu_info.gl_reset_notification_strategy; if (!context_gpu_info.driver_vendor.empty()) basic_gpu_info->driver_vendor = context_gpu_info.driver_vendor; |