summaryrefslogtreecommitdiff
path: root/cogl/tesselator
Commit message (Collapse)AuthorAgeFilesLines
* Don't include any GL header from the public GL headersNeil Roberts2012-08-061-0/+1
| | | | | | | | | | | | | | | | | | | | | This splits the GL header inclusion from cogl-defines.h into a separate headear called cogl-gl-header.h which we will only include internally. That way we don't leak GL declarations out of our public headers. The texture functions that were using GLenum and GLuint in the public header have now changed to just use unsigned int. Note however that if an EGL winsys is enabled then it will still publicly include an EGL header. This is a bit more awkward to fix because we have public API which returns an EGLDisplay and we can't determine what type that is. There is also a conformance test which just verifies that no GL header has been included while compiling. The test isn't added to test-conform-main because it doesn't actually test anything at runtime. Reviewed-by: Robert Bragg <robert@linux.intel.com> (cherry picked from commit ef5680d3fda5df929dbd0b420c8f598ded58dfee)
* build: Do not build a noinst library for the tesselatorEmmanuele Bassi2010-09-121-41/+0
| | | | | | Let's try to keep Cogl's build as non-recursive as possible, in the hope that one day we'll be able to make it fully non-recursive along with the rest of Clutter.
* Fix building the tesselator code for GLESNeil Roberts2010-07-012-15/+29
| | | | | | | | | | | | | The tesselator code uses some defines that it expects to be in the GL headers such as GLAPI and GLAPIENTRY. These are used to mark the entry points as exportable on each platform. We don't really want the tesselator code to use these but we also don't want to modify the C files so instead they are #defined to be empty in the stub glu.h. That header is only included internally when building the tesselator/ files so it shouldn't affect the rest of Cogl. GLES also doesn't have a GLdouble type so we just #define this to be a regular double.
* cogl/tesselator: Update to the latest code from GLUNeil Roberts2010-06-308-13/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This grabs the latest code for libtess from git Mesa. This is mostly so that we can get the following commit which fixes a lot of compiler warnings in Clutter: commit 75acb896c6da758d03e86f8725d6ca0cb2c6ad82 Author: Neil Roberts <neil@linux.intel.com> Date: Wed Jun 30 12:41:11 2010 +0100 glu: Fix some compiler warnings in libtess When compiled with the more aggressive compiler warnings such as -Wshadow and -Wempty-body the libtess code gives a lot more warnings. This fixes the following issues: * The 'Swap' macro tries to combine multiple statements into one and then consume the trailing semicolon by using if(1){/*...*/}else. This gives warnings because the else part ends up with an empty statement. It also seems a bit dangerous because if the semicolon were missed then it would still be valid syntax but it would just ignore the following statement. This patch replaces it with the more common idiom do { /*...*/ } while(0). * 'free' was being used as a local variable name but this shadows the global function. This has been renamed to 'free_handle' * TRUE and FALSE were being unconditionally defined. Although this isn't currently a problem it seems better to guard them with #ifndef because it's quite common for them to be defined in other headers. https://bugs.freedesktop.org/show_bug.cgi?id=28845
* cogl: Pull in the code for GLU tesselator from Mesa/SGINeil Roberts2010-06-2928-0/+6596
This copies the files for the GLU tesselator from Mesa. The Mesa code is based on the original SGI code and is released under a BSD license. The memalloc.h header has been replaced with one that forces the code to use g_malloc and friends. The rest of the files are not altered from the original so it should be possible to later upgrade the files by simply overwriting them. There is a tesselator.h header which is expected to be included by rest of Cogl to use the tesselator. This contains a trimmed down version of glu.h that only includes parts that pertain to the tesselator. There is also a stub glu.h in the GL directory which is just provided so that the tesselator code can include <GL/gl.h> without depending on the system header. It just redirects to tesselator.h