diff options
-rwxr-xr-x | ui/gl/generate_bindings.py | 1 | ||||
-rw-r--r-- | ui/gl/gl_surface_egl.cc | 12 |
2 files changed, 10 insertions, 3 deletions
diff --git a/ui/gl/generate_bindings.py b/ui/gl/generate_bindings.py index 6cd7e52..de6b521 100755 --- a/ui/gl/generate_bindings.py +++ b/ui/gl/generate_bindings.py @@ -1065,6 +1065,7 @@ FUNCTION_SETS = [ [EGL_FUNCTIONS, 'egl', ['../../third_party/khronos/EGL/eglext.h'], [ 'EGL_ANGLE_d3d_share_handle_client_buffer', + 'EGL_ANGLE_surface_d3d_texture_2d_share_handle', ], ], [WGL_FUNCTIONS, 'wgl', [ diff --git a/ui/gl/gl_surface_egl.cc b/ui/gl/gl_surface_egl.cc index 17ecce7..3fda8e7 100644 --- a/ui/gl/gl_surface_egl.cc +++ b/ui/gl/gl_surface_egl.cc @@ -439,8 +439,10 @@ bool PbufferGLSurfaceEGL::Resize(const gfx::Size& size) { size_ = size; - if (!Initialize()) + if (!Initialize()) { + LOG(ERROR) << "Failed to resize pbuffer."; return false; + } if (was_current) return current_context->MakeCurrent(this); @@ -457,8 +459,10 @@ void* PbufferGLSurfaceEGL::GetShareHandle() { NOTREACHED(); return NULL; #else - const char* extensions = eglQueryString(g_display, EGL_EXTENSIONS); - if (!strstr(extensions, "EGL_ANGLE_query_surface_pointer")) + if (!g_EGL_ANGLE_query_surface_pointer) + return NULL; + + if (!g_EGL_ANGLE_surface_d3d_texture_2d_share_handle) return NULL; void* handle; @@ -469,6 +473,8 @@ void* PbufferGLSurfaceEGL::GetShareHandle() { return NULL; } + CHECK(handle); + return handle; #endif } |