summaryrefslogtreecommitdiffstats
path: root/src/plugins/gfxdrivers
Commit message (Collapse)AuthorAgeFilesLines
* Fix support for 32-bit PowerVR screens with QGraphicsViewRhys Weatherley2009-10-021-5/+8
| | | | | | | | | | | When QGLWidget was used as a viewport for QGraphicsView, it was still treating the window surface as RGB16. Use the screen's actual pixel format. Also ensure that PvrEglWindowSurface::image() returns a non-null QImage if the drawable hasn't been created yet. Reviewed-by: trustme
* Fix a window opacity bug with DirectFBAnders Bakken2009-10-012-52/+60
| | | | | | | | | Initialize IDirectFBWindows with the correct capabilities/options when supporting top level transparency. Also, properly deal with runtime changes of top level transparency. Reviewed-by: Noam Rosenthal <noam.rosenthal@nokia.com>
* Make sure gccaps is properly initialized for dfbpeAnders Bakken2009-10-011-0/+2
| | | | Reviewed-by: Noam Rosenthal <noam.rosenthal@nokia.com>
* Clean up releaseSurface in QDirectFBPaintDeviceAnders Bakken2009-10-012-7/+5
| | | | | | | | Instead of having to call unlockSurface/releaseSubSurface and releaseSurface to release the surface in QDirectFBWindowSurface make releaseSurface do all three things. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* QString(" => QString::fromLatin1("Anders Bakken2009-09-291-1/+1
| | | | | | Prevent qWarning when building with QT_DIRECTFB_WARN_ON_RASTERFALLBACKS Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Fix a alpha issue with RGB32 and DirectFBAnders Bakken2009-09-291-1/+4
| | | | | | | | | | Since we can't use RGB32 format with DirectFB (issues regarding Qt's assumptions about the alpha byte) we need to explicitly convert images of this type to the preferred alphaPixmap format. This fixes an issue where RGB32 images get a curious gray alpha overlay. Reviewed-by: Noam Rosenthal <noam.rosenthal@nokia.com>
* Fix QT_VNC_NO_DISABLEPAINTING logicPaul Olav Tvete2009-09-251-1/+1
| | | | | | Oops... Reviewed-by: Jeremy
* Don't disable painting with multiple screens and VNCJeremy Katz2009-09-232-8/+14
| | | | | Task-number: QTBUG-4473 Reviewed-by: Paul
* A pen/brush can be invalid and have a valid colorAnders Bakken2009-09-181-8/+12
| | | | | | | | | | | | | This code is wrong: if (brush != Qt::NoBrush) ... It should be: if (brush.style() != Qt::NoBrush) ... Reviewed-by: Jervey Kong <jervey.kong@nokia.com>
* Implement QDirectFBPaintEngine::drawRoundedRectAnders Bakken2009-09-182-1/+10
| | | | | | We need to lock before falling back to QRasterPaintEngine Reviewed-by: Jervey Kong <jervey.kong@nokia.com>
* Fix a bug in QDirectFBWindowSurface::scrollAnders Bakken2009-09-171-0/+2
| | | | | | | | | | | It seems that one cannot do multiple blits within a double-buffered surface in overlapping one another without doing a Flip in between. I find this a little odd and will check that it's the correct behavior but this fixes bugs in scroll(). To see a case that used to produce drawing errors check out the collidingmouse example and drag the viewport around. Reviewed-by: Jervey Kong <jervey.kong@nokia.com>
* Merge commit 'origin/4.5' into 4.6Rhys Weatherley2009-09-171-0/+7
|\
| * Fix compilation for systems with MBX PowerVR headers.Rhys Weatherley2009-09-171-0/+7
| | | | | | | | Reviewed-by: trustme
* | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt into 4.6Tom Cooksey2009-09-172-50/+5
|\ \ | | | | | | | | | | | | Conflicts: tests/auto/qtwidgets/tst_qtwidgets.cpp
| * | Simplify QDirectFBPixmapData::fromDataBufferAnders Bakken2009-09-161-48/+3
| | | | | | | | | | | | | | | | | | | | | | | | There's no need for the intermediate surface creation. RenderTo will handle things like palette/transparency etc. Should also provide some speedup. Reviewed-by: Noam Rosenthal <noam.rosenthal@nokia.com>
| * | Make QT_DIRECTFB_PALETTE an opt-in optionAnders Bakken2009-09-161-2/+2
| | | | | | | | | | | | | | | | | | | | | This seems not work correctly on quite a few boards so I'd rather have people turn it on explicitly. Reviewed-by: Noam Rosenthal <noam.rosenthal@nokia.com>
* | | Merge branch '4.5' into 4.6Tom Cooksey2009-09-171-2/+2
|\ \ \ | | |/ | |/| | | | | | | | | | | | | Conflicts: tests/auto/qimagereader/tst_qimagereader.cpp tests/auto/qpainter/tst_qpainter.cpp tests/auto/qtwidgets/tst_qtwidgets.cpp
| * | Make the PowerVR screen driver for QWS compile against shipped headersTom Cooksey2009-09-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | The pvr2d.h/wsegl.h headers we ship with Qt (in src/3rdparty/powervr) are meant for the PowerVR SGX. However, we use an MBX-specific define in the powervr driver. Reviewed-by: Jørgen Lind
| * | Update license headers again.Jason McDonald2009-09-0839-156/+156
| | | | | | | | | | | | Reviewed-by: Trust Me
* | | Update the QWS PowerVR driver's pro to use the new EGL qmake varsTom Cooksey2009-09-171-2/+2
| |/ |/| | | | | Reviewed-by: Trustme
* | Export a function for getting a IDirectFBWindowAnders Bakken2009-09-154-6/+34
| | | | | | | | | | | | This function is only exported when DirectFB is built into QtGui. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Export two functions for getting a surface in dfbAnders Bakken2009-09-152-1/+14
| | | | | | | | | | | | | | When building DirectFB as part of QtGui and not as a plugin this patch will export two global functions for getting a surface given a widget. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Fix a bug in surfaceForWidgetAnders Bakken2009-09-151-1/+2
| | | | | | | | | | | | I had the logic of the assert wrong with the isAncestorOf call. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Fix a bug with mouse events in DirectFBAnders Bakken2009-09-101-0/+14
| | | | | | | | | | | | | | | | Partially revert a974ce81d6324d8d85ade0153b5ce7c757ba4fdf. It seems odd to just ignore the actual data in the input event but when the layer and the event differs the layer is correct. Reviewed-by: TrustMe
* | DWDESC_OPTIONS was added for DirectFB 1.1Anders Bakken2009-09-101-1/+4
| | | | | | | | Reviewed-by: TrustMe
* | s/DIRECTFB_MINOR_VERION/DIRECTFB_MINOR_VERSION/Anders Bakken2009-09-101-1/+1
| | | | | | | | | | | | This will make DirectFB version tests work. Reviewed-by: TrustMe
* | Use fromLatin1() in QDirectFBScreen::connect()Anders Bakken2009-09-091-1/+1
| | | | | | | | | | | | Avoid warning when building DirectFB as part of Qt. Reviewed-by: TrustMe
* | Update license headers again.Jason McDonald2009-09-0939-156/+156
| | | | | | | | Reviewed-by: Trust Me
* | Fix QDirectFBPixmapData::fromImageAnders Bakken2009-09-081-6/+30
| | | | | | | | | | | | | | | | | | | | | | This fix should optimize pixmap loading on most platforms and also fixes a bug on a certain hardware where the alpha channel of an image was not retained upon loading it. This patch also takes care of handling dithering better in QDirectFBPixmapData::fromImage(). Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Fix define in QDirectFBScreenAnders Bakken2009-09-081-1/+1
| | | | | | | | | | | | It's QT_NO_DIRECTFB.*, not QT_DIRECTFB_NO.* Reviewed-by: TrustMe
* | memset DFBWindowDescription to 0Anders Bakken2009-09-081-0/+2
| | | | | | | | | | | | This makes debugging easier. Reviewed-by: TrustMe
* | Use the right type in DFBPaintEngineAnders Bakken2009-09-041-2/+2
| | | | | | | | Reviewed-by: TrustMe
* | Remove unnecessary call to exposeRegion in DFBAnders Bakken2009-09-042-12/+8
| | | | | | | | | | | | | | | | | | If we make sure to erase the background to background color in connect() we don't have to do it in setGeometry. Also clean up the code in QDBWindowSurface::flush Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | QDFBScreen bgcolor is only use in non_wm modeAnders Bakken2009-09-041-4/+4
| | | | | | | | | | | | | | No need to carry those extra bytes around when QT_DIRECTFB_WM is defined. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Remove unused function in QDFBScreenAnders Bakken2009-09-042-6/+0
| | | | | | | | Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Handle proxywidgets better in DFBAnders Bakken2009-09-041-21/+26
| | | | | | | | | | | | | | | | This code is roughly the same as in other screen drivers. We shouldn't flush widgets that are in a graphicsscene as a proxy widget. They will be handled by the graphicsview. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Make exposeRegion work better in DFB_NO_WM modeAnders Bakken2009-09-042-118/+123
| | | | | | | | | | | | | | | | Previously we didn't properly compose windows so QT_NO_DIRECTFB_WM mode would generally only work for single windows (with no popups). This also simplifies the code a lot. Previously we would among other things paint the mouse cursor twice in this mode.
* | Cache the DFBSurface for the cursor imageAnders Bakken2009-09-041-7/+16
| | | | | | | | | | | | | | | | This surface is painted every time we move the mouse cursor (in NO_DIRECTFB_WM) and doesn't change all that often so caching it is relatively easy and beneficial. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Fix a bug in DFBWindowSurface::setGeometryAnders Bakken2009-09-041-26/+31
| | | | | | | | | | | | | | | | | | | | Make sure to release the surface of a window before resizing. Seemingly certain versions of DirectFB change the surface when the window is resized. Also clean up setGeometry() Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Fix reversed logic in QDFBScreen::exposeRegionAnders Bakken2009-09-031-1/+1
| | | | | | | | | | | | | | We should fill the bounding rect only when the region has one rectangle. Not the other way around. Reviewed-by: TrustMe
* | Create windows with the appropriate geometryAnders Bakken2009-09-022-6/+12
| | | | | | | | | | | | | | | | Since DirectFB allows for providing position and size on creation of windows we might as well use these fields rather than first create the surface and then resize it. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Support Windowed mode for DFB < 1.0Anders Bakken2009-09-021-13/+20
| | | | | | | | | | | | | | | | DirectFB doesn't let you query the size of the Display in versions prior to 1.0. In this version require people to specify the size using QWS_SIZE, QWS_DISPLAY or print a warning and exit. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Make size specification more robust in dfbAnders Bakken2009-09-021-8/+31
| | | | | | | | | | | | Support exporting QWS_SIZE=100x100 to set size Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Compile with DFB 0.9Anders Bakken2009-09-021-1/+1
| | | | | | | | | | | | DSPD_XOR is not supported until 1.0. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Make sure to release surface in ~DFBWindowSurfaceAnders Bakken2009-09-022-0/+21
| | | | | | | | | | | | | | | | | | | | We don't want this surface to be released by QDirectFBScreen. It's always created without tracking. Also abstract the if (dfbSurface != primarySurface) things since we will use it from multiple functions. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Add QDirectFBWindowSurface::releaseSubSurfaceAnders Bakken2009-09-022-4/+13
| | | | | | | | | | | | | | This convenience function will be called from whereever the subsurface is invalidated. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Make sure to set mem to 0 in unlockSurfaceAnders Bakken2009-09-021-0/+1
| | | | | | | | Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Partially revert 05e30a4aa7ae5ea552c459fc7d64c8270Anders Bakken2009-09-021-2/+0
| | | | | | | | | | | | sibling exists when QT_NO_DIRECTFB_WM is defined as well. Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* | Fix DirectFB driver when comipled with NO_WMJørgen Lind2009-09-022-0/+6
| | | | | | | | Reviewed-by: Tom
* | Rewrite of DirectFB locking mechanismAnders Bakken2009-09-018-92/+184
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DirectFB allows you to have a locked subSurface that remains valid while you paint on the unlocked "parent" surface. The only limitation is that when accessing the locked memory you might have to call DirectFB->WaitIdle() in case pending GPU operations aren't finished. After this we keep the locked surface around at all times (from the first time it's requested) until the surface dies. Previous calls to lock() will just call WaitIdle if necessary and previous calls to unlock now just mark the surface as dirty and in need of a WaitIdle if someone needs to access its pixel data. Reviewed-by: Donald Carr <donald.carr@nokia.com>