mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-10 21:28:32 +09:00
Merge branch 'dev' of github.com:MobileGL-Dev/MobileGL into dev
This commit is contained in:
+18
-71
@@ -8,8 +8,6 @@ set(CMAKE_CXX_STANDARD 23)
|
|||||||
|
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
|
|
||||||
|
|
||||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||||
|
|
||||||
set(SOURCE_FILES
|
set(SOURCE_FILES
|
||||||
@@ -18,6 +16,7 @@ set(SOURCE_FILES
|
|||||||
MobileGL/MG_Util/Debug/Log.cpp
|
MobileGL/MG_Util/Debug/Log.cpp
|
||||||
|
|
||||||
MobileGL/MG_Util/Metrics/TextureMetrics.cpp
|
MobileGL/MG_Util/Metrics/TextureMetrics.cpp
|
||||||
|
MobileGL/MG_Util/Metrics/BufferMetrics.cpp
|
||||||
|
|
||||||
MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.cpp
|
MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.cpp
|
||||||
MobileGL/MG_Util/Converters/MGToStr/DataTypeConverter.cpp
|
MobileGL/MG_Util/Converters/MGToStr/DataTypeConverter.cpp
|
||||||
@@ -74,75 +73,11 @@ add_library(${CMAKE_PROJECT_NAME} SHARED
|
|||||||
${SOURCE_FILES}
|
${SOURCE_FILES}
|
||||||
)
|
)
|
||||||
|
|
||||||
if(MACOS)
|
set_target_properties(${CMAKE_PROJECT_NAME} PROPERTIES
|
||||||
# iOS
|
C_VISIBILITY_PRESET hidden
|
||||||
set(iOS_LIB_DIR ${CMAKE_SOURCE_DIR}/library/ios)
|
CXX_VISIBILITY_PRESET hidden
|
||||||
target_link_libraries(${CMAKE_PROJECT_NAME}
|
VISIBILITY_INLINES_HIDDEN ON
|
||||||
${iOS_LIB_DIR}/libglslang.a
|
)
|
||||||
${iOS_LIB_DIR}/libspirv-cross-c-shared.dylib
|
|
||||||
${iOS_LIB_DIR}/libGenericCodeGen.a
|
|
||||||
${iOS_LIB_DIR}/libglslang-default-resource-limits.a
|
|
||||||
${iOS_LIB_DIR}/libMachineIndependent.a
|
|
||||||
${iOS_LIB_DIR}/libOSDependent.a
|
|
||||||
${iOS_LIB_DIR}/libSPIRV-Tools-diff.a
|
|
||||||
${iOS_LIB_DIR}/libSPIRV-Tools-link.aBuffer
|
|
||||||
${iOS_LIB_DIR}/libSPIRV-Tools-lint.a
|
|
||||||
${iOS_LIB_DIR}/libSPIRV-Tools-opt.a
|
|
||||||
${iOS_LIB_DIR}/libSPIRV-Tools-reduce.a
|
|
||||||
${iOS_LIB_DIR}/libSPIRV-Tools.a
|
|
||||||
${iOS_LIB_DIR}/libSPIRV.a
|
|
||||||
${iOS_LIB_DIR}/libSPVRemapper.a
|
|
||||||
"-F${CMAKE_SOURCE_DIR}/external"
|
|
||||||
"-framework libEGL"
|
|
||||||
"-framework libGLESv2"
|
|
||||||
"-framework Metal"
|
|
||||||
"-framework Foundation"
|
|
||||||
"-framework QuartzCore"
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
if(LINUX)
|
|
||||||
# Linux
|
|
||||||
# TODO: support more architectures.
|
|
||||||
find_library(GLSLANG_LIB glslang PATHS ${CMAKE_SOURCE_DIR}/library/linux/x86_64)
|
|
||||||
target_link_libraries(${CMAKE_PROJECT_NAME}
|
|
||||||
${CMAKE_SOURCE_DIR}/library/linux/x86_64/libglslang.a
|
|
||||||
${CMAKE_SOURCE_DIR}/library/linux/x86_64/libspirv-cross-c-shared.so
|
|
||||||
${CMAKE_SOURCE_DIR}/library/linux/x86_64/libGenericCodeGen.a
|
|
||||||
${CMAKE_SOURCE_DIR}/library/linux/x86_64/libglslang-default-resource-limits.a
|
|
||||||
${CMAKE_SOURCE_DIR}/library/linux/x86_64/libMachineIndependent.a
|
|
||||||
${CMAKE_SOURCE_DIR}/library/linux/x86_64/libOSDependent.a
|
|
||||||
${CMAKE_SOURCE_DIR}/library/linux/x86_64/libSPIRV-Tools-diff.a
|
|
||||||
${CMAKE_SOURCE_DIR}/library/linux/x86_64/libSPIRV-Tools-link.a
|
|
||||||
${CMAKE_SOURCE_DIR}/library/linux/x86_64/libSPIRV-Tools-lint.a
|
|
||||||
${CMAKE_SOURCE_DIR}/library/linux/x86_64/libSPIRV-Tools-opt.a
|
|
||||||
${CMAKE_SOURCE_DIR}/library/linux/x86_64/libSPIRV-Tools-reduce.a
|
|
||||||
${CMAKE_SOURCE_DIR}/library/linux/x86_64/libSPIRV-Tools.a
|
|
||||||
${CMAKE_SOURCE_DIR}/library/linux/x86_64/libSPIRV.a
|
|
||||||
${CMAKE_SOURCE_DIR}/library/linux/x86_64/libSPVRemapper.a
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
# Android
|
|
||||||
find_library(GLSLANG_LIB glslang PATHS ${CMAKE_SOURCE_DIR}/library/android/${ANDROID_ABI}/)
|
|
||||||
target_link_libraries(${CMAKE_PROJECT_NAME}
|
|
||||||
${CMAKE_SOURCE_DIR}/library/android/${ANDROID_ABI}/libglslang.a
|
|
||||||
${CMAKE_SOURCE_DIR}/library/android/${ANDROID_ABI}/libspirv-cross-c-shared.so
|
|
||||||
${CMAKE_SOURCE_DIR}/library/android/${ANDROID_ABI}/libGenericCodeGen.a
|
|
||||||
${CMAKE_SOURCE_DIR}/library/android/${ANDROID_ABI}/libglslang-default-resource-limits.a
|
|
||||||
${CMAKE_SOURCE_DIR}/library/android/${ANDROID_ABI}/libMachineIndependent.a
|
|
||||||
${CMAKE_SOURCE_DIR}/library/android/${ANDROID_ABI}/libOSDependent.a
|
|
||||||
${CMAKE_SOURCE_DIR}/library/android/${ANDROID_ABI}/libSPIRV-Tools-diff.a
|
|
||||||
${CMAKE_SOURCE_DIR}/library/android/${ANDROID_ABI}/libSPIRV-Tools-link.a
|
|
||||||
${CMAKE_SOURCE_DIR}/library/android/${ANDROID_ABI}/libSPIRV-Tools-lint.a
|
|
||||||
${CMAKE_SOURCE_DIR}/library/android/${ANDROID_ABI}/libSPIRV-Tools-opt.a
|
|
||||||
${CMAKE_SOURCE_DIR}/library/android/${ANDROID_ABI}/libSPIRV-Tools-reduce.a
|
|
||||||
${CMAKE_SOURCE_DIR}/library/android/${ANDROID_ABI}/libSPIRV-Tools.a
|
|
||||||
${CMAKE_SOURCE_DIR}/library/android/${ANDROID_ABI}/libSPIRV.a
|
|
||||||
${CMAKE_SOURCE_DIR}/library/android/${ANDROID_ABI}/libSPVRemapper.a
|
|
||||||
android
|
|
||||||
log
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# add_subdirectory(3rdparty/DiligentCore)
|
# add_subdirectory(3rdparty/DiligentCore)
|
||||||
|
|
||||||
@@ -157,3 +92,15 @@ target_link_libraries(MobileGL
|
|||||||
# Diligent-GraphicsEngineOpenGL-shared
|
# Diligent-GraphicsEngineOpenGL-shared
|
||||||
# Diligent-GraphicsEngineVk-shared
|
# Diligent-GraphicsEngineVk-shared
|
||||||
)
|
)
|
||||||
|
|
||||||
|
set(SPIRV_CROSS_STATIC ON CACHE BOOL "Build SPIRV-Cross as static library")
|
||||||
|
set(SPIRV_CROSS_CLI OFF CACHE BOOL "Build SPIRV-Cross command line tool")
|
||||||
|
|
||||||
|
add_subdirectory(3rdparty/glslang)
|
||||||
|
add_subdirectory(3rdparty/SPIRV-Cross)
|
||||||
|
|
||||||
|
target_link_libraries(MobileGL
|
||||||
|
PRIVATE
|
||||||
|
glslang::glslang
|
||||||
|
spirv-cross-c
|
||||||
|
)
|
||||||
|
|||||||
@@ -102,7 +102,11 @@ namespace MobileGL {
|
|||||||
|
|
||||||
__eglMustCastToProperFunctionPointerType GetProcAddress(const char* name) {
|
__eglMustCastToProperFunctionPointerType GetProcAddress(const char* name) {
|
||||||
MGLOG_D("eglGetProcAddress(%s)", name);
|
MGLOG_D("eglGetProcAddress(%s)", name);
|
||||||
|
#ifndef WIN32
|
||||||
void* proc = dlsym(RTLD_DEFAULT, (const char*)name);
|
void* proc = dlsym(RTLD_DEFAULT, (const char*)name);
|
||||||
|
#else
|
||||||
|
void* proc = NULL;
|
||||||
|
#endif
|
||||||
if (!proc) {
|
if (!proc) {
|
||||||
MGLOG_W("Failed to get function: %s", (const char*)name);
|
MGLOG_W("Failed to get function: %s", (const char*)name);
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|||||||
@@ -5,8 +5,11 @@ namespace MG_Impl::GLXImpl {
|
|||||||
|
|
||||||
void* GetProcAddress(const char* name) {
|
void* GetProcAddress(const char* name) {
|
||||||
MGLOG_D("glXGetProcAddress(\"%s\")", name);
|
MGLOG_D("glXGetProcAddress(\"%s\")", name);
|
||||||
|
#ifndef WIN32
|
||||||
void* proc = dlsym(RTLD_DEFAULT, (const char*)name);
|
void* proc = dlsym(RTLD_DEFAULT, (const char*)name);
|
||||||
|
#else
|
||||||
|
void* proc = NULL;
|
||||||
|
#endif
|
||||||
if (!proc) {
|
if (!proc) {
|
||||||
MGLOG_W("Failed to get function: %s", (const char*)name);
|
MGLOG_W("Failed to get function: %s", (const char*)name);
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|||||||
Reference in New Issue
Block a user