[About] [News] [Documentation] [Screenshots]
Table of Contents
As of July 2008, bugle has partial support for OpenGL ES 2. It has been tested using the AMD OpenGL ES Emulator 1.3, and basic features work. These include tracing, and the debugger using breakpoints, examining state, and examining shaders. Texture and framebuffer viewing does not currently work (due to limitations of the query mechanisms in OpenGL ES 2. Many of the filtersets do not work, either because they intrinsicly depend on features excluded from OpenGL ES 2 (such as a modelview matrix or polygon mode), or because they have not yet been ported. The test suite is not supported.
It should be noted that when using an emulator that works on top of OpenGL, an alternative approach to debugging is to use bugle as a regular (desktop) OpenGL debugger. This will reveal data such as textures and framebuffers. However, it cannot access the error checking that is done in the emulation layer. For example, an INVALID_ENUM error will not be caught by the debugger if it is generated entirely within the emulation layer.
Support on top of X11 rather than Windows is theoretically present and compiles, but has not been tested. Feedback from anyone with a working OpenGL ES 2 implementation on an X11 system is welcomed.
Configuration can be done largely as described in Section 2.2, “Configuring”. To indicate that OpenGL ES 2 is
desired, the extra parameter
--with-target=gles2-egl-win must be passed to
configure.
Note
Desktop OpenGL header files and libraries are still required for the GUI debugger.
You also need to ensure that your various paths are set correctly.
The headers, libraries and DLLs for the OpenGL ES 2 implementation
need to be listed in CPATH,
LIBRARY_PATH and PATH respectively,
unless the compiler is already configured to find them.
Apart from the usual installation step, some extra setup is
required on a Windows system, due to the limitations of the
dynamic linker. Create copies of the system
libEGL.dll and
libGLESv2.dll called
bglEGL.dll and
bglGLESv2.dll respectively. Then modify each
of these
files so that links to the other use the replacement name. This
can be done as follows, although you might find that the version
of sed provided with MSYS is too old:
$sed -b 's/libGLESv2/bglGLESv2/g' libEGL.dll > bglEGL.dll$sed -b 's/libEGL/bglEGL/g' libGLESv2.dll > bglGLESv2.dll
You should check that the new files are exactly the same size as
the originals. Next, make sure that the versions of
libEGL.dll and
libGLESv2.dll installed by bugle are the
first on the path, and that the renamed libraries you generated
are also on the path.

