summaryrefslogtreecommitdiffstats
path: root/src/opengl/gl2paintengineex
Commit message (Collapse)AuthorAgeFilesLines
* Fixed bugs in GL2 paint engine when several engines are active.Samuel Rødal2009-05-271-29/+17
| | | | | | | 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.
* 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
* 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-141-2/+2
|
* Enabled compilation of both GL and GL2 paint engine.Samuel Rødal2009-05-134-25/+25
| | | | | | | 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 'gl2engine-new-shaders' into graphics-masterTom Cooksey2009-05-062-4/+5
|\ | | | | | | | | Conflicts: src/gui/painting/qpaintengine_raster.cpp
| * Big GL Extension CleanupTom Cooksey2009-05-061-2/+3
| | | | | | | | | | | | | | | | | | 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
| * Rename uses of QGLShaderProgram::errors() to log()Rhys Weatherley2009-05-011-2/+2
| | | | | | | | Reviewed-by: trustme
* | Remove old qglshader files from gl2paintengineex.Samuel Rødal2009-04-232-878/+0
|/
* Allow release builds againTom Cooksey2009-04-221-2/+0
| | | | The list of shaders shouldn't change too much now.
* Make useCorrectShaderProg() return a bool againTom Cooksey2009-04-223-13/+10
| | | | | Returns true if it had to change the shader program so the engine knows it needs to clean the uniforms.
* Make optimiseForBrushTransform take a QTransform referenceTom Cooksey2009-04-222-2/+2
|
* Change fragment shaders to apply the mask as the final stepTom Cooksey2009-04-221-2/+2
| | | | I.e. After composition, not before.
* Merge branch 'master' into gl2engine-new-shadersSamuel Rødal2009-04-222-45/+137
|\ | | | | | | | | | | Conflicts: src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp src/opengl/opengl.pro
| * Prevent copy back from FBO when initializing render FBO from texture.Samuel Rødal2009-04-201-1/+1
| |
| * Smudgy text in GL2 paint engine when drawing on non-integer offsets.Samuel Rødal2009-04-171-21/+39
| | | | | | | | | | | | | | | | | | Special-case TextDrawingMode in updateMatrix() as we know that we'll have a pure translating transform, and round the transform's dx and dy to avoid drawing on non-integer offsets. Task-number: 245806 Reviewed-by: Tom
| * Correctly handle using GL pixmaps that still have an active engine.Samuel Rødal2009-04-172-3/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Use FBOs as pixmap backend in GL graphics system.Samuel Rødal2009-04-161-1/+37
| | | | | | | | | | | | | | | | 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
| * GL2: Avoid expensive updateDepthClip() every time setState() is calledSamuel Rødal2009-04-162-17/+14
| | | | | | | | Only call updateDepthClip() if the clip has actually changed.
* | Make text rendering work again on the GL2 engineTom Cooksey2009-04-212-46/+48
| | | | | | | | | | - But now it can handle non-solid-color pens, the whole reason for the refactor in the first place.
* | Kill unused SimpleVertexShader & rename vertex coords arrayTom Cooksey2009-04-203-23/+12
| | | | | | | | | | | | | | | | Rename inputVertex -> vertexCoordsArray to be more consistent with other vertex attribute array naming conventions. SimpleVertexShader has also been replaced with a combination of MainVertexShader & PositionOnlyVertexShader, so can be killed.
* | Refactor opacity handling & make drawImage/drawPixmap work againTom Cooksey2009-04-204-88/+96
| |
* | Fix various issues with conical grad GLSL codeTom Cooksey2009-04-171-4/+6
| | | | | | | | | | | | - atan2 is just called atan in GLSL (which supports overloads) - varyings can't be modified in fragment shaders - #defines need to be on their own line
* | Add a "shocking pink" shader for rendering into stencil buffTom Cooksey2009-04-173-2/+30
| | | | | | | | | | | | If you see shocking pink in the rendering output, it's probably because the "simple" shader is in use but color writes have somehow been enabled. :-)
* | Fix GLSL warning & possible artifacts with radial gradientsTom Cooksey2009-04-171-1/+1
| | | | | | | | Reviewed-by: Samuel Rødal
* | Make fillRect() with a QBrush(Qt::NoBrush) a noopTom Cooksey2009-04-161-0/+3
| |
* | Don't seg-fault when the shader prog is in the cacheTom Cooksey2009-04-161-1/+2
| |
* | Clean up existing & implement missing GLSL for new shader managerTom Cooksey2009-04-163-153/+319
| |
* | Adapt GL2 Paint Engine to new math3d, shader & shader manager APIsTom Cooksey2009-04-161-43/+43
| |
* | Re-write the shader manager & completely break everything ;-)Tom Cooksey2009-04-166-745/+754
| |
* | Add (big) comment explaining shader pipeline in GL2 engineTom Cooksey2009-04-031-0/+138
| | | | | | | | Reviewed-by: TrustMe
* | Fix build breakage after rebasing on graphics-mainTom Cooksey2009-04-031-0/+1
| | | | | | | | Reviewed-by: Trustme
* | Import shader implementation from before the history cut.Rhys Weatherley2009-04-031-1/+2
|/
* Fixes: Make FBO window surface work with GL 2 paint engine.Samuel Rødal2009-04-011-0/+3
| | | | | | RevBy: Trond Details: Need to make sure clipping/scissoring etc is turned off and that we are in a good state.
* Fixes: Respect the SmoothPixmapTransform render hint in the GL2 paint engine.Samuel Rødal2009-04-011-1/+1
| | | | RevBy: Tom
* Fixes: Get rid of GL 2 paint engine debug message...Samuel Rødal2009-04-011-2/+0
| | | | RevBy: Tom
* Fixes: Small optimizations in GL 2 paint engine...Samuel Rødal2009-04-011-3/+3
| | | | RevBy: Tom
* Fixes: Clipping bug in GL 2 paint engine (embeddeddialogs demo).Samuel Rødal2009-04-011-0/+1
| | | | RevBy: Tom
* Fixes: Introduce mode transfer functions in the GL 2 paint engine.Samuel Rødal2009-04-012-53/+94
| | | | | | | | RevBy: Tom Details: Mode transfer lets us optimize the case where the same operation is done a lot of times in a row, for example image or text drawing, by being able to assume that most of the state has already been set up properly.
* Fixes: GL 2 paint engine text rendering optimization.Samuel Rødal2009-04-014-57/+52
| | | | | | | RevBy: Tom Details: Buffer vertex and texture coordinates so that we get away with just a single glDrawArrays call per text item. Also move drawCachedGlyphs() into the private class.
* Fixes: Improve text rendering in GL 2 paint engine.Samuel Rødal2009-04-011-2/+2
| | | | | Details: Avoid adding 0.5 to dx() / dy() which caused images / glyphs to get slight antialiasing and edge artifacts.
* Get rid of warning introduced in the last commit.Samuel Rødal2009-04-011-1/+1
|
* Fixes: Move QGLDrawable into qgl_p.h so that we can use it in the GL 2 ↵Samuel Rødal2009-04-011-9/+10
| | | | | | | | 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-013-3/+20
|
* Long live Qt!Lars Knoll2009-03-2311-0/+3733