Merge lp://qastaging/~linaro-graphics-wg/compiz-core/linaro-gles2 into lp://qastaging/compiz-core/0.9.8
Status: | Superseded | ||||||||
---|---|---|---|---|---|---|---|---|---|
Proposed branch: | lp://qastaging/~linaro-graphics-wg/compiz-core/linaro-gles2 | ||||||||
Merge into: | lp://qastaging/compiz-core/0.9.8 | ||||||||
Diff against target: |
12066 lines (+4692/-4113) (has conflicts) 66 files modified
CMakeLists.txt (+12/-0) cmake/CMakeLists.txt (+2/-0) cmake/CompizCommon.cmake (+12/-0) cmake/CompizPlugin.cmake (+14/-10) cmake/FindOpenGLES2.cmake (+51/-0) cmake/base.cmake (+3/-1) cmake/plugin_extensions/CompizOpenGLFixups.cmake (+22/-0) gtk/config.h.gtk.in (+0/-25) gtk/window-decorator/actionmenu.c (+0/-133) gtk/window-decorator/blurprops.c (+0/-89) gtk/window-decorator/forcequit.c (+0/-201) gtk/window-decorator/gdk.c (+0/-106) gtk/window-decorator/style.c (+0/-66) gtk/window-decorator/util.c (+0/-299) plugins/annotate/src/annotate.cpp (+151/-77) plugins/blur/CMakeLists.txt (+12/-12) plugins/clone/src/clone.cpp (+0/-5) plugins/compiztoolbox/src/compiztoolbox.cpp (+14/-28) plugins/copytex/src/copytex.cpp (+9/-0) plugins/cube/CMakeLists.txt (+1/-1) plugins/cube/src/cube.cpp (+0/-4) plugins/decor/src/decor.cpp (+35/-22) plugins/decor/src/decor.h (+3/-3) plugins/imgsvg/src/imgsvg.cpp (+12/-9) plugins/imgsvg/src/imgsvg.h (+2/-1) plugins/obs/src/obs.cpp (+9/-8) plugins/obs/src/obs.h (+1/-1) plugins/opengl/CMakeLists.txt (+9/-4) plugins/opengl/compiz-opengl.pc.in (+2/-2) plugins/opengl/include/opengl/fragment.h (+0/-125) plugins/opengl/include/opengl/framebufferobject.h (+107/-0) plugins/opengl/include/opengl/matrix.h (+2/-0) plugins/opengl/include/opengl/opengl.h (+266/-72) plugins/opengl/include/opengl/program.h (+75/-0) plugins/opengl/include/opengl/programcache.h (+51/-0) plugins/opengl/include/opengl/shadercache.h (+100/-0) plugins/opengl/include/opengl/texture.h (+5/-0) plugins/opengl/include/opengl/vector.h (+1/-1) plugins/opengl/include/opengl/vertexbuffer.h (+109/-0) plugins/opengl/opengl.xml.in (+1/-1) plugins/opengl/src/fragment.cpp (+0/-1146) plugins/opengl/src/framebufferobject.cpp (+191/-0) plugins/opengl/src/matrix.cpp (+54/-0) plugins/opengl/src/paint.cpp (+414/-422) plugins/opengl/src/privatefragment.h (+0/-54) plugins/opengl/src/privates.h (+36/-11) plugins/opengl/src/privatetexture.h (+32/-0) plugins/opengl/src/privatevertexbuffer.h (+138/-0) plugins/opengl/src/program.cpp (+262/-0) plugins/opengl/src/programcache.cpp (+175/-0) plugins/opengl/src/screen.cpp (+558/-70) plugins/opengl/src/shadercache.cpp (+246/-0) plugins/opengl/src/texture.cpp (+136/-11) plugins/opengl/src/vertexbuffer.cpp (+550/-0) plugins/opengl/src/window.cpp (+69/-84) plugins/resize/src/resize.cpp (+95/-39) plugins/rotate/CMakeLists.txt (+1/-1) plugins/scale/src/scale.cpp (+12/-24) plugins/screenshot/src/screenshot.cpp (+52/-25) plugins/switcher/src/switcher.cpp (+49/-48) plugins/water/CMakeLists.txt (+1/-1) plugins/water/src/shaders.h (+201/-0) plugins/water/src/water.cpp (+265/-803) plugins/water/src/water.h (+37/-67) plugins/water/water.xml.in (+24/-0) plugins/wobbly/CMakeLists.txt (+1/-1) Text conflict in plugins/opengl/src/screen.cpp |
||||||||
To merge this branch: | bzr merge lp://qastaging/~linaro-graphics-wg/compiz-core/linaro-gles2 | ||||||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Compiz Maintainers | Pending | ||
Review via email: mp+102823@code.qastaging.launchpad.net |
This proposal has been superseded by a proposal from 2012-05-14.
Description of the change
This branch contains the code to make compiz work on GLES. This includes several changes to the compiz API.
* GLVertexBuffer class added for managing vertices, normals, texture coordinates, and colors
* GLProgram class added for managing GLSL programs
* GLProgramCache class added for managing per-plugin GLSL programs efficiently, uses an LRU cache
to avoid recompiling recently used GLSL programs all the time
* GLShaderCache class added for managing dynamically created shader source code.
* GLFragment class removed as fragment programs are no longer used (replaced with GLSL programs)
* EGL context setup added
* EglTexture class added to use EGL_image extension instead of GLX_EXT_
Things left to do for a complete port:
* port blur, wobbly, rotate, cube, and water plugins
* wobbly, cube, and rotate should be fairly straightforward, water and blur need updated to
use GLSL instead of fragment programs
Unmerged revisions
- 2922. By Alexandros Frantzis
-
Sync with lp:compiz-core.
- 2921. By Alexandros Frantzis
-
Sync with lp:compiz-core.
- 2920. By Alexandros Frantzis
-
opengl: For OpenGL ES 2.0 ensure that format equals internalFormat when uploading texture data.
In OpenGL ES 2.0 no format conversion is allowed, i.e., format must equal internalFormat.
- 2919. By Alexandros Frantzis
-
Fix compilation with desktop GL.
- 2918. By Alexandros Frantzis
-
opengl: Disable blending by default when drawing the screen.
Each operation/plugin should enable it (and reset it) as needed
(as most operations are currently doing). - 2917. By Alexandros Frantzis
-
Sync with lp:compiz-core.
- 2916. By Alexandros Frantzis
-
opengl: Refactor shader infrastructure to use small, performant programs.
This commit replaces the single complicated shader with minimal,
performant shaders, tailored to specific use cases. The new GLShaderCache
object is used for creating and caching the shader data for specific uses
cases (GLShaderParameters). This commit also adds automatic creation of suitable GL programs in
GLVertexBuffers (see ::setAutoProgram) that don't have a program
explicitly set. - 2915. By Alexandros Frantzis
-
opengl: Ensure blending is enabled, when needed, when drawing window contents.
- 2914. By Alexandros Frantzis
-
Sync with lp:compiz-core.
- 2913. By Alexandros Frantzis
-
Sync with lp:compiz-core.
Apart from a few (mostly simple) merge conflicts this builds with trunk. Unsurprisingly the unit tests pass (they don't touch the affected codepath).
Apart from a lack of the usual plugins the result runs.