[Webkit-unassigned] [Bug 161530] New: Stop using glReadPixels() to blit AC surfaces in the UIProcess
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Sep 2 03:03:00 PDT 2016
https://bugs.webkit.org/show_bug.cgi?id=161530
Bug ID: 161530
Summary: Stop using glReadPixels() to blit AC surfaces in the
UIProcess
Classification: Unclassified
Product: WebKit
Version: WebKit Local Build
Hardware: Unspecified
OS: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: WebKit Gtk
Assignee: webkit-unassigned at lists.webkit.org
Reporter: emanuele.aina at collabora.com
CC: bugs-noreply at webkitgtk.org
glReadPixels() is quite obviously suboptimal in the AC paint loop under Wayland[1], and we need a better mechanism to blit surfaces on the window.
One option would be to rely on gdk_cairo_draw_from_gl()[1], but unfortunately we can't trivially use that as it results in the image being y-flipped on screen. Apparently gdk_cairo_draw_from_gl() is already doing its own y-flipping[3], so in my current limited understanding of how GL and its GTK+ integration works the best option would be to flip rendering in the UIProcess and then pipe the resulting surfaces through gdk_cairo_draw_from_gl().
I'm not sure if the current rendering is wrong or it's a weird GL inconsistency that we would have to work around, but at least this approach would just work with current GTK+. :)
[1] https://trac.webkit.org/browser/trunk/Source/WebKit2/UIProcess/gtk/AcceleratedBackingStoreWayland.cpp?rev=205116#L74
[2] https://git.gnome.org/browse/gtk+/tree/gdk/gdkgl.c#n330
[3] https://git.gnome.org/browse/gtk+/tree/gdk/gdkgl.c#n455
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20160902/3db77114/attachment.html>
More information about the webkit-unassigned
mailing list