diff --git a/src/libprojectM/Renderer/SOIL2/CMakeLists.txt b/src/libprojectM/Renderer/SOIL2/CMakeLists.txt index 7bcb49f7e..7ee7b538d 100644 --- a/src/libprojectM/Renderer/SOIL2/CMakeLists.txt +++ b/src/libprojectM/Renderer/SOIL2/CMakeLists.txt @@ -30,6 +30,18 @@ target_link_libraries(SOIL2 PUBLIC ${PROJECTM_OPENGL_LIBRARIES} ) + +if(USE_GLES) + target_compile_definitions(SOIL2 + PRIVATE + SOIL_GLES3 + SOIL_NO_EGL + ) + target_link_libraries(SOIL2 + PUBLIC + ${CMAKE_DL_LIBS} + ) +endif() set_target_properties(SOIL2 PROPERTIES FOLDER libprojectM diff --git a/src/libprojectM/Renderer/SOIL2/SOIL2.c b/src/libprojectM/Renderer/SOIL2/SOIL2.c index 64dbf27ad..9fa672729 100644 --- a/src/libprojectM/Renderer/SOIL2/SOIL2.c +++ b/src/libprojectM/Renderer/SOIL2/SOIL2.c @@ -41,6 +41,13 @@ #include #endif +#if defined( SOIL_GLES3 ) + #include + #include + + #define APIENTRY GL_APIENTRY +#endif + #if defined( SOIL_GLES2 ) #ifdef SOIL_PLATFORM_IOS #include @@ -216,12 +223,12 @@ void * SOIL_GL_GetProcAddress(const char *proc) #if defined( SOIL_PLATFORM_IOS ) func = dlsym( RTLD_DEFAULT, proc ); -#elif defined( SOIL_GLES2 ) || defined( SOIL_GLES1 ) +#elif defined( SOIL_GLES2 ) || defined( SOIL_GLES1 ) || defined( SOIL_GLES3 ) #ifndef SOIL_NO_EGL func = eglGetProcAddress( proc ); #else func = NULL; - #endif + #endif #elif defined( SOIL_PLATFORM_WIN32 ) func = wglGetProcAddress( proc );