summaryrefslogtreecommitdiffstats
path: root/src/plugins/gfxdrivers
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* Make DirectFB compile with Qt in a namespaceAnders Bakken2009-09-015-43/+38
| | | | Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Copy directfb.pro to src/gui/embedded/directfb.priAnders Bakken2009-09-011-35/+3
| | | | Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
* More DirectFB ifdef cleanup.Anders Bakken2009-08-316-5/+10
| | | | | | | Make sure the plugin builds but doesn't do anything when configured without -plugin-gfx-directfb Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Make cursor work in non-windowed modeAnders Bakken2009-08-315-30/+41
| | | | Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Clean up directfb ifdefsAnders Bakken2009-08-3115-23/+52
| | | | | | Make sure all files are wrapped in QT_NO_QWS_DIRECTFB Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Fix QT_BEGIN/END_NAMESPACE in DirectFBAnders Bakken2009-08-3114-2/+65
| | | | Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Don't use QString(const char *) in QDirectFBScreenAnders Bakken2009-08-311-2/+2
| | | | Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Remove duplicated code in qdirectfbScreen.cppAnders Bakken2009-08-311-31/+1
| | | | Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Allow setting screen size with connect optionsAnders Bakken2009-08-311-0/+2
| | | | Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Merge branch '4.5' into 4.6Thiago Macieira2009-08-3139-507/+507
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: demos/boxes/glshaders.cpp demos/boxes/vector.h demos/embedded/fluidlauncher/pictureflow.cpp demos/embedded/fluidlauncher/pictureflow.h doc/src/desktop-integration.qdoc doc/src/distributingqt.qdoc doc/src/examples-overview.qdoc doc/src/examples.qdoc doc/src/frameworks-technologies/dbus-adaptors.qdoc doc/src/geometry.qdoc doc/src/groups.qdoc doc/src/objecttrees.qdoc doc/src/platform-notes.qdoc doc/src/plugins-howto.qdoc doc/src/qt3support.qdoc doc/src/qtdbus.qdoc doc/src/qtdesigner.qdoc doc/src/qtgui.qdoc doc/src/qtmain.qdoc doc/src/qtopengl.qdoc doc/src/qtsvg.qdoc doc/src/qtuiloader.qdoc doc/src/qundo.qdoc doc/src/richtext.qdoc doc/src/topics.qdoc src/corelib/tools/qdumper.cpp src/gui/embedded/qkbdpc101_qws.cpp src/gui/embedded/qkbdsl5000_qws.cpp src/gui/embedded/qkbdusb_qws.cpp src/gui/embedded/qkbdvr41xx_qws.cpp src/gui/embedded/qkbdyopy_qws.cpp src/gui/embedded/qmousebus_qws.cpp src/gui/embedded/qmousevr41xx_qws.cpp src/gui/embedded/qmouseyopy_qws.cpp src/gui/painting/qpaintengine_d3d.cpp src/gui/painting/qwindowsurface_d3d.cpp src/opengl/gl2paintengineex/glgc_shader_source.h src/opengl/gl2paintengineex/qglpexshadermanager.cpp src/opengl/gl2paintengineex/qglpexshadermanager_p.h src/opengl/gl2paintengineex/qglshader.cpp src/opengl/gl2paintengineex/qglshader_p.h src/opengl/util/fragmentprograms_p.h src/plugins/kbddrivers/linuxis/linuxiskbdhandler.cpp src/plugins/mousedrivers/linuxis/linuxismousehandler.cpp src/script/parser/qscript.g src/script/qscriptarray_p.h src/script/qscriptasm_p.h src/script/qscriptbuffer_p.h src/script/qscriptclass.cpp src/script/qscriptclassdata_p.h src/script/qscriptcompiler.cpp src/script/qscriptcompiler_p.h src/script/qscriptcontext.cpp src/script/qscriptcontext_p.cpp src/script/qscriptcontext_p.h src/script/qscriptcontextfwd_p.h src/script/qscriptecmaarray.cpp src/script/qscriptecmaarray_p.h src/script/qscriptecmaboolean.cpp src/script/qscriptecmacore.cpp src/script/qscriptecmadate.cpp src/script/qscriptecmadate_p.h src/script/qscriptecmaerror.cpp src/script/qscriptecmaerror_p.h src/script/qscriptecmafunction.cpp src/script/qscriptecmafunction_p.h src/script/qscriptecmaglobal.cpp src/script/qscriptecmaglobal_p.h src/script/qscriptecmamath.cpp src/script/qscriptecmamath_p.h src/script/qscriptecmanumber.cpp src/script/qscriptecmanumber_p.h src/script/qscriptecmaobject.cpp src/script/qscriptecmaobject_p.h src/script/qscriptecmaregexp.cpp src/script/qscriptecmaregexp_p.h src/script/qscriptecmastring.cpp src/script/qscriptecmastring_p.h src/script/qscriptengine.cpp src/script/qscriptengine_p.cpp src/script/qscriptengine_p.h src/script/qscriptenginefwd_p.h src/script/qscriptextenumeration.cpp src/script/qscriptextenumeration_p.h src/script/qscriptextqobject.cpp src/script/qscriptextqobject_p.h src/script/qscriptextvariant.cpp src/script/qscriptfunction.cpp src/script/qscriptfunction_p.h src/script/qscriptgc_p.h src/script/qscriptmember_p.h src/script/qscriptobject_p.h src/script/qscriptprettypretty.cpp src/script/qscriptprettypretty_p.h src/script/qscriptvalue.cpp src/script/qscriptvalueimpl.cpp src/script/qscriptvalueimpl_p.h src/script/qscriptvalueimplfwd_p.h src/script/qscriptvalueiteratorimpl.cpp src/script/qscriptxmlgenerator.cpp src/script/qscriptxmlgenerator_p.h tests/auto/linguist/lupdate/testdata/recursivescan/project.ui tests/auto/linguist/lupdate/testdata/recursivescan/sub/finddialog.cpp tests/auto/qkeyevent/tst_qkeyevent.cpp tools/linguist/shared/cpp.cpp
| * Update tech preview license header.Jason McDonald2009-08-3139-507/+507
| | | | | | | | Reviewed-by: Trust Me
| * Update license headers.Jason McDonald2009-08-1139-39/+39
| | | | | | | | Reviewed-by: Trust Me
* | Remove unnecessary static_cast in QDirectFBScreenAnders Bakken2009-08-281-1/+1
| | | | | | | | Reviewed-by: TrustMe
* | Make lockSurface take a real enumAnders Bakken2009-08-282-3/+3
| | | | | | | | Reviewed-by: TrustMe
* | Rearrange ifdefsAnders Bakken2009-08-271-3/+1
| | | | | | | | Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Optimize permanentState/setPermanentStateAnders Bakken2009-08-261-9/+6
| | | | | | | | | | | | No need to use a QDataStream here. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Remove bufferImage stuff from dfbwindowsurfaceAnders Bakken2009-08-262-41/+0
| | | | | | | | | | | | | | Neither grabWidget nor buffer is ever called from Qt and they're not public API Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Implement QDirectFBScreen::surfaceForWidgetAnders Bakken2009-08-264-0/+56
| | | | | | | | | | | | | | | | | | | | Allow applications to get a pointer to the surface of the window surface for a given widget or a subsurface of the widget. This function ignores whether or not the widget is fully or partially obscured. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Use QScopedPointer instead of homegrown smartptrAnders Bakken2009-08-261-30/+29
| | | | | | | | | | | | | | Since QScopedPointer can take a custom cleanup handler we can use this instead of the original QDirectFBPointer. Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* | Make IDirectFBImageProvider enabled by defaultAnders Bakken2009-08-252-3/+3
| | | | | | | | | | | | | | To prevent using IDirectFBImageProviders one can define QT_NO_DIRECTFB_IMAGEPROVIDER Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Ensure that windows are double buffered in DFBAnders Bakken2009-08-251-1/+1
| | | | | | | | Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Render cursor with a window in dfb if desiredAnders Bakken2009-08-253-4/+171
| | | | | | | | | | | | | | | | Some DFB implementations do not support rendering the cursor using the intended interfaces. In these cases one can define QT_DIRECTFB_WINDOW_AS_CURSOR and use a window to render the cursor. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Implement support for keeping image provider aliveAnders Bakken2009-08-254-1/+42
| | | | | | | | | | | | | | | | | | | | | | If you define QT_DIRECTFB_IMAGEPROVIDER_KEEPALIVE we make sure atleast one IDirectFBImageProvider is alive at all times. Apparently this is refcounted by DirectFB on atleast one implementation and there's considerable overhead involved when releasing the last/creating the first image provider. Reviewed-by: TrustMe
* | Implement support for DirectFB image providersAnders Bakken2009-08-254-4/+172
| | | | | | | | | | | | | | | | | | Reimplement QPixmapData::fromFile/fromData to load images using IDirectFBImage providers. This functionality might be accelerated on embedded boards and could have potentially large performance enhancements. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Optimize QDirectFBPaintDevice::bytesPerLineAnders Bakken2009-08-251-1/+1
| | | | | | | | | | | | | | If we actually need it locked we'll probably need it locked for read|write. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Refactor QDirectFBPaintDevice/QDirectFBPixmapDataAnders Bakken2009-08-258-31/+70
| | | | | | | | | | | | Move format into QDirectFBPaintDevice. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Optimize createDFBSurfaceAnders Bakken2009-08-241-10/+11
| | | | | | | | | | | | When possible do a single memcpy instead of one per scan-line. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Improve error message when using WM with NO_LAYERAnders Bakken2009-08-242-4/+3
| | | | | | | | | | | | QT_DIRECTFB_WM relies on QT_DIRECTFB_LAYER to be defined. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Reset is_null in QDirectFBPixmapData::invalidate()Anders Bakken2009-08-241-0/+1
| | | | | | | | Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Release surface in QDirectFBPixmapData::invalidateAnders Bakken2009-08-241-0/+4
| | | | | | | | Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Improve error reporting in DFBScreenAnders Bakken2009-08-243-23/+37
| | | | | | | | | | | | | | Make it possible to pass a DFBResult* around to get notified of errors in calling functions. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | s/hasAlpha/hasAlphaChannel/gAnders Bakken2009-08-243-7/+7
| | | | | | | | | | | | Make it more consistent. Reviewed-by: TrustMe
* | Clean up surface creation code in dfbAnders Bakken2009-08-215-145/+66
| | | | | | | | | | | | | | Don't try too hard to temporarily represent an image in a real directfb surface. It leads to all sorts of rendering issues. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Force rasterfallbacks with a env variable in dfbAnders Bakken2009-08-201-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | If qgetenv("QT_DIRECTFB_FORCE_RASTER").toInt() > 0 all paint operations will fall back to the raster engine in DirectFB. Good trick for debugging. I hijacked the compositionModeStatus variable for this since it's checked for every paint operation anyway and I didn't want to introduce any overhead. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Support RGB32 in DirectFB againAnders Bakken2009-08-201-8/+8
| | | | | | | | | | | | | | | | If I make sure all surfaces that Qt may paint on are ARGB instead of RGB32 the problem that was solved by cef63710576571405b4eed7b225e6c895a633d6a is still solved. Reviewed-by: Donald <qt-info@nokia.com>
* | Respect SmoothPixmapTransform in dfbpeAnders Bakken2009-08-201-3/+7
| | | | | | | | | | | | | | | | If the renderHint SmoothPixmapTransform is set and a drawPixmap/drawTiledPixmap/fillRect(QBrush(QPixmap)) includes a scale we should fall back to raster engine. Reviewed-by: Donald <qt-info@nokia.com>
* | Make sure windows raise properly when focusedAnders Bakken2009-08-183-25/+57
| | | | | | | | | | | | | | | | | | | | We never used to properly raise windows with DirectFB's window management. Somehow the event happens on a window surface that doesn't really have a IDirectFBWindow associated with it but using permanentState I can establish a sibling relationship to ensure raise gets called on the right window surface. Reviewed-By: Donald <qt-info@nokia.com>
* | Initialize bpl in QDirectFBPaintDevice(...)Anders Bakken2009-08-181-1/+1
| | | | | | | | Reviewed-by: Donald <qt-info@nokia.com>
* | Disambiguate variable namesAnders Bakken2009-08-182-7/+7
| | | | | | | | | | | | | | | | s/lock/lockFlgs/ lock is also a function in QWSWindowSurface. Reviewed-by: Donald <qt-info@nokia.com>
* | Simplify DirectFB clippingAnders Bakken2009-08-182-25/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of storing whether or not our clip is dirty and updating it in every paint operation we'll just update it whenever it changes. This is more intuitive and should be faster for the common case as well. Also make sure to implement clip(region). Prevent multiple updateClip() calls for a single clip operation by introducing a flag to check whether we recursed into the different clip() calls. Reviewed-by: Donald <qt-info@nokia.com>
* | Fix bugs in DFBPE fillRect and drawTiledPixmapAnders Bakken2009-08-181-3/+2
| | | | | | | | | | | | Make sure to call CLIPPED_PAINT so painting with a region clip works. Reviewed-by: Donald <qt-info@nokia.com>
* | Make sure to update pos QDFBCursor::moveAnders Bakken2009-08-181-0/+1
| | | | | | | | | | | | | | | | We don't need to chain to the base class since the QDirectFBScreenCursor always is rendered by hardware but we should update the pos variable in case people ask where the cursor is. Reviewed-by: TrustMe
* | Clean up DirectFB with WM enabledAnders Bakken2009-08-174-76/+123
| | | | | | | | | | | | | | | | When we have proper window manager support from DirectFB we shouldn't create our own primary surface. This patch vastly cleans up a number of issues in QDirectFBScreen regarding this. Reviewed-by: Donald <qt-info@nokia.com>
* | Clean up DirectFB definesAnders Bakken2009-08-171-0/+25
| | | | | | | | | | | | | | Make QT_DIRECTFB_WM be defined if QT_NO_DIRECTFB_WM is not. This makes it possible to write more readable code. Reviewed-by: Donald <qt-info@nokia.com>
* | Clean up primary surface handling in DFBAnders Bakken2009-08-173-28/+26
| | | | | | | | | | | | | | To avoid confusion rename QDirectFBScreen::dfbSurface() primarySurface() since this is what it is. Reviewed-by: Donald <qt-info@nokia.com>
* | Fix a bug in wrt DFBWindowSurface's paintEngineAnders Bakken2009-08-172-12/+6
| | | | | | | | | | | | | | Make sure we recreate the paint engine if it's 0 in beginPaint. Also don't delete the paint engine in moves, only resizes. Reviewed-by: Donald <qt-info@nokia.com>
* | Update contact URL in license headers.Jason McDonald2009-08-1239-39/+39
| | | | | | | | Reviewed-by: Trust Me
* | Merge branch '4.5'Thiago Macieira2009-08-0310-156/+262
|\ \ | |/ | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qsharedpointer.cpp src/corelib/tools/qsharedpointer_impl.h src/gui/dialogs/qcolordialog.cpp src/gui/painting/qwindowsurface_raster.cpp src/network/access/qnetworkaccessmanager.cpp tests/auto/qsharedpointer/externaltests.cpp