| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
| |
Since this is C there are no constructors.
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
| |
Reviewed-by: TrustMe
|
|
|
|
|
|
| |
QDirecttFBPixmapData => QDirectFBPixmapData
Reviewed-by: TrustMe
|
|
|
|
| |
Reviewed-by: TrustMe
|
|
|
|
| |
Reviewed-by: TrustMe
|
|
|
|
|
|
| |
Include info on the primary surface pixelformat.
Reviewed-by: TrustMe
|
|
|
|
|
|
| |
We're just printout out the integer value anyway.
Reviewed-by: TrustMe
|
|
|
|
|
| |
Needed for fallback warnings
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
| |
Put all variables in the same area for QDirectFBPaintEnginePrivate. Make
QDirectFBPaintEngine a friend.
Also, do away with setClipDirty and replace it with d->clipDirty = true;
Reviewed-by: TrustMe
|
|
|
|
|
|
|
| |
Move private functions to the bottom of the file to be more in line with
how most qt cpp files are structured.
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
|
|
| |
Make image caching a lot cleaner and more sensible.
By default we do not cache images since creating a preallocated surface
is quick and we don't really want to waste memory. In the case where the
driver does not support preallocated surfaces you can enable image
caching to speed up drawImage.
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
| |
Store whether qt was built with qt3support enabled in .qmake.cache. We
need this info to decide if QT3_SUPPORT should be defined when we
include qimage_p.h. Otherwise we get data corruption issues since the
size of struct in Qt is larger than the one we include in libqdirectfb.
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
| |
Made SurfaceCache entirely inline for better readability.
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
|
|
| |
Store the memory address of our last QRasterBuffer::prepare() call to
make sure we reprepare if someone has unlocked and locked the device
behind our back.
Also optimize QDirectFBDevice::memory() since it might get called a fair
bit.
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
|
|
| |
Fall back to raster engine when using a transform with
m11 < 0 || m22 < 0.
Task-number: 252921
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
|
| |
Format the debug info on blitting, drawing and acceleration capabilities
better.
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
| |
Allow setting of a QMAKE_INCDIR_POWERVR in the mkspec to specify where the
pvr2d.h & wsegl.h files are located. Set to src/3rdparty/powervr to use
the headers distributed with Qt (for SGX-based SoCs).
Reviewed-by: Trustme
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The PowerVR driver on Qt for Embedded Linux needs to use Imagination
Techologies' proprietary pvr2d & wsegl APIs. These are the headers for
those APIs, allowing the powervr driver to be built. Ideally, these
headers would be provided as part of the SDK supplied by chipset vendors.
For now, we include these headers to let people get going with the
driver.
Licence headers were approved by legal for inclusion into Qt, after some
negotiation with ImgTec (who have also approved their inclusion into
Qt). The headers have also passed a scan by Talko, provided the licence
headers aren't touched.
Reviewed-by: Paul
|
|
|
|
|
|
|
| |
This helps avoid confusion between IDirectFBSurface and
QDirectFBSurface.
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
|
|
|
|
| |
From benchmarking I've established that surface->Lock(DSLF_READ) is
faster than surface->Lock(DSLF_WRITE) which is faster than
surface->Lock(DSLF_READ|DSLF_WRITE).
This patch will make us Lock for read only, when possible.
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
|
|
| |
export QWS_DISPLAY=directfb:boundingrectflip to enable calling Flip on
the bounding rect of the dirtied area rather than each dirty rectangle.
This could be faster if you update many small rectangles.
Reviewed-by: TrustMe
|
|
|
|
|
|
| |
Qt's coding style => Object *ptr, not Object* ptr
Reviewed-by: TrustMe
|
|
|
|
|
|
|
| |
Print out detailed information about acceleration mask, blitting flags
and drawing flags when passing debug.
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
|
| |
Clean up code and make it possible to set more DFBSurfaceCapabilities on
the primary surface.
Also allow users to force systemonly for the surfaces.
|
|
|
|
|
|
|
|
| |
Since I am taking a copy of the description anyway it makes sense to
just pass this light-weight object in as a copy rather than a const
pointer.
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
| |
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
|
| |
d->clip() might return 0 at this point so make sure we check before
accessing it.
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
| |
Make code more readable by not chaining to QScreenCursor for hide/show.
Since hwaccel is true we don't need the exposeRegion call anyway.
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
| |
The enabling/disabling of the Cursor belongs in the
QDirectFBMouseHandler class and not in the QDirectFBScreenCursor. Even
if we use the Qt software cursor we need the events to come in from the
mouse handler.
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
|
| |
Refactor cursor management code to do. No need to change the cooperative
level four times for each show/hide. Simplify code a little.
Also we used to disable the cursor when we wanted to hide it which meant
that we no longer received mouse events.
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
|
| |
Instead of having multiple bool QDirectFBScreen::.* getters I added
DirectFBFlags QDirectFBScreen::directFBFlags() function.
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is currently the only way I can make QGraphicsView not have to fall
back to the raster engine for all operations. It seems the QRegion
passed to the paintEvent of QGraphicsView also is set as the systemClip
which in the end makes the QRasterPaintEngine's clipRegion equal the
systemClip. By exporting QWS_DISPLAY=directfb:ignoresystemclip you can
now draw without having a complex clip and therefore take advantage of
hw acceleration with DirectFB.
Reviewed-By: Donald <qt-info@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allow programmers to select which operations they want to warn
on/disable and which not to.
To warn for DRAW_PIXMAP only you can do this:
DEFINES += QT_DIRECTFB_WARN_ON_RASTERFALLBACKS=DRAW_PIXMAP
To include fillRect you can do:
DEFINES += \"QT_DIRECTFB_WARN_ON_RASTERFALLBACKS=DRAW_PIXMAP|FILL_RECT\"
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
|
|
|
|
| |
All these drawing functions really shouldn't be const even if some of
them can be. They should never be called from const functions and
when/if they change pen/brush stuff they cease being able to be const.
Also make sure fillRegion() uses the right brush.
Reviewed-by: Donald <qt-info@nokia.com>
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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
|