summaryrefslogtreecommitdiffstats
path: root/src/opengl
Commit message (Collapse)AuthorAgeFilesLines
* Unambiguated QGLFramebufferObject constructor on Mac OS X.Samuel Rødal2009-09-011-1/+1
| | | | Reviewed-by: Trond
* Fixed toImage() not working on a multisample QGLFramebufferObject.Samuel Rødal2009-09-011-0/+10
| | | | | | | Need to blit into a regular QGLFramebufferObject first to force a multisample resolve. Reviewed-by: Trond
* Fixed QGLFramebufferObject::toImage() releasing the FBO if bound.Samuel Rødal2009-09-011-2/+5
| | | | Reviewed-by: Trond
* Fixed poor utilization of depth buffer range in GL 2 paint engine.Samuel Rødal2009-09-012-29/+41
| | | | | | | | | | | | | | | | | Before this patch we were only able to do 20 or so IntersectClips before failing, this patch instead adapts to the fixed point nature of typical depth buffer implementations and lets us do ~2^15 IntersectClip operations before failing, which should be a reasonable limit for any real-world application. Using the following mapping of old floating point depths to integer depths: -1.0 -> 0, -0.5 -> 1, 0.0 -> 2, 0.25 -> 3, 0.5 -> 4, 0.625 -> 5, etc.. Reviewed-by: Tom
* Add #define's for highp/mediump after #version/#extension headersRhys Weatherley2009-09-011-1/+20
| | | | | | | | GLSL shaders require that #version and #extension must appear before any other code. The #define's we insert for highp/mediump/etc must therefore be moved down to just after them. Reviewed-by: Gunnar Sletta
* OpenGL/ES 2.0 compilation problem since QGLContextGroup changesRhys Weatherley2009-08-311-0/+12
| | | | Reviewed-by: trustme
* be51485f missed some instances of qt_get_extension_funcsRhys Weatherley2009-08-311-2/+2
| | | | Reviewed-by: trustme
* Fixed initialization order in QGLContextGroup constructor.Kim Motoyoshi Kalland2009-08-311-1/+1
| | | | Reviewed-by: Trond
* Remove unused variable in GL2 engine.Kim Motoyoshi Kalland2009-08-311-1/+1
| | | | Reviewed-by: Trust Me
* Added context pointer to QGLContextGroupResources.Kim Motoyoshi Kalland2009-08-314-126/+151
| | | | | | | | | | | | I renamed QGLContextGroupResources to QGLContextGroup because we are using it to identify context groups. I also added a pointer to one of the contexts in the group. Together with qgl_share_reg(), the pointer can be used to find all contexts in a group. I renamed QGLContextPrivate::qt_get_extension_funcs() to QGLContextPrivate::extensionFuncs() to follow Qt's naming convention. Reviewed-by: Trond
* Fixed a problem with corrupted text in the GL 2 engine.Trond Kjernåsen2009-08-311-0/+1
| | | | | | | Blending should not be enabled when copying the font cache texture into the fbo. It *may* cause artifacts with some drivers. Reviewed-by: Samuel
* Fixed rendering bug in blurpicker example with -graphicssystem openglSamuel Rødal2009-08-311-28/+25
| | | | | | | | | | | Made the GL blur filter code slightly less hacky by not reusing the same paint engine for rendering both to the offscreen FBO and to the actual target device. This should make the code less reliant on paint engine implementation details and thus more robust with regards to changes in the paint engine. Task-number: 260402 Reviewed-by: Trond
* Fixed having a QPainter active on several FBOs at the same time.Samuel Rødal2009-08-311-10/+29
| | | | | | | It's insufficient to use a single paint engine to render to all FBOs. If the default engine is already in used we need to create our own engine. Reviewed-by: Trond
* doc: Fixed several qdoc errors.Martin Smith2009-08-311-1/+1
|
* Fixed crash when sharing OpenGL contexts in the GL2 paint engine.Kim Motoyoshi Kalland2009-08-312-46/+155
| | | | | | | | | | | Shader objects had a pointer to the context they were originally created in. If the context was destroyed, the shader would (on Windows) dereference an invalid pointer and cause the program to crash. I replaced the context pointer with a pointer to the context group. I also added checks in debug mode to make sure the context associated with the shader shares resources with the current context. Reviewed-by: Tom
* Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6Jason McDonald2009-08-311-0/+38
|\
| * Fixed compile failure caused by merge error in fragmentprograms_p.h.Samuel Rødal2009-08-311-0/+38
| |
* | Update tech preview license header for files that are new in 4.6.Jason McDonald2009-08-318-104/+104
|/ | | | Reviewed-by: Trust Me
* Fixed inverted pixmaps when using OpenGL graphics effects.Samuel Rødal2009-08-311-1/+3
| | | | | | | QGL2PaintEngineExPrivate::drawTexture() texture coordinates have been inverted, so they need to be inverted here too. Reviewed-by: Kim
* Merge branch '4.5' into 4.6Thiago Macieira2009-08-3150-637/+650
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-3159-767/+767
| | | | | | | | Reviewed-by: Trust Me
| * Update license headers.Jason McDonald2009-08-1159-59/+59
| | | | | | | | Reviewed-by: Trust Me
* | Move QGLShareContextScope to qgl_p.h so other things can use it.Rhys Weatherley2009-08-312-37/+40
| | | | | | | | Reviewed-by: trustme
* | Remove QGLShader from its QGLShaderProgram when it is destroyedRhys Weatherley2009-08-312-4/+23
| | | | | | | | Reviewed-by: Samuel
* | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6Gunnar Sletta2009-08-284-29/+130
|\ \
| * | Fixed QGLWidget::renderText() when using the GL 2 paint engine.Trond Kjernåsen2009-08-284-23/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | QGLWidget::renderText() needs to respect the current depth and scissor tests that the user has set. Therefore we needs some special casing in the GL 2 paint engine to handle the custom depth testing. The private setRenderTextActive() has been added for this purpose. Reviewed-by: Samuel
| * | Fixed a problem where the InvertedYBindOption was always removed.Trond Kjernåsen2009-08-281-1/+1
| | | | | | | | | | | | Reviewed-by: Samuel
| * | Added some information to QGLFramebufferObject documentationSamuel Rødal2009-08-281-4/+4
| | | | | | | | | | | | Reviewed-by: Trond
| * | doc: Fixed several qdoc errors.Martin Smith2009-08-281-2/+18
| | |
* | | Attempting to make EGL compile again and fix some potentialGunnar Sletta2009-08-285-17/+35
|/ / | | | | | | issues with flipped pixmaps on X11
* | Define highp to mediump on OpenGL/ES systems that don't have highpRhys Weatherley2009-08-271-0/+15
| | | | | | | | Reviewed-by: Tom Cooksey
* | Remove extraneous semi-colonsRhys Weatherley2009-08-272-3/+3
| | | | | | | | Reviewed-by: trustme
* | Fixed path filling in the GL2 paint engine.Kim Motoyoshi Kalland2009-08-271-1/+1
| | | | | | | | | | | | | | | | | | | | The bounding box was not updated for moveTo-commands except the first one. Therefore, the calculated bounding box could be too small for paths with more than one subpath, and when the stencil method was used, parts of the path would not be filled. Task-number: 245803 Reviewed-by: Samuel
* | Fix y orientation of pixmap brushes and pixmaptiles in gl1 engineGunnar Sletta2009-08-274-3525/+3370
| | | | | | | | Reviewed-by: Samuel
* | Don't flip texture coords in texture brushes in accordance with new bindTextureGunnar Sletta2009-08-271-1/+0
| | | | | | | | Reviewed-by: Trond
* | compile on x11Gunnar Sletta2009-08-271-1/+1
| |
* | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6Gunnar Sletta2009-08-279-115/+108
|\ \ | | | | | | | | | | | | | | | Conflicts: src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
| * | Make QGLShader::ShaderType slightly more future proof byGunnar Sletta2009-08-272-8/+18
| | | | | | | | | | | | | | | | | | making it into a bitmask. I'll add GeometryShader in the future Reviewed-by: Rhys Weatherley
| * | API improvements for creating shaders from filesRhys Weatherley2009-08-272-52/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It used to be possible to derive the shader type from the file extension, but this isn't very extensible and doesn't capture the usual extensions. Change it so that the shader type must be supplied explicitly. Also add the addShaderFromFile() function to QGLShaderProgram to provide a convenient short-cut for file-based shader creation. Reviewed-by: Sarah Smith
| * | Made GL 2 engine reset various GL state to their defaults in end().Samuel Rødal2009-08-262-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | This makes mixing GL and QPainter code safer. We need to be able to assume default GL state in begin(), and set back whatever we change to the default state in end() in the GL 2 paint engine. Reviewed-by: Trond
| * | Made brush textures in GL2 engine use correct filtering.Samuel Rødal2009-08-261-8/+10
| | | | | | | | | | | | | | | | | | | | | Only use bilinear filtering when SmoothPixmapTransform render hint is used. Reviewed-by: Kim
| * | Improved GLSL precision specifiers in GL 2 engine.Samuel Rødal2009-08-261-24/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The recommended specifiers are lowp for colors / normal vectors, mediump for texture coordinates when a limited range is sufficient, and highp for generic texture coordinates and vertex coordinates / transformation matrices. We used to use mediump for texture coordinate in some places, but since we don't control the texturing scenarios we need to handle the worst case, which is zooming in on part of a large texture (2048x2048) with bilinear filtering. To properly handle this case without color banding mediump is probably not sufficient, so we'll use highp for texture coordinates. Reviewed-by: Tom
| * | Improved QPainter API for allowing native painting in GL / VG.Samuel Rødal2009-08-263-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | Previously we were using QPaintEngine::syncState() which is not ideal naming-wise, since it actually prepares for native painting instead of syncing the painter's state to native state. Reviewed-by: Trond
| * | Remove Graphics View dependency from QGraphicsShaderEffect.Bjørn Erik Nilsen2009-08-262-8/+0
| | | | | | | | | | | | Graphics effects are no longer in the Graphics View module.
| * | doc: fixes qdoc warnings/errors related to the Graphics Effect framework.Bjørn Erik Nilsen2009-08-261-1/+1
| | | | | | | | | | | | Reviewed-by: Kavindra
| * | Added missing precision specifiers to custom shader effect.Samuel Rødal2009-08-264-8/+8
| | | | | | | | | | | | | | | | | | The precision specifiers need to be there on OpenGL ES 2.0. Reviewed-by: Tom
* | | make x11 compile...Gunnar Sletta2009-08-271-3/+3
| | |
* | | New variant of QGLContext::bindTexture that does not require mipmap generationGunnar Sletta2009-08-279-89/+308
|/ / | | | | | | | | | | | | and y-axis inversion and overall less conversion, making significantly faster for plain usecases Reviewed-by: Trond
* | Fixed clipping bug in GL 2 paint engine (visible in arthur demos).Samuel Rødal2009-08-261-1/+1
| | | | | | | | | | | | | | | | | | | | QVectorPath::hints() is not a strict bit field, and thus can not be anded with RectangleHint. Instead, QVectorPath::shape() should be directly compared with RectangleHint to check if the vector path is a rectangle or not. In this case the first four points of a regular painter path were treated as a rectangle with dire consequences. Reviewed-by: Tom
* | Fixed documentation and use of incorrect entry point for custom shaders.Samuel Rødal2009-08-252-12/+9
| | | | | | | | | | | | | | The entry point has been changed to be customShader, taking source image and texture coordinates as parameters. Reviewed-by: Tom