summaryrefslogtreecommitdiffstats
path: root/src/plugins/gfxdrivers
Commit message (Collapse)AuthorAgeFilesLines
* Better QDirectFBPixmapData::toImage()Anders Bakken2009-04-071-0/+11
| | | | | | | | | 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
* Optimize bytesPerLine furtherAnders Bakken2009-04-071-1/+0
| | | | | | | | | | | 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
* Optimize fillRects/fillRegionAnders Bakken2009-04-071-23/+5
| | | | | | | This is not X11. There's no need to create another structure to hold the DFB rectangles. Verified by DirectFB expert. Reviewed-by: TrustMe
* Cleanup. This function is no longer used.Anders Bakken2009-04-071-10/+0
| | | | Reviewed-by: TrustMe
* Make sure to set blitting flagsAnders Bakken2009-04-073-25/+43
| | | | | | | | | 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
* Improve QDirectFBPixmapData::copyAnders Bakken2009-04-071-2/+8
| | | | | | Make sure we retain the alpha channel of the original surface. Reviewed-by: TrustMe
* Improve QDirectFBPixmapData::transformedAnders Bakken2009-04-071-5/+14
| | | | | | Make sure we keep retain alpha if there is one in the source. Reviewed-by: TrustMe
* Clean up surface creation codeAnders Bakken2009-04-071-9/+5
| | | | | | Use the intended functions for surface creation. Reviewed-by: TrustMe
* Make sure to dirty clip in setStateAnders Bakken2009-04-071-2/+1
| | | | | | | | | For an example of something that breaks without this fix show a spinbox in plastique style. The clip is never removed. Reviewed-by: TrustMe
* Make windows the right formats and videoonlyAnders Bakken2009-04-071-5/+14
| | | | | | | | 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
* Make sure RGB32 workaround works for windowsAnders Bakken2009-04-071-0/+3
| | | | | Need to set forceRaster to true if the window surface is RGB32. Reviewed-by: TrustMe
* Pens can have brushesAnders Bakken2009-04-071-1/+3
| | | | | DirectFB can only handle cases where the pen's brush is Qt::SolidPattern Reviewed-by: TrustMe
* Fix up some QT_...NO_PALETTE codepathsAnders Bakken2009-04-071-4/+6
| | | | | | | Make sure we create the surface from the converted image and not the original one. Reviewed-by: TrustMe
* Don't use uninitialized capsAnders Bakken2009-04-061-2/+6
| | | | | | | 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 timing capabilitiesAnders Bakken2009-04-043-1/+26
| | | | | | | Add some frames-per-second output for debugging when QT_DIRECTFB_TIMING is defined. Reviewed-by: Donald <qt-info@nokia.com>
* QScreen::flush() no longer draws the titlebarAnders Bakken2009-04-041-5/+0
| | | | | | We don't need to chain to the base class anymore. Reviewed-by: Donald <qt-info@nokia.com>
* Silence warning and beautify codeAnders Bakken2009-04-032-24/+13
| | | | | | | 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>
* Suppress unnecessary "Could not re-create the temporary EGL surface" warningsRhys Weatherley2009-04-031-1/+1
| | | | | | | 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
* Add information about QT_* defines that are needed to make PowerVR workRhys Weatherley2009-04-031-0/+3
| | | | | | | 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
* CompileAnders Bakken2009-03-311-1/+0
| | | | | | I messed up the cherry-pick merge and left one of these in. Reviewed-by: TrustMe
* Remove these convenience functions.Anders Bakken2009-03-311-22/+12
| | | | | | | 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>
* No sense in detecting the format twiceAnders Bakken2009-03-311-6/+2
| | | | | | | Use the format passed in to the function rather than detecting it again based on hasAlphaChannel(). Reviewed-by: Tom Cooksey <thomas.cooksey@nokia.com>
* Prevent crash on resizingAnders Bakken2009-03-311-4/+16
| | | | | | | | | | 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>
* Take out todos that have been doneAnders Bakken2009-03-301-5/+0
| | | | | | Clipping for drawLines works fine. textureBrushes are now accelerated Reviewed-by: TrustMe
* Compile with QT_NO_DIRECTFB_PREALLOCATEDAnders Bakken2009-03-301-2/+2
| | | | | | Use the right surface for locking/unlocking. Reviewed-by: TrustMe
* Compile with QT_NO_DIRECTFB_WMAnders Bakken2009-03-301-1/+1
| | | | | | s/QDirectFBSurface/QDirectFBScreen/g Reviewed-by: TrustMe
* Rename functionAnders Bakken2009-03-305-8/+8
| | | | | Everything else capitalizes both the F and the B. s/Fb/FB/g Reviewed-by: TrustMe
* Work around raster engine not ignoring the pad byte in RGB32Anders Bakken2009-03-303-55/+78
| | | | | | | | | | | | | 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
* Major surface related fixAnders Bakken2009-03-276-217/+327
| | | | | | | | | | | | | 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
* Fix flipping.Anders Bakken2009-03-251-5/+16
| | | | | | | | 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
* Clean up locking/unlockingAnders Bakken2009-03-251-21/+11
| | | | | | | | 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
* Minor code cleanupAnders Bakken2009-03-251-3/+4
| | | | | | Improve readability of code. Reviewed-by: Tom Cooksey
* Make QDirectFBPaintDevice() protected.Anders Bakken2009-03-251-5/+7
| | | | | | | This class should never be instantiated without being subclassed so a protected constructor is the clean thing to do. Reviewed-by: Tom Cooksey
* Get rid of the setImageColorTable stuff.Anders Bakken2009-03-252-45/+0
| | | | | | | It's never necessary. Any surface we ever intend to lock and write to should never have a color table. Reviewed-by: Tom Cooksey
* Optimize bytesPerLine.Anders Bakken2009-03-252-6/+12
| | | | | | No sense in locking every time we want the bpl. The bpl won't change Reviewed-by: Tom Cooksey
* Optimize fillRects.Anders Bakken2009-03-251-6/+9
| | | | | | | No need to go through the FillRectangles case which would allocate a bunch of T on the stack. Reviewed-by: Tom Cooksey
* Long live Qt 4.5!Lars Knoll2009-03-2351-0/+12231