summaryrefslogtreecommitdiffstats
path: root/src/opengl/qpaintengine_opengl.cpp
diff options
context:
space:
mode:
authorRhys Weatherley <rhys.weatherley@nokia.com>2009-05-01 00:59:47 (GMT)
committerRhys Weatherley <rhys.weatherley@nokia.com>2009-05-01 00:59:47 (GMT)
commit05ddcb4d40a56878e45bf6a06dd178217fa534f1 (patch)
treebbce506301799e4767a7ebb347286052da7512de /src/opengl/qpaintengine_opengl.cpp
parent6e0e3c7312bbceef69e61b745d88076224745a33 (diff)
parent1092ef425b9ed5835e4863c5ec32f9fc21af8d4d (diff)
downloadQt-05ddcb4d40a56878e45bf6a06dd178217fa534f1.zip
Qt-05ddcb4d40a56878e45bf6a06dd178217fa534f1.tar.gz
Qt-05ddcb4d40a56878e45bf6a06dd178217fa534f1.tar.bz2
Merge branch 'shader-api' into gl2engine-new-shaders
Conflicts: src/opengl/opengl.pro src/opengl/qglextensions.cpp src/opengl/qglextensions_p.h src/opengl/qglshaderprogram.cpp src/opengl/qglshaderprogram.h
Diffstat (limited to 'src/opengl/qpaintengine_opengl.cpp')
-rw-r--r--src/opengl/qpaintengine_opengl.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/opengl/qpaintengine_opengl.cpp b/src/opengl/qpaintengine_opengl.cpp
index 069daac..612168e 100644
--- a/src/opengl/qpaintengine_opengl.cpp
+++ b/src/opengl/qpaintengine_opengl.cpp
@@ -3539,8 +3539,14 @@ void QOpenGLPaintEngine::drawRects(const QRectF *rects, int rectCount)
d->disableClipping();
GLuint program = qt_gl_program_cache()->getProgram(d->drawable.context(),
FRAGMENT_PROGRAM_MASK_TRAPEZOID_AA, 0, true);
- QGLRectMaskGenerator maskGenerator(path, d->matrix, d->offscreen, program);
- d->addItem(qt_mask_texture_cache()->getMask(maskGenerator, d));
+
+ if (d->matrix.type() >= QTransform::TxProject) {
+ QGLPathMaskGenerator maskGenerator(path, d->matrix, d->offscreen, program);
+ d->addItem(qt_mask_texture_cache()->getMask(maskGenerator, d));
+ } else {
+ QGLRectMaskGenerator maskGenerator(path, d->matrix, d->offscreen, program);
+ d->addItem(qt_mask_texture_cache()->getMask(maskGenerator, d));
+ }
d->enableClipping();
}