| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
This is essentially a return to the earlier version of toImage(). Use a
preallocated surface that operates on the returned image to do the
conversion. If this causes drawing bugs it is likely a bug in the
directfb driver and can be worked around by compiling with
QT_NO_DIRECTFB_PREALLOCATED.
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
|
|
| |
If we're asking for the stride it's very likely the next thing we'll do
is ask for the bits() so there's no good reason to unlock it again.
In the raster buffer case memory() will be called just before
bytesPerLine() so the code won't be hit but it's still the right thing
to do.
Reviewed-by: TrustMe
|
|
|
|
|
|
|
| |
This is not X11. There's no need to create another structure to hold the
DFB rectangles. Verified by DirectFB expert.
Reviewed-by: TrustMe
|
|
|
|
| |
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
| |
Need to set blitting flags before blitting from a surface with alpha
channel. Otherwise alpha areas become white.
For some reason setting the porterduff to DSPD_SRC does not fix this.
Reviewed-by: TrustMe
|
|
|
|
|
|
| |
Make sure we retain the alpha channel of the original surface.
Reviewed-by: TrustMe
|
|
|
|
|
|
| |
Make sure we keep retain alpha if there is one in the source.
Reviewed-by: TrustMe
|
|
|
|
|
|
| |
Use the intended functions for surface creation.
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
| |
For an example of something that breaks without this fix show a spinbox
in plastique style.
The clip is never removed.
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
| |
CreateWindow gives you more control over how windows are created. Make
sure to specify that they're in the same format as the primary surface
and that they're in video memory if this is supported.
Reviewed-by: TrustMe
|
|
|
|
|
| |
Need to set forceRaster to true if the window surface is RGB32.
Reviewed-by: TrustMe
|
|
|
|
|
| |
DirectFB can only handle cases where the pen's brush is Qt::SolidPattern
Reviewed-by: TrustMe
|
|
|
|
|
|
|
| |
Make sure we create the surface from the converted image and not the
original one.
Reviewed-by: TrustMe
|
|
|
|
|
|
|
| |
If flags does not contain DSDESC_CAPS caps might very well be
uninitialized. Make sure to properly deal with this situation.
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
|
| |
Add some frames-per-second output for debugging when QT_DIRECTFB_TIMING
is defined.
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
| |
We don't need to chain to the base class anymore.
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
|
| |
Even though these variables couldn't really be used uninitialized GCC
4.3.2 thinks it could. This is nicer, more readable and faster anyway.
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
|
| |
The wrong temporary surface id was being used to recreate the EGL
surface. It was "tempSurface" when it should have been -1.
Reviewed-by: Ian Walters
|
|
|
|
|
|
|
| |
The QT_QWS_CLIENTBLIT and QT_NO_QWS_CURSOR defines must be supplied
or the direct paint regions used by the PowerVR driver won't work.
Reviewed-by: trustme
|
|
|
|
|
|
| |
I messed up the cherry-pick merge and left one of these in.
Reviewed-by: TrustMe
|
|
|
|
|
|
|
| |
They only make sense under the assumption that there most of the time is
no transform. With Falcon this isn't really the case.
Reviewed-by: Tom Cooksey <thomas.cooksey@nokia.com>
|
|
|
|
|
|
|
| |
Use the format passed in to the function rather than detecting it again
based on hasAlphaChannel().
Reviewed-by: Tom Cooksey <thomas.cooksey@nokia.com>
|
|
|
|
|
|
|
|
|
|
| |
The crash was caused by out-of-bounds reading on the raster engine's
clipping structures since our size had changed size last lock.
This code makes sure the clipData structures are atleast as tall as the
current height of the paint device.
Reviewed-by: Tom Cooksey <thomas.cooksey@nokia.com>
|
|
|
|
|
|
| |
Clipping for drawLines works fine. textureBrushes are now accelerated
Reviewed-by: TrustMe
|
|
|
|
|
|
| |
Use the right surface for locking/unlocking.
Reviewed-by: TrustMe
|
|
|
|
|
|
| |
s/QDirectFBSurface/QDirectFBScreen/g
Reviewed-by: TrustMe
|
|
|
|
|
| |
Everything else capitalizes both the F and the B. s/Fb/FB/g
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DirectFB sets the alpha byte to 0 in RGB32 for all drawing operations.
The raster paint engine needs this padding byte to be 0xFF as it shares
some code paths with RGBA8888_Premultiplied. So, always fall back to
raster engine for draw operations.
This is really due to a bug in the raster paint engine (Tracked by task
184073), which should ignore the extra byte. Once this task is fixed,
this patch can probably be reverted.
Reviewed-by: Tom Cooksey
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make sure all QDirectFBPaintDevice surfaces always are created with a
format that is either QScreen::pixelFormat() or
QDirectFBScreen::alphaPixmapFormat().
Also, clean up surface creation by providing more high level functions.
Fix a bug where we would assume that ARGB means
Format_ARGB32_Premultiplied and not Format_ARGB32.
Reviewed-by: Tom Cooksey
|
|
|
|
|
|
|
|
| |
Fixes two bugs with regards to Flip(). We blit'ed the boundingRect of
the updated region rather than each rect which is wasteful. More
importantly we ignored the offset which would lead to painting errors.
Reviewed-by: Tom Cooksey
|
|
|
|
|
|
|
|
| |
Store the QDirectFBPaintDevice we're painting and use this when
unlocking/locking instead of working on QPaintEngine::device() which
isn't necessarily the same.
Reviewed-by: Tom Cooksey
|
|
|
|
|
|
| |
Improve readability of code.
Reviewed-by: Tom Cooksey
|
|
|
|
|
|
|
| |
This class should never be instantiated without being subclassed so a
protected constructor is the clean thing to do.
Reviewed-by: Tom Cooksey
|
|
|
|
|
|
|
| |
It's never necessary. Any surface we ever intend to lock and write to
should never have a color table.
Reviewed-by: Tom Cooksey
|
|
|
|
|
|
| |
No sense in locking every time we want the bpl. The bpl won't change
Reviewed-by: Tom Cooksey
|
|
|
|
|
|
|
| |
No need to go through the FillRectangles case which would allocate a
bunch of T on the stack.
Reviewed-by: Tom Cooksey
|
|
|