From ef19f205d1d0cbfd8c720d12d64d5d5ed2a2da15 Mon Sep 17 00:00:00 2001 From: Docent27 Date: Sun, 20 Feb 2022 15:26:39 +0200 Subject: [PATCH] Update --- buildscripts/CMakeLists.txt | 18 ++-- buildscripts/build.sh | 5 +- buildscripts/patches/gl4es/Android.mk | 100 ------------------ buildscripts/patches/gl4es/gamma-1.1.2.patch | 57 ---------- buildscripts/patches/gl4es/gamma-1.1.6.patch | 57 ---------- .../gl4es/{gamma-1.1.4.patch => gamma.patch} | 0 buildscripts/patches/gl4es/psa-1.1.6.patch | 77 -------------- .../gl4es/{psa-1.1.4.patch => psa.patch} | 0 .../patches/gl4es/shared-library-1.1.2.patch | 27 ----- .../patches/gl4es/shared-library-1.1.6.patch | 27 ----- ...brary-1.1.4.patch => shared-library.patch} | 2 +- 11 files changed, 12 insertions(+), 358 deletions(-) delete mode 100644 buildscripts/patches/gl4es/Android.mk delete mode 100644 buildscripts/patches/gl4es/gamma-1.1.2.patch delete mode 100644 buildscripts/patches/gl4es/gamma-1.1.6.patch rename buildscripts/patches/gl4es/{gamma-1.1.4.patch => gamma.patch} (100%) delete mode 100644 buildscripts/patches/gl4es/psa-1.1.6.patch rename buildscripts/patches/gl4es/{psa-1.1.4.patch => psa.patch} (100%) delete mode 100644 buildscripts/patches/gl4es/shared-library-1.1.2.patch delete mode 100644 buildscripts/patches/gl4es/shared-library-1.1.6.patch rename buildscripts/patches/gl4es/{shared-library-1.1.4.patch => shared-library.patch} (92%) diff --git a/buildscripts/CMakeLists.txt b/buildscripts/CMakeLists.txt index 0475aec64..9f63b78d6 100644 --- a/buildscripts/CMakeLists.txt +++ b/buildscripts/CMakeLists.txt @@ -37,8 +37,8 @@ set(MYGUI_VERSION 3.4.0) set(MYGUI_HASH SHA256=d1d5f294670ae71f7200ed4b30859018281d8cfd45d6a38d18b97a4aba604c42) # https://github.com/ptitSeb/gl4es/releases -set(GL4ES_VERSION baf1c7482ee8dd138324a1f670fc04706723ed83) -# set(GL4ES_HASH SHA256=2eb0d3e5609529e74394fdba1bf73f02fd6d54ab19ec1a6c117856220141b730) +set(GL4ES_VERSION v1.1.4) +set(GL4ES_HASH SHA256=b565e717c7d192e936bda25f3cb90ad8db398af56414ec08294b6716574c1a6d) # https://github.com/OpenMW/osg/releases set(OSG_VERSION ada34a6d38772f684aa70d2eb76549a33edc9a5f) @@ -309,16 +309,16 @@ ExternalProject_Add(bullet ) set(GL4ES_PATCH - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/gl4es/shared-library-1.1.6.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/gl4es/disable-shader-hacks.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/gl4es/psa-1.1.6.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/gl4es/highp-fog.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/gl4es/gamma-1.1.6.patch + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/gl4es/shared-library.patch + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/gl4es/gamma.patch + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/gl4es/disable-shader-hacks.patch + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/gl4es/psa.patch + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/gl4es/highp-fog.patch ) ExternalProject_Add(gl4es URL https://github.com/ptitSeb/gl4es/archive/${GL4ES_VERSION}.tar.gz - https://github.com/xyzz/openmw-deps/releases/download/v0/gl4es-${GL4ES_VERSION}.gz + # https://github.com/xyzz/openmw-deps/releases/download/v0/gl4es-${GL4ES_VERSION}.gz # URL_HASH ${GL4ES_HASH} DOWNLOAD_DIR ${download_dir} @@ -346,7 +346,7 @@ ExternalProject_Add(mygui CONFIGURE_COMMAND ${wrapper_command} cmake ${COMMON_CMAKE_ARGS} - -DMYGUI_RENDERSYSTEM=4 + -DMYGUI_RENDERSYSTEM=ON -DMYGUI_BUILD_DEMOS=OFF -DMYGUI_BUILD_TOOLS=OFF -DMYGUI_BUILD_PLUGINS=OFF diff --git a/buildscripts/build.sh b/buildscripts/build.sh index 931a2ff69..b543c0d63 100755 --- a/buildscripts/build.sh +++ b/buildscripts/build.sh @@ -4,11 +4,11 @@ set -e DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" cd $DIR -export ARCH="arm64" +export ARCH="arm" export CCACHE="false" ASAN="false" DEPLOY_RESOURCES="true" -LTO="false" +LTO="True" BUILD_TYPE="release" CFLAGS="-fPIC" CXXFLAGS="-fPIC -frtti -fexceptions" @@ -95,7 +95,6 @@ fi if [[ $LTO = "true" ]]; then CFLAGS="$CFLAGS -flto=thin" CXXFLAGS="$CXXFLAGS -flto=thin" - # emulated-tls should not be needed in ndk r18 https://github.com/android-ndk/ndk/issues/498#issuecomment-327825754 LDFLAGS="$LDFLAGS -flto=thin -Wl,-plugin-opt=-emulated-tls -fuse-ld=gold" fi diff --git a/buildscripts/patches/gl4es/Android.mk b/buildscripts/patches/gl4es/Android.mk deleted file mode 100644 index 8d0188baf..000000000 --- a/buildscripts/patches/gl4es/Android.mk +++ /dev/null @@ -1,100 +0,0 @@ -LOCAL_PATH := $(call my-dir) - -########################### -# -# GL static library -# -########################### - -include $(CLEAR_VARS) - -LOCAL_MODULE := GL - -LOCAL_C_INCLUDES := $(LOCAL_PATH)/include - -LOCAL_EXPORT_C_INCLUDES := $(LOCAL_C_INCLUDES) -DBCMHOST - -LOCAL_SRC_FILES := \ - src/gl/arbconverter.c \ - src/gl/arbgenerator.c \ - src/gl/arbhelper.c \ - src/gl/arbparser.c \ - src/gl/array.c \ - src/gl/blend.c \ - src/gl/blit.c \ - src/gl/buffers.c \ - src/gl/build_info.c \ - src/gl/debug.c \ - src/gl/decompress.c \ - src/gl/depth.c \ - src/gl/directstate.c \ - src/gl/drawing.c \ - src/gl/enable.c \ - src/gl/envvars.c \ - src/gl/eval.c \ - src/gl/face.c \ - src/gl/fog.c \ - src/gl/fpe.c \ - src/gl/fpe_cache.c \ - src/gl/fpe_shader.c \ - src/gl/framebuffers.c \ - src/gl/gl_lookup.c \ - src/gl/getter.c \ - src/gl/gl4es.c \ - src/gl/glstate.c \ - src/gl/hint.c \ - src/gl/init.c \ - src/gl/light.c \ - src/gl/line.c \ - src/gl/list.c \ - src/gl/listdraw.c \ - src/gl/listrl.c \ - src/gl/loader.c \ - src/gl/logs.c \ - src/gl/matrix.c \ - src/gl/matvec.c \ - src/gl/oldprogram.c \ - src/gl/pixel.c \ - src/gl/planes.c \ - src/gl/pointsprite.c \ - src/gl/preproc.c \ - src/gl/program.c \ - src/gl/queries.c \ - src/gl/raster.c \ - src/gl/render.c \ - src/gl/samplers.c \ - src/gl/shader.c \ - src/gl/shaderconv.c \ - src/gl/shader_hacks.c \ - src/gl/stack.c \ - src/gl/stencil.c \ - src/gl/string_utils.c \ - src/gl/stubs.c \ - src/gl/texenv.c \ - src/gl/texgen.c \ - src/gl/texture.c \ - src/gl/texture_compressed.c \ - src/gl/texture_params.c \ - src/gl/texture_read.c \ - src/gl/texture_3d.c \ - src/gl/uniform.c \ - src/gl/vertexattrib.c \ - src/gl/wrap/gl4eswraps.c \ - src/gl/wrap/gles.c \ - src/gl/wrap/glstub.c \ - src/gl/math/matheval.c \ - src/glx/hardext.c \ - src/glx/glx.c \ - src/glx/lookup.c \ - src/glx/gbm.c \ - src/glx/streaming.c \ - -LOCAL_CFLAGS += -g -std=gnu99 -funwind-tables -O3 -fvisibility=hidden -include include/android_debug.h -LOCAL_CFLAGS += -DNOX11 -LOCAL_CFLAGS += -DNO_GBM -#LOCAL_CFLAGS += -DNO_INIT_CONSTRUCTOR -LOCAL_CFLAGS += -DDEFAULT_ES=2 -LOCAL_CFLAGS += -Dasm=__asm__ -Dvolatile=__volatile__ -LOCAL_LDLIBS := -llog - -include $(BUILD_SHARED_LIBRARY) diff --git a/buildscripts/patches/gl4es/gamma-1.1.2.patch b/buildscripts/patches/gl4es/gamma-1.1.2.patch deleted file mode 100644 index 6f8af1d1a..000000000 --- a/buildscripts/patches/gl4es/gamma-1.1.2.patch +++ /dev/null @@ -1,57 +0,0 @@ -From a66be40520e57f7ef3016ff03a0df4382e9d55b7 Mon Sep 17 00:00:00 2001 -From: Dmitry -Date: Sun, 11 Jul 2021 15:55:39 +0300 -Subject: [PATCH] gamma-patch-1.1.2 - ---- - src/gl/fpe.h | 1 + - src/gl/fpe_shader.c | 5 ++++- - src/gl/light.c | 4 ++++ - 3 files changed, 9 insertions(+), 1 deletion(-) - -diff --git a/src/gl/fpe.h b/src/gl/fpe.h -index 4480bfd..309aa4c 100755 ---- a/src/gl/fpe.h -+++ b/src/gl/fpe.h -@@ -150,6 +150,7 @@ typedef struct fpe_state_s { - unsigned int pointsprite:1; // point sprite rendering - unsigned int pointsprite_coord:1; // point sprite coord replace - unsigned int pointsprite_upper:1; // if coord is upper left and not lower left -+ int16_t gamma; - }__attribute__((packed)) fpe_state_t; - - typedef struct fpe_fpe_s { -diff --git a/src/gl/fpe_shader.c b/src/gl/fpe_shader.c -index d3c983f..506fbcb 100755 ---- a/src/gl/fpe_shader.c -+++ b/src/gl/fpe_shader.c -@@ -1205,7 +1205,10 @@ const char* const* fpe_FragmentShader(fpe_state_t *state) { - } - ShadAppend("fColor.rgb = mix(gl_Fog.color.rgb, fColor.rgb, FogF);\n"); - } -- -+ if (state->gamma) { -+ sprintf(buff, "fColor.rgb = pow(fColor.rgb, vec3(1.0 / %.3f));\n", state->gamma / 100.0); -+ ShadAppend(buff); -+ } - //done - ShadAppend("gl_FragColor = fColor;\n"); - ShadAppend("}"); -diff --git a/src/gl/light.c b/src/gl/light.c -index 54aeb4f..1f114a9 100755 ---- a/src/gl/light.c -+++ b/src/gl/light.c -@@ -77,6 +77,10 @@ void gl4es_glLightModelfv(GLenum pname, const GLfloat* params) { - return; - } else gl4es_flush(); - switch (pname) { -+ case 0x4242: -+ if (glstate->fpe_state) -+ glstate->fpe_state->gamma = params[0] * 100; -+ return; - case GL_LIGHT_MODEL_AMBIENT: - if(memcmp(glstate->light.ambient, params, 4*sizeof(GLfloat))==0) { - noerrorShim(); --- -libgit2 0.28.4 - diff --git a/buildscripts/patches/gl4es/gamma-1.1.6.patch b/buildscripts/patches/gl4es/gamma-1.1.6.patch deleted file mode 100644 index ddceb1831..000000000 --- a/buildscripts/patches/gl4es/gamma-1.1.6.patch +++ /dev/null @@ -1,57 +0,0 @@ -From f303cc6be72fdaef9c17a83826302fa0a014229a Mon Sep 17 00:00:00 2001 -From: Dmitry -Date: Sun, 11 Jul 2021 16:20:15 +0300 -Subject: [PATCH] Gamma Pacth - ---- - src/gl/fpe.h | 1 + - src/gl/fpe_shader.c | 5 ++++- - src/gl/light.c | 4 ++++ - 3 files changed, 9 insertions(+), 1 deletion(-) - -diff --git a/src/gl/fpe.h b/src/gl/fpe.h -index 723f932..268ce28 100644 ---- a/src/gl/fpe.h -+++ b/src/gl/fpe.h -@@ -188,6 +188,7 @@ typedef struct fpe_state_s { - unsigned int fragment_prg_enable:1; // if fragment program is enabled - uint16_t vertex_prg_id; // Id of vertex program currently binded (0 most of the time), 16bits is more than enough... - uint16_t fragment_prg_id; // Id of fragment program currently binded (0 most of the time) -+ int16_t gamma; - } fpe_state_t; - #pragma pack() - -diff --git a/src/gl/fpe_shader.c b/src/gl/fpe_shader.c -index 705d6ee..d96f1cc 100644 ---- a/src/gl/fpe_shader.c -+++ b/src/gl/fpe_shader.c -@@ -1376,7 +1376,10 @@ const char* const* fpe_FragmentShader(shaderconv_need_t* need, fpe_state_t *stat - ShadAppend("fColor.rgb = mix(gl_Fog.color.rgb, fColor.rgb, FogF);\n"); - #endif - } -- -+ if (state->gamma) { -+ sprintf(buff, "fColor.rgb = pow(fColor.rgb, vec3(1.0 / %.3f));\n", state->gamma / 100.0); -+ ShadAppend(buff); -+ } - //done - ShadAppend("gl_FragColor = fColor;\n"); - ShadAppend("}"); -diff --git a/src/gl/light.c b/src/gl/light.c -index 0052764..5f8ac7d 100644 ---- a/src/gl/light.c -+++ b/src/gl/light.c -@@ -77,6 +77,10 @@ void APIENTRY_GL4ES gl4es_glLightModelfv(GLenum pname, const GLfloat* params) { - return; - } else gl4es_flush(); - switch (pname) { -+ case 0x4242: -+ if (glstate->fpe_state) -+ glstate->fpe_state->gamma = params[0] * 100; -+ return; - case GL_LIGHT_MODEL_AMBIENT: - if(memcmp(glstate->light.ambient, params, 4*sizeof(GLfloat))==0) { - noerrorShim(); --- -libgit2 0.28.4 - diff --git a/buildscripts/patches/gl4es/gamma-1.1.4.patch b/buildscripts/patches/gl4es/gamma.patch similarity index 100% rename from buildscripts/patches/gl4es/gamma-1.1.4.patch rename to buildscripts/patches/gl4es/gamma.patch diff --git a/buildscripts/patches/gl4es/psa-1.1.6.patch b/buildscripts/patches/gl4es/psa-1.1.6.patch deleted file mode 100644 index d01572a25..000000000 --- a/buildscripts/patches/gl4es/psa-1.1.6.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 18f1ee1722ab282acfa2f6d913af85ed93a36138 Mon Sep 17 00:00:00 2001 -From: Dmitry -Date: Sat, 31 Jul 2021 09:51:39 +0300 -Subject: [PATCH] PSA - ---- - src/gl/hint.c | 7 ++++++- - src/gl/init.c | 6 ++++-- - src/glx/hardext.c | 2 +- - 3 files changed, 11 insertions(+), 4 deletions(-) - -diff --git a/src/gl/hint.c b/src/gl/hint.c -index feef2e3..be4414d 100644 ---- a/src/gl/hint.c -+++ b/src/gl/hint.c -@@ -11,6 +11,11 @@ void pandora_set_gamma(); - #endif - - void APIENTRY_GL4ES gl4es_glHint(GLenum pname, GLenum mode) { -+ -+if(pname == 41231){ -+ fpe_writePSA(); -+ return; -+} - - FLUSH_BEGINEND; - -@@ -132,4 +137,4 @@ void APIENTRY_GL4ES gl4es_glHint(GLenum pname, GLenum mode) { - gles_glHint(pname, mode); - } - } --AliasExport(void,glHint,,(GLenum pname, GLenum mode)); -\ No newline at end of file -+AliasExport(void,glHint,,(GLenum pname, GLenum mode)); -diff --git a/src/gl/init.c b/src/gl/init.c -index ca5d9c5..38a43cf 100644 ---- a/src/gl/init.c -+++ b/src/gl/init.c -@@ -668,18 +668,20 @@ void initialize_gl4es() { - env(LIBGL_NOPSA, globals4es.nopsa, "Don't use PrecompiledShaderArchive"); - if(globals4es.nopsa==0) { - cwd[0]='\0'; -- // TODO: What to do on ANDROID and EMSCRIPTEN? -+/* // TODO: What to do on ANDROID and EMSCRIPTEN? - #ifdef __linux__ - const char* home = GetEnvVar("HOME"); - if(home) - strcpy(cwd, home); - if(cwd[strlen(cwd)]!='/') - strcat(cwd, "/"); - #elif defined AMIGAOS4 - strcpy(cwd, "PROGDIR:"); --#endif -+#endif*/ -+ strcpy(cwd, "/storage/emulated/0/omw/"); - if(strlen(cwd)) { - strcat(cwd, ".gl4es.psa"); -+ SHUT_LOGD("Shader archive file: %s\n", cwd); - fpe_InitPSA(cwd); - fpe_readPSA(); - } -diff --git a/src/glx/hardext.c b/src/glx/hardext.c -index 65c11f1..1d74748 100644 ---- a/src/glx/hardext.c -+++ b/src/glx/hardext.c -@@ -357,7 +357,7 @@ void GetHardwareExtensions(int notest) - gles_glGetIntegerv(GL_MAX_VERTEX_ATTRIBS, &hardext.maxvattrib); - SHUT_LOGD("Max vertex attrib: %d\n", hardext.maxvattrib); - S("GL_OES_standard_derivatives ", derivatives, 1); -- S("GL_OES_get_program ", prgbinary, 1); -+ S("GL_OES_get_program_binary ", prgbinary, 1); - if(hardext.prgbinary) { - gles_glGetIntegerv(GL_NUM_PROGRAM_BINARY_FORMATS_OES, &hardext.prgbin_n); - SHUT_LOGD("Number of supported Program Binary Format: %d\n", hardext.prgbin_n); --- -libgit2 0.28.4 - diff --git a/buildscripts/patches/gl4es/psa-1.1.4.patch b/buildscripts/patches/gl4es/psa.patch similarity index 100% rename from buildscripts/patches/gl4es/psa-1.1.4.patch rename to buildscripts/patches/gl4es/psa.patch diff --git a/buildscripts/patches/gl4es/shared-library-1.1.2.patch b/buildscripts/patches/gl4es/shared-library-1.1.2.patch deleted file mode 100644 index 40a0fd428..000000000 --- a/buildscripts/patches/gl4es/shared-library-1.1.2.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 270f8aa24b1f13608e412d6ced9b1696759b3d50 Mon Sep 17 00:00:00 2001 -From: Dmitry -Date: Sun, 11 Jul 2021 14:20:09 +0300 -Subject: [PATCH] Shared Libary - ---- - Android.mk | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Android.mk b/Android.mk -index e56ce9a..203b729 100755 ---- a/Android.mk -+++ b/Android.mk -@@ -80,8 +80,8 @@ LOCAL_CFLAGS += -DNOX11 - LOCAL_CFLAGS += -DNO_GBM - #LOCAL_CFLAGS += -DNO_INIT_CONSTRUCTOR - #LOCAL_CFLAGS += -DDEFAULT_ES=2 -- -+LOCAL_CFLAGS += -Dasm=__asm__ -Dvolatile=__volatile__ - LOCAL_LDLIBS := -ldl -llog - --include $(BUILD_STATIC_LIBRARY) -+include $(BUILD_SHARED_LIBRARY) - --- -libgit2 0.28.4 - diff --git a/buildscripts/patches/gl4es/shared-library-1.1.6.patch b/buildscripts/patches/gl4es/shared-library-1.1.6.patch deleted file mode 100644 index 8e2e5723b..000000000 --- a/buildscripts/patches/gl4es/shared-library-1.1.6.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 340b2a071c98deef29a96ec9275bc84092b742d8 Mon Sep 17 00:00:00 2001 -From: Dmitry -Date: Sun, 11 Jul 2021 13:47:46 +0300 -Subject: [PATCH] Shared Libary - ---- - Android.mk | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/Android.mk b/Android.mk -index bb97245..53daf6e 100644 ---- a/Android.mk -+++ b/Android.mk -@@ -95,8 +95,7 @@ LOCAL_CFLAGS += -DNO_GBM - #LOCAL_CFLAGS += -DNO_INIT_CONSTRUCTOR - LOCAL_CFLAGS += -DDEFAULT_ES=2 - -+LOCAL_CFLAGS += -Dasm=__asm__ -Dvolatile=__volatile__ - LOCAL_LDLIBS := -llog --#building as a static lib - --LOCAL_CFLAGS += -DSTATICLIB --include $(BUILD_STATIC_LIBRARY) -+include $(BUILD_SHARED_LIBRARY) --- -libgit2 0.28.4 - diff --git a/buildscripts/patches/gl4es/shared-library-1.1.4.patch b/buildscripts/patches/gl4es/shared-library.patch similarity index 92% rename from buildscripts/patches/gl4es/shared-library-1.1.4.patch rename to buildscripts/patches/gl4es/shared-library.patch index dc4949b1a..cf7546b74 100644 --- a/buildscripts/patches/gl4es/shared-library-1.1.4.patch +++ b/buildscripts/patches/gl4es/shared-library.patch @@ -16,7 +16,7 @@ index 51831b9..140dc9a 100755 #LOCAL_CFLAGS += -DNO_INIT_CONSTRUCTOR #LOCAL_CFLAGS += -DDEFAULT_ES=2 - -++LOCAL_CFLAGS += -Dasm=__asm__ -Dvolatile=__volatile__ ++LOCAL_CFLAGS += -Dasm=__asm__ -Dvolatile=__volatile__ LOCAL_LDLIBS := -ldl -llog #building as a static lib