From fb0d206678a71a51dbf0be47f1f08232e6250b17 Mon Sep 17 00:00:00 2001 From: ZLangJIT Date: Sat, 5 Oct 2024 08:51:29 +0000 Subject: [PATCH] update to riscv-kernel-6.11.0 v8 --- gen_patch__libmedia.sh | 51 +++++++++---- libmedia.patch | 165 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 202 insertions(+), 14 deletions(-) diff --git a/gen_patch__libmedia.sh b/gen_patch__libmedia.sh index 3e2679a..7b7bf0e 100755 --- a/gen_patch__libmedia.sh +++ b/gen_patch__libmedia.sh @@ -1,7 +1,43 @@ +set -v + +function save() { + mv app/src/main/java/libengine/$1/.git app/src/main/java/libengine/$1/.git0 + mv app/src/main/java/libengine/$1.reset/.git app/src/main/java/libengine/$1.reset/.git0 + mv app/src/main/java/libengine/$1 ../$1.current + mv app/src/main/java/libengine/$1.reset app/src/main/java/libengine/$1 +} + +function load() { + mv app/src/main/java/libengine/$1 app/src/main/java/libengine/$1.reset + mv ../$1.current app/src/main/java/libengine/$1 + mv app/src/main/java/libengine/$1.reset/.git0 app/src/main/java/libengine/$1.reset/.git + mv app/src/main/java/libengine/$1/.git0 app/src/main/java/libengine/$1/.git +} + +set -x + +if [[ -d epoxy.current ]] + then + cd libmedia + load epoxy + cd .. +fi +if [[ -d virglrenderer.current ]] + then + cd libmedia + load virglrenderer + cd .. +fi +if [[ -d RVVM.current ]] + then + cd libmedia + load RVVM + cd .. +fi + ./i_gen_patch__epoxy.sh ./i_gen_patch__virglrenderer.sh ./i_gen_patch__rvvm.sh -set -x if [[ -f libmedia.patch ]] then rm -v libmedia.patch @@ -11,19 +47,6 @@ echo "patch file" > libmedia.patch cd libmedia git reset $R -function save() { -mv app/src/main/java/libengine/$1/.git app/src/main/java/libengine/$1/.git0 -mv app/src/main/java/libengine/$1.reset/.git app/src/main/java/libengine/$1.reset/.git0 -mv app/src/main/java/libengine/$1 ../$1.current -mv app/src/main/java/libengine/$1.reset app/src/main/java/libengine/$1 -} - -function load() { -mv app/src/main/java/libengine/$1 app/src/main/java/libengine/$1.reset -mv ../$1.current app/src/main/java/libengine/$1 -mv app/src/main/java/libengine/$1.reset/.git0 app/src/main/java/libengine/$1.reset/.git -mv app/src/main/java/libengine/$1/.git0 app/src/main/java/libengine/$1/.git -} save epoxy save virglrenderer diff --git a/libmedia.patch b/libmedia.patch index 88ba705..b67e39e 100644 --- a/libmedia.patch +++ b/libmedia.patch @@ -126426,6 +126426,171 @@ index 00000000..a8b71c85 + #build_root_exec_working_directory("${BUILD_ROOT_BUILD_DIRECTORY}" sh -c "/usr/bin/find ROOTFS") + build_root_message("-------- BUILT MESON PROJECT: '${build_dir}'") +endmacro() +diff --git a/app/src/main/java/libengine/cmake/packages/FindEPOXY.cmake b/app/src/main/java/libengine/cmake/packages/FindEPOXY.cmake +new file mode 100644 +index 00000000..b8bc1516 +--- /dev/null ++++ b/app/src/main/java/libengine/cmake/packages/FindEPOXY.cmake +@@ -0,0 +1,73 @@ ++# Try to find the EPOXY library ++# ++# If successful, the following variables will be defined: ++# EPOXY_INCLUDE_DIR ++# EPOXY_LIBRARIES ++# EPOXY_FOUND ++# ++# additionally exposes the following target: ++# epoxy ++ ++find_package(PkgConfig QUIET) ++pkg_check_modules(PC_GLOB QUIET epoxy) ++ ++set(CMAKE_FIND_DEBUG_MODE TRUE) ++ ++find_path(EPOXY_INCLUDE_DIRS NAMES epoxy/gl.h epoxy/egl.h ++ PATHS ${RVVM__ROOTFS}include ${RVVM__ROOTFS}usr/include ++ NO_DEFAULT_PATH ++ NO_PACKAGE_ROOT_PATH ++ NO_CMAKE_PATH ++ NO_CMAKE_ENVIRONMENT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ NO_CMAKE_SYSTEM_PATH ++ NO_CMAKE_FIND_ROOT_PATH ++) ++find_library(EPOXY_LIBRARIES NAMES libepoxy.so ++ PATHS ${RVVM__ROOTFS}lib ${RVVM__ROOTFS}usr/lib ++ NO_DEFAULT_PATH ++ NO_PACKAGE_ROOT_PATH ++ NO_CMAKE_PATH ++ NO_CMAKE_ENVIRONMENT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ NO_CMAKE_SYSTEM_PATH ++ NO_CMAKE_FIND_ROOT_PATH ++) ++ ++set(CMAKE_FIND_DEBUG_MODE FALSE) ++ ++if(EPOXY_INCLUDE_DIRS AND (EXISTS "${EPOXY_INCLUDE_DIRS}/epoxy/gl.h" OR EXISTS "${EPOXY_INCLUDE_DIRS}/epoxy/egl.h")) ++ set(EPOXY_VERSION_STRING "1.0") ++else() ++ set(EPOXY_INCLUDE_DIRS "") ++ set(EPOXY_LIBRARIES "") ++endif() ++ ++include(FindPackageHandleStandardArgs) ++find_package_handle_standard_args(EPOXY ++ FOUND_VAR ++ EPOXY_FOUND ++ REQUIRED_VARS ++ EPOXY_INCLUDE_DIRS ++ EPOXY_LIBRARIES ++ VERSION_VAR ++ EPOXY_VERSION_STRING) ++mark_as_advanced(EPOXY_INCLUDE_DIRS EPOXY_LIBRARIES) ++ ++message(STATUS "EPOXY: found : ${EPOXY_FOUND}") ++message(STATUS "EPOXY: include_dirs : ${EPOXY_INCLUDE_DIRS}") ++message(STATUS "EPOXY: lib : ${EPOXY_LIBRARIES}") ++message(STATUS "EPOXY: version : ${EPOXY_VERSION_STRING}") ++ ++if (EPOXY_FOUND AND NOT TARGET epoxy) ++ add_library(epoxy UNKNOWN IMPORTED) ++ set_target_properties(epoxy PROPERTIES IMPORTED_LOCATION ${EPOXY_LIBRARIES}) ++ target_include_directories(epoxy INTERFACE ${EPOXY_INCLUDE_DIRS}) ++ if (EXISTS "${EPOXY_INCLUDE_DIRS}/epoxy/gl.h") ++ target_compile_definitions(epoxy INTERFACE HAVE_EPOXY_GL_H) ++ endif() ++ if (EXISTS "${EPOXY_INCLUDE_DIRS}/epoxy/egl.h") ++ target_compile_definitions(epoxy INTERFACE HAVE_EPOXY_EGL_H) ++ endif() ++ set(EPOXY_TARGET epoxy) ++endif() +diff --git a/app/src/main/java/libengine/cmake/packages/FindVIRGLRENDERER.cmake b/app/src/main/java/libengine/cmake/packages/FindVIRGLRENDERER.cmake +new file mode 100644 +index 00000000..0aa07c70 +--- /dev/null ++++ b/app/src/main/java/libengine/cmake/packages/FindVIRGLRENDERER.cmake +@@ -0,0 +1,80 @@ ++# Try to find the VIRGLRENDERER library ++# ++# If successful, the following variables will be defined: ++# VIRGLRENDERER_INCLUDE_DIR ++# VIRGLRENDERER_LIBRARIES ++# VIRGLRENDERER_FOUND ++# ++# additionally exposes the following target: ++# virglrenderer ++ ++find_package(EPOXY REQUIRED) ++ ++find_package(PkgConfig QUIET) ++pkg_check_modules(PC_GLOB QUIET VIRGLRENDERER) ++ ++set(CMAKE_FIND_DEBUG_MODE TRUE) ++ ++find_path(VIRGLRENDERER_INCLUDE_DIRS NAMES virgl/virgl-version.h ++ PATHS ${RVVM__ROOTFS}include ${RVVM__ROOTFS}usr/include ++ NO_DEFAULT_PATH ++ NO_PACKAGE_ROOT_PATH ++ NO_CMAKE_PATH ++ NO_CMAKE_ENVIRONMENT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ NO_CMAKE_SYSTEM_PATH ++ NO_CMAKE_FIND_ROOT_PATH ++) ++find_library(VIRGLRENDERER_LIBRARIES NAMES libvirglrenderer.so ++ PATHS ${RVVM__ROOTFS}lib ${RVVM__ROOTFS}usr/lib ++ NO_DEFAULT_PATH ++ NO_PACKAGE_ROOT_PATH ++ NO_CMAKE_PATH ++ NO_CMAKE_ENVIRONMENT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ NO_CMAKE_SYSTEM_PATH ++ NO_CMAKE_FIND_ROOT_PATH ++) ++ ++set(CMAKE_FIND_DEBUG_MODE FALSE) ++ ++if(VIRGLRENDERER_INCLUDE_DIRS AND EXISTS "${VIRGLRENDERER_INCLUDE_DIRS}/virgl/virgl-version.h" AND EXISTS "${VIRGLRENDERER_INCLUDE_DIRS}/virgl/virglrenderer.h") ++ FILE(STRINGS "${VIRGLRENDERER_INCLUDE_DIRS}/virgl/virgl-version.h" VIRGLRENDERER_version_major_str REGEX "^#define[ \t]+VIRGL_MAJOR_VERSION[ \t]+\(.+\)") ++ FILE(STRINGS "${VIRGLRENDERER_INCLUDE_DIRS}/virgl/virgl-version.h" VIRGLRENDERER_version_minor_str REGEX "^#define[ \t]+VIRGL_MINOR_VERSION[ \t]+\(.+\)") ++ FILE(STRINGS "${VIRGLRENDERER_INCLUDE_DIRS}/virgl/virgl-version.h" VIRGLRENDERER_version_micro_str REGEX "^#define[ \t]+VIRGL_MICRO_VERSION[ \t]+\(.+\)") ++ ++ STRING(REGEX REPLACE "^#define[ \t]+VIRGL_MAJOR_VERSION[ \t]+\\\(([^\)]+)\\\).*" "\\1" VIRGL_MAJOR_VERSION "${VIRGLRENDERER_version_major_str}") ++ STRING(REGEX REPLACE "^#define[ \t]+VIRGL_MINOR_VERSION[ \t]+\\\(([^\)]+)\\\).*" "\\1" VIRGL_MINOR_VERSION "${VIRGLRENDERER_version_minor_str}") ++ STRING(REGEX REPLACE "^#define[ \t]+VIRGL_MICRO_VERSION[ \t]+\\\(([^\)]+)\\\).*" "\\1" VIRGL_MICRO_VERSION "${VIRGLRENDERER_version_micro_str}") ++ ++ STRING(CONCAT VIRGLRENDERER_VERSION_STRING ${VIRGL_MAJOR_VERSION} "." ${VIRGL_MINOR_VERSION} "." ${VIRGL_MICRO_VERSION}) ++else() ++ set(VIRGLRENDERER_INCLUDE_DIRS "") ++ set(VIRGLRENDERER_LIBRARIES "") ++endif() ++ ++include(FindPackageHandleStandardArgs) ++find_package_handle_standard_args(VIRGLRENDERER ++ FOUND_VAR ++ VIRGLRENDERER_FOUND ++ REQUIRED_VARS ++ VIRGLRENDERER_INCLUDE_DIRS ++ VIRGLRENDERER_LIBRARIES ++ VERSION_VAR ++ VIRGLRENDERER_VERSION_STRING) ++mark_as_advanced(VIRGLRENDERER_INCLUDE_DIRS VIRGLRENDERER_LIBRARIES) ++ ++message(STATUS "VIRGLRENDERER: found : ${VIRGLRENDERER_FOUND}") ++message(STATUS "VIRGLRENDERER: include_dirs : ${VIRGLRENDERER_INCLUDE_DIRS}") ++message(STATUS "VIRGLRENDERER: lib : ${VIRGLRENDERER_LIBRARIES}") ++message(STATUS "VIRGLRENDERER: version : ${VIRGLRENDERER_VERSION_STRING}") ++ ++if (VIRGLRENDERER_FOUND AND NOT TARGET virglrenderer) ++ add_library(virglrenderer UNKNOWN IMPORTED) ++ set_target_properties(virglrenderer PROPERTIES IMPORTED_LOCATION ${VIRGLRENDERER_LIBRARIES}) ++ target_include_directories(virglrenderer INTERFACE ${VIRGLRENDERER_INCLUDE_DIRS}) ++ target_compile_definitions(virglrenderer INTERFACE HAVE_VIRGL_VERSION_H) ++ target_compile_definitions(virglrenderer INTERFACE HAVE_VIRGLRENDERER_H) ++ target_link_libraries(virglrenderer INTERFACE epoxy) ++ set(VIRGLRENDERER_TARGET virglrenderer) ++endif() diff --git a/app/src/main/java/libengine/epoxy/.dir-locals.el b/app/src/main/java/libengine/epoxy/.dir-locals.el new file mode 100644 index 00000000..7f3eee2d