| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change 4c515ceb fixed Intersect and Unite-clipping after doing
setClipping(false), but also introduced a performance problem.
If there was no pre-existing clip we'd convert IntersectClips to
ReplaceClips, which is unnecessary since the paint engines already
handle this correctly.
IntersectClips can be handled much more efficiently in the OpenGL 2
paint engine for example. We only need to convert to ReplaceClip when
someone has used setClipEnabled(false) which is anyways expensive and
not recommended.
Reviewed-by: Trond
|
|
|
|
|
|
|
|
|
|
|
| |
When rasterization in the gray raster fails due to out of memory there
might already have been a number of spans flushed. To avoid flushing
these spans multiple times and thus getting overdraw artifacts we need
to keep track of how many spans to skip when we redo the rasterization.
This fixes the rendering error in arthur test paths_aa.qps
Reviewed-by: Yoann Lopes
|
|
|
|
|
|
|
|
|
| |
The gray raster uses long to ensure having 32-bit integers since it was
originally designed to work on 16-bit platforms as well. On 64-bit
platforms switching to use int instead of long gives a performance boost
of ~10 % or so depending on the use case.
Reviewed-by: Yoann Lopes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change 7c673a4cf64ba04 introduced some autotest failures in the
fpe_steepSlopes test in QPainter.
Since the other rasterizers all deal in a 26.6 fixed point coordinate
space we should snap the line vertices to this to prevent floating point
overflows due to very steep slopes.
This also necessitates keeping track of four different slope / inverse
slope increments for each of the four edges.
This also fixes a previously QEXPECT_FAIL'ed test case.
Task-number: QTBUG-13429
Reviewed-by: Trond
|
|
|
|
|
|
|
|
|
|
|
| |
With a large pen width and a small scale, due to the hacky way we draw
points (stroking a line from (x, y) to (x + tiny_amount, y)), we some
times end up snapping these two points to the same in rasterizeLine().
If we instead apply the SquareCap before we do clipping / snapping we
don't get this problem.
Task-number: QTBUG-13429
Reviewed-by: Trond
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1:
apply msvc flags to wince too
fix qt static build on wince
fix build with QT_NO_GESTURES
qmake: fix quoting of moc calls
Use regparm(3) for ICC too, otherwise it's an ABI mismatch in QChar
Regenerate the Unicode tables after updates to the generator tool
Compile in C++0x mode
remove extra includes
minor clean-ups
minor improvements for data parsers
tiny clean-up for generated data
move QUnicodeTables:: script() and lineBreakClass() implementations
make lupdate test less fragile
Enable building Qt/Webkit with debug symbols
Add breakpad support
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Our glyph caching system doesn't take GL texture size limitation into
account, and assumes you can create an infinitely large texture.
On top of that, the cache will never create a cache that is wider
than 256, or QT_DEFAULT_TEXTURE_GLYPH_CACHE_WIDTH, which means we'll
hit the texture size limit even faster. With this patch the entire
texture is utilized. However, to fix in properly we need to support
having multiple texture for each font engine. That will be fixed
shortly (see task QTBUG-13784).
Task-number: QT-3971
Reviewed-by: Eskil
|
|/
|
|
|
|
|
| |
Some old work-around code is no longer needed...
Task-number: QTBUG-13721
Reviewed-by: Samuel
|
|
|
|
|
|
|
| |
When the PS_COSMETIC style is used, the pen width has to be 1.
Task-number: QTBUG-13065
Reviewed-by: Samuel
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (45 commits)
Doc: css fine tuning
Doc: Fixed a non-compiling example.
Doc: removing linebreak
Doc: correcting html template
Doc: Updated What's new in 4.7 page
Doc: Updated What's new in 4.7 page
Doc: Removing google analytics from offline docs
Doc: fixing creator bug in page footer
Doc: correcting html template - validating
Doc: fixing issues with table indent - css
Doc: Fixing style: line height, ol indent, coulmns (css3)
Doc: correcting html template
Doc: Updated the Mac requirements page.
Doc: Cleaning up the known issues page. Pointing people to check the online resources.
Added a QFormLayout snippet to the layout.qdoc and layouts.cpp
Doc: Removing section about Multimedia - playback and declarative elements. This was descoped from Qt 4.7.
Doc: Listed undoable operations in QTextDocument
Revert "Doc: fixing page name bug caused by 07bbace404078dcfd82eff717daa97299b8ba52c changing qml elements page"
Doc: Note on updating proxy models with dynamic sort filters
qdoc: Fixed an html formatting error in the QML property list.
...
|
| |\ |
|
| |\ \
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/gui/kernel/qgesturemanager.cpp
|
| |\ \ \ |
|
| |\ \ \ \ |
|
| |\ \ \ \ \ |
|
| |\ \ \ \ \ \ |
|
| |\ \ \ \ \ \ \ |
|
| |\ \ \ \ \ \ \ \ |
|
| |\ \ \ \ \ \ \ \ \ |
|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Tasks: QTBUG-13271, QTBUG-13212, QTBUG-12321
Reviewer: David Boddie
|
| |_|_|_|_|_|_|_|_|/
|/| | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
With XLC 10, calls to static functions within a template function
need to be fully qualified.
Reviewed-by: Marius Storm-Olsen
|
|\ \ \ \ \ \ \ \ \ \
| | |_|_|_|_|_|_|_|/
| |/| | | | | | | | |
|
| |\ \ \ \ \ \ \ \ \
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
Fix top-left corner of rounded rects in QPaintEngineEx
|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Reviewed-by: Rhys Weatherley
|
| |\ \ \ \ \ \ \ \ \ \
| | |/ / / / / / / / /
| |/| | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (25 commits)
run depend_command even if the binary has no absolute path
fix scaleFactor/totalScaleFactor in QPinchGestureRecognizer
Added velocity property to the QPanGesture.
Changed the speed property on QSwipeGesture to velocity
fix typos in comment
unbreak test
Don't add generic subdirs project twice.
Remove debug, quiet warnings.
Fix memory leaks and valgrind errors.
QStroker: Fix erroneous SvgMiterJoin behavior for parallel lines
Revert "Properly implement qobject_cast for const pointers."
Bearer management: Fix compilation with namespace.
fetch next token after class definition opening
delay next token fetching when opening namespace
don't let operator overloads confuse us
don't try to show source when no locations are given
Implement a private API for setting title widgets
Fix the bug for QSettings on Windows, to store qint32/quint32, qint64/quint64 in Windows registry.
fix CRLF
Added private API to install an x11EventFilter
...
|
| | |\ \ \ \ \ \ \ \ \
| | | |_|_|_|_|_|_|_|/
| | |/| | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (25 commits)
run depend_command even if the binary has no absolute path
fix scaleFactor/totalScaleFactor in QPinchGestureRecognizer
Added velocity property to the QPanGesture.
Changed the speed property on QSwipeGesture to velocity
fix typos in comment
unbreak test
Don't add generic subdirs project twice.
Remove debug, quiet warnings.
Fix memory leaks and valgrind errors.
QStroker: Fix erroneous SvgMiterJoin behavior for parallel lines
Revert "Properly implement qobject_cast for const pointers."
Bearer management: Fix compilation with namespace.
fetch next token after class definition opening
delay next token fetching when opening namespace
don't let operator overloads confuse us
don't try to show source when no locations are given
Implement a private API for setting title widgets
Fix the bug for QSettings on Windows, to store qint32/quint32, qint64/quint64 in Windows registry.
fix CRLF
Added private API to install an x11EventFilter
...
|
| | | | |_|_|_|_|_|/
| | | |/| | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
QLineF::intersect() yields an undefined intersectionPoint for parallel
lines. Thus if the distance to 0,0 is shorter than the current miter
limit, we would draw a triangle to 0,0.
Handle this by not drawing the triangle for parallel lines.
This matches the behavior of Qt::MiterJoin.
|
| |/ / / / / / / /
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Aligned load() and store() have been shown to be faster for the
composition functions. This patch applies this to the solid
SourceOver function.
Reviewed-by: Samuel Rødal
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Writing the data of memfill() to a cacheline is unecessary because the
data is not reused directly. We can use the stream operations to avoid
the cache completely.
When testing memfill32 separately, the function is twice as fast
on Core2 and Atom.
Reviewed-by: Samuel Rødal
|
| |/ / / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Memory is allocated on 16 bytes boundaries. We can do the
aligned load without risking a invalid memory access.
This simplify the code.
Reviewed-by: Samuel Rødal
|
| |\ \ \ \ \ \ \
| | |_|_|_|_|_|/
| |/| | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public:
Fix crash in QRuntimeGraphicsSystem due to destruction order.
Fix crash in OpenVG when failing to allocate large VGImages.
Updated 4.7.0 changelog
|
| | | |_|_|_|/
| | |/| | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Firstly, fix a "leak" by deleting the graphics system when QApplication
is destroyed.
Secondly, fix a crash when the following scenario occurs:
- ~QApplication() deletes the current graphics system (see above)
- ~QApplication() calls qt_cleanup()
- qt_cleanup() calls QPixmapCache::clear() to delete pixmaps
- ~QRuntimePixmapData() tries to remove the pixmap from the runtime
graphics system, but it has already been deleted.
- *Crash*
Reviewed-by: Gunnar Sletta
Reviewed-by: Jani Hautakangas
|
| |/ / / / / |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
since QTransform does not inherit QObject its redundant
Reviewed-by: gunnar
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Scaling down, no rotation, with SSE2.
Specialize for ARGB32 not tiled, so the pixelbound can be simplified
Reviewed-by: Samuel
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
when scale down, with no rotations
Process the pixel 4 by 4 and do the interpolation using SSE2
Reviewed-by: Samuel
|
| | |_|_|/
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Another way to compute the interpolation that does less multiplications.
Small inpact on benchmark
Made-with: Samuel
|
|/ / / / |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Windows 64 does not support MMX with MSVC. This is a problem
with the way SSE is currently used because it rely on previous
vector instructions being available.
This patches fixes that by using the intended functions for
SSE2 on Windows.
Merge-request: 792
Reviewed-by: Benjamin Poulain <benjamin.poulain@nokia.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
move the -1 out of the loop
Reviewed-by: Benjamin Poulain
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | | |
With the recent optimisation in fetchTransformedBilinear, the generic
path is faster than the 'optimized' path
Reviewed-by: Samuel
|
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-13331
Reviewed-by: Samuel
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This gives a nice speedup for blitting of small and medium sized
images by using preloading and avoiding function call overhead to
memcpy for each scanline. For larger image widths memcpy becomes more
efficient.
Speedups of up to 40 % for 64 pixel wide images were measured.
For image widths between 2 and 16 the speedup ranges between 12 %
and 28 %.
Task-number: QT-3401
Reviewed-by: Benjamin Poulain <benjamin.poulain@nokia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Qt does not build on PowerPC when compiling for both x86 and PPC on Mac.
The compiler is invoked only once for both architecture so the defines
are there in order to get the optimized path for x86. Those defines
needs to be removed from the compilation environment when the target
is set to PPC by GCC.
Reviewed-by: Kent Hansen
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Like OpenGL2 and OpenVG, the OpenGL1 paint engine also transforms text
coordinates itself and does not require QStaticText to use device
coordinates.
Task-number: QTBUG-13228
Reviewed-by: Samuel
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
master to 4.7
This backport the following commits:
e55b6a3 qdrawhelper: remove code duplication
0d7e683 qdrawhelper: optimize fetchTransformedBilinear
29ef46e Fix compilation with RVCT
6601458 qdrawhelper: Use SSE2 in fetchTransformedBilinear (when scalling up)
398ef0ca Fix nasty copy-paste bug in fetchTransformedBilinear()
d585ece qdrawhelper: fix assert in fetchTransformedBilinear
Reviewed-by: Benjamin Poulain
|
| |
| |
| |
| |
| |
| |
| |
| | |
There are explicit tests in qdatastream for this. IMO it's wrong,
wrong, wrong, but it's currently abused in the SVG module so we can't
change it.
Reviewed-by: Gunnar
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This could cause some strange things to happen in our fallback code
used for e.g. printing, since the brush might be valid and e.g. contain
alpha values etc.
Task-number: QTBUG-12263
Reviewed-by: Gunnar
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit d2089600ea247b5d6354e8eee4becf40802c4693.
Reverting in order to avoid conflict in the master branch.
We are going to consider backporting the changes to Qt 4.7.1
Reviewed-by: Benjamin Poulain
|