emugl: generate GL ES/EGL function prototypes at build type from entries files

This will make the *.entries files the the authoritative place to
define additional GL function prototypes. All generated header
files are now placed inside the build directory so that nobody
will ever try to touch them again.
This commit is contained in:
Simon Fels 2017-08-31 15:38:42 +02:00 • committed by Simon Fels
commit 067201baba
20 changed files with 628 additions and 504 deletions

View file

@ -1,3 +1,22 @@
set(GENERATED_SOURCES
gles1_extensions_functions.h
gles1_only_functions.h
gles2_extensions_functions.h
gles2_only_functions.h
gles3_only_functions.h
gles_common_functions.h
gles_extensions_functions.h
gles_functions.h
RenderEGL_extensions_functions.h
RenderEGL_functions.h)
add_custom_target(GLHeaders)
add_custom_command(
TARGET GLHeaders
POST_BUILD
COMMAND ${CMAKE_SOURCE_DIR}/scripts/gen-emugl-headers.sh ${CMAKE_BINARY_DIR}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
add_subdirectory(GLESv1_dec)
add_subdirectory(GLESv2_dec)
add_subdirectory(libOpenGLESDispatch)

View file

@ -21,4 +21,5 @@ if ("${cmake_build_type_lower}" STREQUAL "trace")
endif()
add_library(GLESv1_dec STATIC ${SOURCES} ${GENERATED_SOURCES})
add_dependencies(GLESv1_dec GLHeaders)
target_link_libraries(GLESv1_dec OpenglCodecCommon)

View file

@ -21,4 +21,5 @@ if ("${cmake_build_type_lower}" STREQUAL "trace")
endif()
add_library(GLESv2_dec STATIC ${SOURCES} ${GENERATED_SOURCES})
add_dependencies(GLESv2_dec GLHeaders)
target_link_libraries(GLESv2_dec OpenglCodecCommon)

View file

@ -3,7 +3,8 @@ set(SOURCES
GLESv2Dispatch.cpp
GLESv1Dispatch.cpp)
add_library(OpenGLESDispatch STATIC ${SOURCES} ${GENERATED_SOURCES})
add_library(OpenGLESDispatch STATIC ${SOURCES})
add_dependencies(OpenGLESDispatch GLHeaders)
target_link_libraries(OpenGLESDispatch
emugl_common
GLESv2_dec

View file

@ -5,9 +5,17 @@ void glCurrentPaletteMatrixARB(GLint index);
void glMatrixIndexuivARB(GLint size, GLuint * indices);
void glMatrixIndexPointerARB(GLint size, GLenum type, GLsizei stride, const GLvoid* pointer);
void glWeightPointerARB(GLint size, GLenum type, GLsizei stride, const GLvoid* pointer);
void glTexGenf(GLenum coord, GLenum pname, GLfloat param );
void glTexGeni(GLenum coord, GLenum pname, GLint param );
void glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params );
void glTexGeniv(GLenum coord, GLenum pname, const GLint *params );
void glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params );
void glGetTexGeniv(GLenum coord, GLenum pname, GLint *params );
void glTexGenf(GLenum coord, GLenum pname, GLfloat param);
void glTexGeni(GLenum coord, GLenum pname, GLint param);
void glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params);
void glTexGeniv(GLenum coord, GLenum pname, const GLint *params);
void glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params);
void glGetTexGeniv(GLenum coord, GLenum pname, GLint *params);
void glDrawTexsOES(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height);
void glDrawTexiOES(GLint x, GLint y, GLint z, GLint width, GLint height);
void glDrawTexfOES(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height);
void glDrawTexxOES(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);
void glDrawTexsvOES(const GLshort *coords);
void glDrawTexivOES(const GLint *coords);
void glDrawTexfvOES(const GLfloat *coords);
void glDrawTexxvOES(const GLfixed *coords);

View file

@ -4,6 +4,7 @@
void glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
void glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);
void glStencilMaskSeparate(GLenum face, GLuint mask);
void glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass);
GLboolean glIsProgram(GLuint program);
GLboolean glIsShader(GLuint shader);
void glVertexAttrib1f(GLuint indx, GLfloat x);