summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/Scripts/generate-js-builtins.py
diff options
context:
space:
mode:
authorSamuel Rødal <srodal@gmail.com>2014-10-31 17:02:36 +0100
committerSamuel Rødal <srodal@gmail.com>2014-11-14 11:49:57 +0100
commitc5a9155fa0da2da1918e7419881eb472f408f9dc (patch)
tree85ff01bcf246442eb83b2a4f608347903ff34735 /Source/JavaScriptCore/Scripts/generate-js-builtins.py
parent7e29781fac7f864ac80ca52be5e61c4f1a500308 (diff)
downloadqtwebkit-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