diff options
author | Samuel Rødal <srodal@gmail.com> | 2014-10-31 17:02:36 +0100 |
---|---|---|
committer | Samuel Rødal <srodal@gmail.com> | 2014-11-14 11:49:57 +0100 |
commit | c5a9155fa0da2da1918e7419881eb472f408f9dc (patch) | |
tree | 85ff01bcf246442eb83b2a4f608347903ff34735 /Source/JavaScriptCore/Scripts/generate-js-builtins.py | |
parent | 7e29781fac7f864ac80ca52be5e61c4f1a500308 (diff) | |
download | qtwebkit-c5a9155fa0da2da1918e7419881eb472f408f9dc.tar.gz |
Avoid using a separate QOpenGLContext for 2D canvas if possible
When using a QGLWidget or QOpenGLWidget as a QGraphicsView viewport, we
can share the context used there. The OpenGL paint engines already keep
track of which engine is currently active on a context, and if necessary
do a state sync to give control to a different paint engine.
The TextureMapperGL does not interfere with the canvas rendering, as
canvas rendering happens entirely separate from the compositing step.
TextureMapperGL's compositing code is also wrapped inside a
QPainter::beginNativePainting() and QPainter::endNativePainting() block,
which means that the paint engine gets a chance to ensure the correct
paint device is the active target, if there have been framebuffer
objects bound for canvas rendering since the last frame.
This can result in significant performance improvements on graphics
drivers where context switching is expensive.
Change-Id: I00ac4e26c026e10549b18bef1fdf4322dd17eeee
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Diffstat (limited to 'Source/JavaScriptCore/Scripts/generate-js-builtins.py')
0 files changed, 0 insertions, 0 deletions