Bug 193903

Summary: [GTK] gdk_cairo_draw_from_gl() in AcceleratedBackingStoreWayland fails in GtkInspector's magnifier
Product: WebKit Reporter: Alice Mikhaylenko <alicem>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: berto, bugs-noreply, cgarcia, ews-watchlist, gustavo, magomez, mcatanzaro, webkit-bug-importer
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 192523    
Attachments:
Description Flags
WebkitWebView in magnifier
none
Patch mcatanzaro: review+

Description Alice Mikhaylenko 2019-01-28 05:50:05 PST
Created attachment 360336 [details]
WebkitWebView in magnifier

AcceleratedBackingStoreWayland uses gdk_cairo_draw_from_gl() for drawing on GTK+ 3.16.0+. For some reason, in GtkInspector's magnifier or when drawing into a non-default Cairo surface, it doesn't draw anything and generates GL_INVALID_OPERATION (when I manually add glGetError() checks, by default it doesn't print anything.

See attached screenshot

Fedora 29, Intel GPU, Wayland, org.gnome.Platform//master in Flatpak.
Comment 1 Alice Mikhaylenko 2019-01-28 08:13:06 PST
Forgot to mention that it specifically only happens with the GTK 3.16.0+ codepath which is a single call to gdk_cairo_draw_from_gl(). If I comment out that part to let it use the custom pipeline, it works just fine.
Comment 2 Carlos Garcia Campos 2019-01-30 06:02:44 PST
Created attachment 360573 [details]
Patch
Comment 3 EWS Watchlist 2019-01-30 06:05:08 PST
Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API
Comment 4 Michael Catanzaro 2019-01-30 07:25:40 PST
Comment on attachment 360573 [details]
Patch

I bet Miguel would want to review it before landing.
Comment 5 Carlos Garcia Campos 2019-01-30 08:15:18 PST
Committed r240712: <https://trac.webkit.org/changeset/240712>