-
benjamin.poulain@nokia.com authored
Reviewed by Kenneth Rohde Christiansen. [Qt] When we render WebGL offscreen, color conversion cost a lot of CPU cycles https://bugs.webkit.org/show_bug.cgi?id=40884 The software fallback is now only needed for corner cases like a manual rendering of the page to QImage. Keeping the image with the last pixel values is no longer needed. Removing it reduce the performance for real-time rendering on software surface, but this case should no longer be supported. The conversion from OpenGL color space and coordinates is done manually for performance. This also fix the bug of the inverted X axis due to the transformation. The tests and benchmarks are done through Qt API tests. * platform/graphics/qt/GraphicsContext3DQt.cpp: (WebCore::swapBgrToRgb): (WebCore::GraphicsContext3DInternal::paint): (WebCore::GraphicsContext3D::reshape): 2011-03-24 Benjamin Poulain <benjamin.poulain@nokia.com> Reviewed by Kenneth Rohde Christiansen. [Qt] When we render WebGL offscreen, color conversion cost a lot of CPU cycles https://bugs.webkit.org/show_bug.cgi?id=40884 Add tests and benchmarks for the software fallback of WebGL. * tests/benchmarks/webgl/10000_triangles.html: Added. * tests/benchmarks/webgl/tst_webgl.cpp: Added. (GraphicsView::GraphicsView): (GraphicsView::resizeEvent): (tst_WebGlPerformance::init): (tst_WebGlPerformance::cleanup): (tst_WebGlPerformance::benchSoftwareFallbackRgb16): (tst_WebGlPerformance::benchSoftwareFallbackRgb32): (tst_WebGlPerformance::benchSoftwareFallbackArgb32): (tst_WebGlPerformance::benchSoftwareFallbackArgb32Premultiplied): (tst_WebGlPerformance::benchmarkFrameRenderingOnImage): * tests/benchmarks/webgl/tst_webgl.qrc: Added. * tests/benchmarks/webgl/webgl.pro: Added. * tests/qgraphicswebview/qgraphicswebview.pro: * tests/qgraphicswebview/resources/pointing_right.html: Added. * tests/qgraphicswebview/resources/pointing_up.html: Added. * tests/qgraphicswebview/tst_qgraphicswebview.cpp: (compareImagesFuzzyPixelCount): (GraphicsView::GraphicsView): (tst_QGraphicsWebView::webglSoftwareFallbackVerticalOrientation): (tst_QGraphicsWebView::webglSoftwareFallbackHorizontalOrientation): (tst_QGraphicsWebView::compareCanvasToImage): * tests/qgraphicswebview/tst_qgraphicswebview.qrc: * tests/tests.pro: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@81886 268f45cc-cd09-0410-ab3c-d52691b4dbfc
d30b8bc3