| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some PowerVR chipsets are unstable if mmap/PVR2DMemWrap is used to map
screen 0 instead of using PVR2DGetFrameBuffer. This change makes the
driver use PVR2DGetFrameBuffer for screen 0 and mmap/PVR2DMemWrap for
all other screens.
Reviewed-by: Julian de Bhal
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts (version number change in 4.5):
src/corelib/global/qglobal.h
src/qbase.pri
tools/qdoc3/test/assistant.qdocconf
tools/qdoc3/test/designer.qdocconf
tools/qdoc3/test/linguist.qdocconf
tools/qdoc3/test/qmake.qdocconf
tools/qdoc3/test/qt-build-docs.qdocconf
tools/qdoc3/test/qt.qdocconf
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since we have to update the brush for each paint command anyway keeping
the state of the brush and caching the value of simpleBrush makes no
sense.
Also, most times when filling with a brush
QPaintEngineEx::fillRect(const QRect &, const QBrush &) is called in
which we never got a brushChanged() anyway.
Reviewed-by: Donald <qt-info@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since we have to update the brush for each paint command anyway keeping
the state of the brush and caching the value of simpleBrush makes no
sense.
Also, most times when filling with a brush
QPaintEngineEx::fillRect(const QRect &, const QBrush &) is called in
which we never got a brushChanged() anyway.
Reviewed-by: Donald <qt-info@nokia.com>
|
|\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
src/corelib/global/qfeatures.h
src/gui/painting/qtransform.cpp
util/scripts/make_qfeatures_dot_h
|
| |
| |
| |
| |
| |
| |
| |
| | |
Ideally we'd let raster pixmap data handle this but QPixmap::fromImage
creates a QPixmapData::PixmapType regardless of the bit depth of the
image so we have to handle this case.
Reviewed-by: Donald <qt-info@nokia.com>
|
| |
| |
| |
| | |
Reviewed-by: TrustMe
|
| |
| |
| |
| |
| |
| |
| | |
Refactor two small things so that we don't get warnings when
QT_DIRECTFB_NO_(OPAQUEDETECTION|MOUSE|KEYBOARD) is defined
Reviewed-by: Shane McLaughlin <Shane.McLaughlin@trolltech.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Certain compilers warns on this kind of code:
uchar *mem = ...;
(void**)(&mem)
dereferencing type punned pointer etc.
Since we had this for every call to Lock I put it all into a convenience
function. Also fix some issues where we memcpy'ed more bytes than
necessary (when stride != w * depth() / 8) and fix issue with
QDirectFBScreen::solidFill with pixelFormat == RGB32
Reviewed-by: Donald <qt-info@nokia.com>
|
| |
| |
| |
| |
| |
| |
| | |
We never resize this surface anyway so it's not necessary. Make it
possible to enable with an option.
Reviewed-by: Donald <qt-info@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Without this patch Alt-modifiers doesn't work. The extra mappings are
needed for certain keys to work right on atleast one known DirectFB
implementation/hardware combination.
Reviewed-by: Donald <qt-info@nokia.com>
|
|/
|
|
| |
Reviewed-by: Gunnar
|
|
|
|
|
|
|
|
| |
Also add support for setting the width and height of the primary surface
using display arguments (which can be good when debugging performace
issues).
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
|
|
|
|
| |
When this code was written there was never a case when we would not blit
our flips and hence the entire if (!(flipFlags & DSFLIP_BLIT)) business
seems not to have been tested anyway. Since I don't see the point of
this I am taking it out. Might enable us to actually create the primary
surface in video memory more often.
Reviewed-by: TrustMe
|
|
|
|
|
|
|
| |
If connect options are set to include videoonly and creating the primary
surface in video memory fails warn even in release mode.
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
| |
The QVarLengthArray approach makes no sense with DirectFB. Draw.*s is a
regular function call and the receiving function even memcpy's the data
on arrival anyway.
Just call the Draw.* functions one by one
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
| |
Opacity doesn't play well with PorterDuff so we need to disable the
porter duff when opacity is set. Also the DSBLIT_SRC_PREMULTCOLOR flag
is not the right thing for us.
Reviewed-by: TrustMe
|
|
|
|
| |
Reviewed-by: TrustMe
|
|
|
|
| |
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
| |
Try harder to prevent blends by explicitly checking for alpha pixels in
the source image (unless asked not to).
Can be defined out by #defining QT_NO_DIRECTFB_OPAQUE_DETECTION
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
|
| |
Make the paintOnScreen case paint directly on the primary surface if the
size of the window surface == size of primary surface.
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
|
| |
Only enabled in debug builds since it could something that should be
ignored.
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
|
|
|
|
| |
This was rather broken previously.
For example, porterduff mode does not play well with alpha values and
blends. Also, setting the flags to the existing value is a noop in
DirectFB (checked the code) so bool dirty approach buys us nothing.
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
|
| |
Fall back to raster engine for formats not supported by dfb rather than
converting the image to a supported format.
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
|
|
|
| |
Drawing operations with DirectFB in RGB32 changes the alpha byte to 0.
This doesn't play well with QRasterEngine.
See 5fb7752ff93b31635e64fa321917749744cc9db6 and
34059fba55816496d2570b3306ac2b631b12a5c6
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
| |
Make it more flexible. This patch allows people to use DFB without
DSFLIP_BLIT. Also, before this patch the flip= options weren't really
used for anything.
Reviewed-by: TrustMe
|
|
|
|
|
|
|
| |
It seems DirectFB doesn't preserve alpha value of a blit unless BLEND is
specified and if it is we need to Clear to transparent first.
Reviewed-by: TrustMe
|
|
|
|
| |
Reviewed-by: TrustMe
|
|
|
|
|
|
| |
QT_NO_DIRECTFB_LAYER doesn't work unless QT_NO_DIRECTFB_WM also is
defined.
Reviewed-by: TrustMe
|
|
|
|
|
|
| |
QDirectFBPaintDevice's know their screen. No need to use instance() in
these cases.
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
| |
DirectFB caches the last source surface in the target surface after a
Blit. This can cause a surface to be kept around longer than desired
since the caching increases the ref-count. Unless it's likely that the
blit will happen again soon we Release the source.
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
| |
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
|