OpenGL ES and Linux

Alexander Monakov amonakov at ispras.ru
Tue Dec 17 08:11:03 PST 2013


The issue here is that apitrace picks up its own Khronos headers instead of
system headers; according to main CMakeLists:

# We use bundled headers for all Khronos APIs, to guarantee support for both
# OpenGL and OpenGL ES at build time, because the OpenGL and OpenGL ES 1 APIs
# are so intertwined that conditional compilation extremely difficult. This
# also avoids missing/inconsistent declarations in system headers.
include_directories (BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/khronos)

Clearly thirdparty/khronos/EGL/ is missing required logic to define all
platform-specific types in your case; on non-Android Linux, it presumes
X11-based EGL.

On my system Mesa-supplied eglplatform.h has additional code for GBM and
Wayland, for instance.

You could hack this in some way to proceed with testing on your end; for
example by copying system EGL headers to thirdparty/khronos.

I don't know how to approach this on apitrace side.  I encourage you to open
an issue on github and link this discussion.

Alexander


More information about the apitrace mailing list