Add experimental WebGL support to Emscripten (#440)

Co-authored-by: Anders Jenbo <anders@jenbo.dk>
This commit is contained in:
Christian Semmler 2025-07-01 23:15:15 -07:00 committed by GitHub
parent ba14b48284
commit e7c7ecf510
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 5 additions and 3 deletions

View File

@ -4,7 +4,7 @@ project(isle LANGUAGES CXX C VERSION 0.1)
if (EMSCRIPTEN)
add_compile_options(-pthread)
add_link_options(-sALLOW_MEMORY_GROWTH=1 -sMAXIMUM_MEMORY=2gb -sUSE_PTHREADS=1 -sPROXY_TO_PTHREAD=1 -sPTHREAD_POOL_SIZE_STRICT=0 -sFORCE_FILESYSTEM=1 -sWASMFS=1 -sEXIT_RUNTIME=1)
add_link_options(-sALLOW_MEMORY_GROWTH=1 -sMAXIMUM_MEMORY=2gb -sUSE_PTHREADS=1 -sPROXY_TO_PTHREAD=1 -sOFFSCREENCANVAS_SUPPORT=1 -sPTHREAD_POOL_SIZE_STRICT=0 -sFORCE_FILESYSTEM=1 -sWASMFS=1 -sEXIT_RUNTIME=1)
set(SDL_PTHREADS ON CACHE BOOL "Enable SDL pthreads" FORCE)
endif()

View File

@ -45,11 +45,13 @@ else()
endif()
find_library(OPENGL_ES2_LIBRARY NAMES GLESv2)
if(OPENGL_ES2_LIBRARY)
if(EMSCRIPTEN OR OPENGL_ES2_LIBRARY)
message(STATUS "Found OpenGL: enabling OpenGL ES 2.x renderer")
target_sources(miniwin PRIVATE src/d3drm/backends/opengles2/renderer.cpp)
target_compile_definitions(miniwin PRIVATE USE_OPENGLES2)
target_link_libraries(miniwin PRIVATE OpenGL::GL)
if(OPENGL_ES2_LIBRARY)
target_link_libraries(miniwin PRIVATE OpenGL::GL)
endif()
else()
message(STATUS "🧩 OpenGL ES 2.x support not enabled")
endif()