summaryrefslogtreecommitdiffstats
path: root/src/opengl
Commit message (Collapse)AuthorAgeFilesLines
* Fixed broken system clip handling in GL2 paint engine.Samuel Rødal2009-05-252-2/+11
| | | | | | Override systemStateChanged() to get the system clip updates. Reviewed-by: Trond
* Made PixelBuffer/FramebufferObject report correct DPI based metrics.Samuel Rødal2009-05-252-14/+16
| | | | | | | We need to use both qt_defaultDpiX and qt_defaultDpiY, and round the resulting metric values. Reviewed-by: Trond
* If EGL fails to provide a valid Visual ID, try XRender for ARGBsTom Cooksey2009-05-221-9/+55
| | | | | | | | | This patch is inspired by the "Fix ARGB visuals" patch in the Maemo branch. Thanks go to the author of that patch (who isn't signed up to Gitorious and thus can't be named - you know who you are! Thanks!!). This patch should also fix ARGB visuals (even if they are supplied by EGL) as such visuals require a colormap.
* Try to use the X11 visual ID provided by EGLTom Cooksey2009-05-221-30/+74
| | | | | | | EGL has an EGL_NATIVE_VISUAL_ID which can by used as the window's visual ID. We now try to use this ID to avoid an XVisual <-> EGLConfig mis-match. Of course this is usually broken in the EGL library, so we fall back to trying to match outselves.
* Fix changed behaviour after QEglProperties::value() patchTom Cooksey2009-05-222-14/+14
| | | | | | | Patch 27fadaa7eb2d58b47e7f0f508e3402e7a8de3894 (Make QEglProperties::value() return the EGL default if not set) changed behaviour. This patch reverts this change to behaviour but keeps QEglProperties::value() returning the EGL default value.
* Merge commit 'qt/master'Samuel Rødal2009-05-202-20/+4
|\
| * 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
| * | Optimize rendering in the GL engineZack Rusin2009-05-111-19/+3
| | | | | | | | | | | | | | | By using REPLACE we don't have to clean the stencil on every draw, effectively optimizing the rendering by 200%.
* | | Make QEglProperties::value() return the EGL default if not setTom Cooksey2009-05-201-1/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | Previously it would always return EGL_DONT_CARE, which causes a bug somewhere on X11 leading to configs being requested with E.g. EGL_GREEN_SIZE == EGL_DONT_CARE == -1 == 0xFFFFFFFF when cast to a uint. This also helps debug config matching as toString() now indicates the match criteria EGL will use.
* | | Fix GLSL for OMAP3 and error checkingTom Cooksey2009-05-202-3/+3
| | |
* | | Fix GL2 paint engine builds on Big-endian machinesTom Cooksey2009-05-151-11/+8
| | | | | | | | | | | | Reviewed-by: Trond
* | | Make QtOpenGL compile on OpenGL ES 1.1 againTom Cooksey2009-05-148-45/+116
| | |
* | | Merge commit 'qt/master'Samuel Rødal2009-05-132-5/+3
|\ \ \ | |/ /
| * | Merge branch '4.5'Thiago Macieira2009-05-071-2/+1
| |\ \ | | |/ | | | | | | | | | | | | Conflicts: src/gui/painting/qbackingstore.cpp src/gui/painting/qwindowsurface_raster.cpp
| | * Compiler warnings (Mac/Carbon)Bjoern Erik Nilsen2009-05-071-2/+1
| | | | | | | | | | | | Reviewed-by: nrc
| * | Merge branch '4.5' of git@scm.dev.troll.no:qt/qtSimon Hausmann2009-05-061-3/+2
| |\ \ | | |/ | | | | | | | | | | | | Conflicts: src/gui/kernel/qcocoaview_mac_p.h src/gui/widgets/qmainwindow.cpp
| | * Re-enabled antialiasing for large font sizes in OpenGL paint engine.Samuel Rødal2009-05-061-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 4.4 alphaMapForGlyph() would return valid images for any font size, but this was changed in 4.5, forcing us to use the path fallback instead. This lead to non-antialiased fonts when not using a multisample-enabled GL format. This patch re-introduces the alphaMapForGlyph() fallback in QFontEngine from 4.4 which uses the raster paint engine to draw the glyph. Task-number: 247083 Reviewed-by: Trond
* | | Reverted use of GL 2 engine as default on desktop.Samuel Rødal2009-05-136-27/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Made GL graphics system work with GLES2 w/o FramebufferBlit extension.Samuel Rødal2009-05-131-10/+11
| | | | | | | | | | | | | | | | | | At the moment, for the GL graphics system to work properly with GLES 2 without the FramebufferBlit extension swapBuffers() needs to preserve the back buffer.
* | | Enabled compilation of both GL and GL2 paint engine.Samuel Rødal2009-05-1313-124/+109
| | | | | | | | | | | | | | | | | | | | | Compile both GL and GL2 paint engine on desktop, and choose between them at run-time based on GL version flags. Reviewed-by: Tom
* | | Merge branch 'shader-api'Rhys Weatherley2009-05-101-1/+1
|\ \ \
| * | | Mac OSX compile errors in shader usageRhys Weatherley2009-05-101-1/+1
| | | |
* | | | Merge branch 'gl2engine-new-shaders' into graphics-masterTom Cooksey2009-05-0612-406/+494
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/painting/qpaintengine_raster.cpp
| * | | | Big GL Extension CleanupTom Cooksey2009-05-068-252/+253
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-053-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | Rename uses of QGLShaderProgram::errors() to log()Rhys Weatherley2009-05-011-2/+2
| | | | | | | | | | | | | | | | | | | | Reviewed-by: trustme
| * | | | Merge branch 'shader-api' into gl2engine-new-shadersRhys Weatherley2009-05-017-149/+225
| |\ \ \ \ | | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/opengl/opengl.pro src/opengl/qglextensions.cpp src/opengl/qglextensions_p.h src/opengl/qglshaderprogram.cpp src/opengl/qglshaderprogram.h
| | * | | qdoc fixesRhys Weatherley2009-05-011-12/+12
| | | | | | | | | | | | | | | | | | | | Reviewed-by: trustme
| | * | | Disable shaders on OpenGL/ES 1.1Rhys Weatherley2009-05-012-2/+2
| | | | | | | | | | | | | | | | | | | | Reviewed-by: trustme
| | * | | Samplers should be set via the GLuint override, not the GLint override.Rhys Weatherley2009-05-012-7/+35
| | | | | | | | | | | | | | | | | | | | Reviewed-by: trustme
| | * | | Make QGLShaderProgram::disable() static.Rhys Weatherley2009-05-012-2/+8
| | | | | | | | | | | | | | | | | | | | Reviewed-by: trustme
| | * | | Rename QGLShader(Program)::errors() to log()Rhys Weatherley2009-05-012-39/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The shader compilers also report warnings, so it is more appropriate to call the string a log. Reviewed-by: trustme
| | * | | Add uniform setters for Qt data types to QGLShaderProgramTom Cooksey2009-05-012-0/+142
| | | | | | | | | | | | | | | | | | | | Reviewed-by: Rhys Weatherley
| | * | | Merge branch 'shaderprograms' of ↵Rhys Weatherley2009-05-018-206/+3420
| | |\ \ \ | | | |/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git@scm.dev.nokia.troll.no:qt/rweathers-shaderprograms into shader-api Conflicts: src/gui/math3d/math3d.pri src/gui/math3d/qgenericmatrix.cpp src/gui/math3d/qgenericmatrix.h src/gui/math3d/qmatrix4x4.cpp src/gui/math3d/qmatrix4x4.h src/gui/math3d/qquaternion.cpp src/gui/math3d/qquaternion.h src/gui/math3d/qvector2d.cpp src/gui/math3d/qvector2d.h src/gui/math3d/qvector3d.cpp src/gui/math3d/qvector3d.h src/gui/math3d/qvector4d.cpp src/gui/math3d/qvector4d.h src/opengl/opengl.pro tests/auto/math3d/math3d.pro tests/auto/math3d/qmatrixnxn/tst_qmatrixnxn.cpp tests/auto/math3d/qquaternion/tst_qquaternion.cpp tests/auto/math3d/qvectornd/tst_qvectornd.cpp tests/auto/math3d/shared/math3dincludes.h
| | | * | Fix loading of partial shaders from files.Rhys Weatherley2009-03-271-3/+0
| | | | |
| | | * | Bug in QGLShaderProgram::addShader() that stopped partial shaders working.Rhys Weatherley2009-03-271-3/+6
| | | | |
| | | * | Import shader implementation from before the history cut.Rhys Weatherley2009-03-238-208/+3422
| | | | |
| | * | | 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
| | * | | Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qtSimon Hausmann2009-04-231-1/+1
| | |\ \ \ | | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qfeatures.h src/gui/painting/qtransform.cpp util/scripts/make_qfeatures_dot_h
| | | * | Compile fix for static builds on Windows for QtOpenGL apps.Denis Dzyubenko2009-04-221-1/+1
| | | | | | | | | | | | | | | | | | | | Reviewed-by: Thiago
| | * | | Merge branch '4.5'Rhys Weatherley2009-04-211-2/+8
| | |\ \ \ | | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/graphicsview/qgraphicsitem.cpp tools/qdoc3/test/assistant.qdocconf tools/qdoc3/test/designer.qdocconf tools/qdoc3/test/linguist.qdocconf tools/qdoc3/test/qmake.qdocconf tools/qdoc3/test/qt-build-docs.qdocconf tools/qdoc3/test/qt.qdocconf
| | | * | Fix crash in OpenGL paint engine with hq antialiasing and TxProjectSamuel Rødal2009-04-211-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use painter paths instead of rectangles for perspective transformed rects, as the rectangles might have been clipped. Task-number: 251485 Reviewed-by: Trond
| | | * | Reparenting QGLWidgets did sometimes caused warnings to be printed onTrond Kjernåsen2009-04-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mac/Cocoa. Check if the view is visible before attaching it to a context. Task-number: related to 250066 Reviewed-by: Norwegian Rock Cat BT: yes
| | | * | BT: OpenGL ES 2.0 now compiles properly for Windows CEThomas Hartmann2009-04-151-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | glpixmapfilter should not be compiled for OpenGL ES 2.0 on nay platform Reviewed-by: Tom Cooksey
| | | * | BT: Fix Cocoa bug w/OpenGL widgets in dock widgets would disappear.Norwegian Rock Cat2009-04-153-23/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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