summaryrefslogtreecommitdiffstats
path: root/src/opengl/qgl.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge license header changes from 4.5Volker Hilsheimer2009-06-161-2/+2
|\
| * Update license headers as requested by the marketing department.Jason McDonald2009-06-161-2/+2
| | | | | | | | Reviewed-by: Trust Me
* | Fix build breakage from 1bbe23c5 - endif in the wrong placeRhys Weatherley2009-06-091-1/+1
| | | | | | | | Reviewed-by: trustme
* | Make OpenGL/ES 1.1 work again for Qt/EmbeddedRhys Weatherley2009-06-091-0/+15
| | | | | | | | Reviewed-by: trustme
* | All of Qt's own code compiles with -pedantic now (but pcre and webkit don't ↵David Faure2009-06-041-4/+4
| | | | | | | | | | | | | | seem fixable easily) Merge-request: 594 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* | improved string operations all over the placeThierry Bastian2009-05-281-1/+1
| | | | | | | | | | used character operations whenever possible better usage of QLatin1String
* | Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qtSimon Hausmann2009-05-271-6/+42
|\ \ | |/ | | | | | | Conflicts: tests/auto/qtreeview/tst_qtreeview.cpp
| * qdoc: Added some missing qdoc comments.Martin Smith2009-05-251-6/+42
| | | | | | | | Task-number: 252491
* | Make QGLWidgets have the same background colour as QWidgetsTom Cooksey2009-05-271-0/+5
| | | | | | | | | | | | | | | | QWidgets are filled with Qt::transparent when WA_TranslucentBackground is set, reguardless of what their background colour has been set to. This patch makes QGLWidgets behave the same way. Reviewed-By: Samuel Rødal
* | Make WA_TranslucentBackground work on QGLWidget for X11Tom Cooksey2009-05-271-1/+1
| | | | | | | | | | | | | | This patch enables QGLWidget's to have an ARGB visual on X11, alowing GL rendering on semi-transparent windows. Reviewed-By: Trond
* | Avoided expensive image upload for GL pixmap backend for QPixmap::fill.Samuel Rødal2009-05-271-0/+4
| | | | | | | | | | | | | | In the fill case we can simply set a flag saying the pixmap needs to be filled, and then when painting on the pixmap we start by filling the background using glClear via the existing QGLDrawable::autoFillBackground interface.
* | Fixed bugs in GL2 paint engine when several engines are active.Samuel Rødal2009-05-271-0/+15
| | | | | | | | | | | | | | Make sure makeCurrent() on a window surface unbinds any active FBO, and simplify ensureActive() code in GL2 paint engine a bit. We don't need the last_engine pointer as ensureActive() will take care of ensuring the correct engine is active anway.
* | Merge commit 'qt/master'Samuel Rødal2009-05-201-1/+1
|\ \
| * \ Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qtSimon Hausmann2009-05-191-1/+1
| |\ \ | | |/
| | * Fix some typos in the documentation.Frederik Schwarzer2009-05-181-1/+1
| | | | | | | | | | | | | | | | | | Usually, "the the" is not proper English Reviewed-By: Thiago Macieira
* | | Make QtOpenGL compile on OpenGL ES 1.1 againTom Cooksey2009-05-141-13/+52
| | |
* | | Reverted use of GL 2 engine as default on desktop.Samuel Rødal2009-05-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using GL 2 as default engine breaks the use cases where OpenGL commands are inter-mixed with QPainter commands, such as when using raw OpenGL in graphicsview. For now we'll use the old OpenGL engine for QGLWidget, QGLPixelBuffer, and QGLFramebufferObject on desktop, and the OpenGL 2 paint engine when the OpenGL graphics system is used. Reviewed-by: Trond
* | | Enabled compilation of both GL and GL2 paint engine.Samuel Rødal2009-05-131-12/+21
| | | | | | | | | | | | | | | | | | | | | Compile both GL and GL2 paint engine on desktop, and choose between them at run-time based on GL version flags. Reviewed-by: Tom
* | | Big GL Extension CleanupTom Cooksey2009-05-061-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Clean up the extension naming and make things build on OpenGL ES 2.0 again. All the extensions which made it into OpenGL 2.0 spec have have the EXT postfix removed. This also eliminates defines on ES 2.0 as the code now refers to the in-spec names. Reviewed-by: sroedal
* | | Fix OpenGL ES 2.0 breakagesTom Cooksey2009-05-051-0/+2
| | | | | | | | | | | | | | | Enable GL graphics system on ES 2.0 builds - it wont work, but now QGLDrawable is being used it's just easier to build the graphics system.
* | | Merge branch 'shader-api' into gl2engine-new-shadersRhys Weatherley2009-05-011-55/+120
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | Conflicts: src/opengl/opengl.pro src/opengl/qglextensions.cpp src/opengl/qglextensions_p.h src/opengl/qglshaderprogram.cpp src/opengl/qglshaderprogram.h
| * | Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qtSimon Hausmann2009-04-291-2/+10
| |\ \ | | |/
| | * Get rid of an unnecessary image copy when grabbing a GL framebuffer.Trond Kjernåsen2009-04-291-2/+10
| | | | | | | | | | | | | | | Task-number: Related to 241466 Reviewed-by: Samuel
| * | Merge branch '4.5' of git@scm.dev.troll.no:qt/qtSimon Hausmann2009-04-271-0/+4
| |\ \ | | |/
| | * Fixes wrong QPaintEvent::region() in QGLWidget::paintEvent.Bjoern Erik Nilsen2009-04-271-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QGLWidget does not support partial updates unless the context is single buffered and auto-fill background is disabled. The problem was that QPaintEvent::region() returned the requested update region without taking into account the limitation of QGLWidget. If QGLWidget doesn't support partial updates, it means everything has to be updated, and QPaintEvent::region() must return the whole widget rect. Auto test included. Task-number: 241785 Reviewed-by: Trond
| | * BT: Fix Cocoa bug w/OpenGL widgets in dock widgets would disappear.Norwegian Rock Cat2009-04-151-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The NSOpenGLContext seems to be tied to the window. So if the view changes from one window to another, the OpenGL context needs to be cleared. We can do this by hooking into the viewWillChangeWindow and viewDidChangeWindow events and clear and reset the drawable respectively. We also found out that QCocoaOpenGLView was not being used at all, so just remove it to get rid of any confusion. Task-number: 250066 Reviewed-by: Trond
| * | Speed up texture uploads for hardware without n-pot-2 texture support.Trond Kjernåsen2009-04-201-53/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | Implement a manual fast scale, so that we can do a scale, swizzle and mirror in the same loop without any temporary image copies. This potentially increases texture uploads on embedded hw with a factor of 10. Reviewed-by: Samuel
* | | Correctly handle using GL pixmaps that still have an active engine.Samuel Rødal2009-04-171-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the case where a GL pixmap is used when there it still has an active engine we need to ensure that the pixmap has been flushed from the render FBO first. The newly added QGLPixmapData::copyBackFromRenderFbo() handles this. In addition, because several GL 2 paint engines can be active on the same context at the same time, we can't make any assumptions and need to call the newly added QGL2PaintEngineEx::ensureCreated() in the beginning of any state-dependent paint engine function. QGL2PaintEngineEx::ensureCreated() correctly transfers control to the current engine if a different engine is active. Running lance with -pixmap and -graphicssystem opengl works correctly with the GL pixmap backend now.
* | | Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qt-graphics-teamGunnar Sletta2009-04-171-8/+48
|\ \ \
| * | | Use FBOs as pixmap backend in GL graphics system.Samuel Rødal2009-04-161-8/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now use FBOs to implement render-to-pixmap for the GL pixmap backend. A multisample FBO is used for rendering, and is then blitted onto a non-multisample FBO dynamically bound to the relevant texture. Reviewed-by: Tom
* | | | Merge branch 'qt/main'Gunnar Sletta2009-04-171-0/+8
|\ \ \ \ | |/ / / |/| / / | |/ / | | | Conflicts: src/opengl/opengl.pro
| * | BT: Fix Cocoa bug w/OpenGL widgets in dock widgets would disappear.Norwegian Rock Cat2009-04-151-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The NSOpenGLContext seems to be tied to the window. So if the view changes from one window to another, the OpenGL context needs to be cleared. We can do this by hooking into the viewWillChangeWindow and viewDidChangeWindow events and clear and reset the drawable respectively. We also found out that QCocoaOpenGLView was not being used at all, so just remove it to get rid of any confusion. Task-number: 250066 Reviewed-by: Trond
| * | Merge commit 'origin/4.5'Olivier Goffart2009-04-151-0/+4
| |\ \ | | |/ | | | | | | | | | Conflicts: src/gui/graphicsview/qgraphicsitem.cpp
| | * Update docs regarding sibling widgets ontop of QGLWidgets when Qt is builtTrond Kjernåsen2009-04-141-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with Cocoa support on Mac. The Cocoa API doesn't have a concept of Z-ordering of widgets, and it's implemented by reordering the widget hierarchy for normal widgets. This does unfortunately not work for GL widgets, and it's not supported by Apple. This apparently work with the Carbon AGL API though. Task-number: 244890 Reviewed-by: Gunnar Sletta BT: yes
| | * Long live Qt 4.5!Lars Knoll2009-03-231-0/+4204
| |
* | Fixes: Add blitting and multisample API to QGLFramebufferObject.Samuel Rødal2009-04-011-0/+2
| | | | | | | | | | | | RevBy: Trond Details: Support GL_EXT_framebuffer_multisample and GL_EXT_framebuffer_blit in the QGLFramebufferObject API.
* | Fixes: Enable use of the GL pixmap backend in the GL 2 paint engine.Samuel Rødal2009-04-011-5/+5
| |
* | Fixes: Move QGLDrawable into qgl_p.h so that we can use it in the GL 2 ↵Samuel Rødal2009-04-011-0/+150
| | | | | | | | | | | | | | | | paint engine. RevBy: Tom Details: Now we can use the GL 2 paint engine on non-widget paint devices like pixel buffers, framebuffer objects, and GL window surfaces. Using -graphicssystem opengl works now.
* | Merge branch 'gl2text' of ..\qt-mainKim Motoyoshi Kalland2009-04-011-4/+21
|/
* Long live Qt!Lars Knoll2009-03-231-0/+4205