Commit Graph

23 Commits

Author SHA1 Message Date
Brenden Davidson
b87d519bad
Remove 'flatpak' pipeline trigger 2025-06-29 13:31:52 -05:00
Brenden Davidson
163468d211
Implement current suggestions 2025-06-29 13:22:37 -05:00
Brenden Davidson
2d5bf86ca4
Merge branch 'flatpak' of github.com:iAmSomeone2/isle-portable into flatpak 2025-06-29 13:07:39 -05:00
Brenden Davidson
84352526fd
Merge branch 'isledecomp:master' into flatpak 2025-06-29 13:07:27 -05:00
Brenden Davidson
55f98b9e8d
Further build cleanup 2025-06-29 12:54:26 -05:00
David Gow
e87184b502
Fix the OpenGL backends on non-glx Linux platforms (and remove GLEW dependency) (#446)
* Work around issues with depth-buffer size on EGL-based platforms

The OpenGL 1.1 and OpenGL ES 2.0 backends can break on EGL-based platforms,
such as Wayland, or X11 with SDL_VIDEO_FORCE_EGL=1. One of the reasons for
this (the other being glew on the GL1.1 backend) is that SDL/egl get very
confused by the way we set OpenGL attributes, particularly SDL_GL_DEPTH_SIZE,
resulting in SDL_GL_CreateContext() failing with EGL_BAD_MATCH.

The exact cause of this is unknown, but it seems to be a combination of:
- SDL_GL_SetAttribute() is supposed to be called _before_ the window is
  created, and we're calling it afterward.
- Creating several test windows during the enumeration process, mixing
  and matching between OpenGL and OpenGL ES profiles.

The "most correct" solution is probably to delay creating the game window
until the backend creation process, rather than before the enumeration
occurs. But that's a real refactor, which could cause other issues.

Instead, set the 24-bit bit depth (which we've hardcoded anyway) before
creating the window, and use SDL_GL_ResetAttributes() when creating backends.

This seems to work here in all of the cases I was able to try (modulo the GLEW
dependency, which is removed in the next patch).

* miniwin: Remove GLEW dependency for OpenGL 1.1

GLEW normally backs directly onto glXGetProcAddress on Linux, which is broken
on non-GLX setups, such as Wayland (but also X11 with EGL, and presumably KMSDRM).

Replace it with manual calls to SDL_GL_GetProcAddress() for the VBO path.

Note, however, that SDL_opengl.h includes "windows.h", so conflicts with the
miniwin implementation, which breaks builds on windows.

In order to work around this, we do what the Direct3D9 implementation does and
push all of the OpenGL calls to a separate file, actual.cpp.

Going forward, it may make sense to load _all_ OpenGL entry points via SDL,
which would allow us to avoid linking directly with libGL/libOpenGL, and
therefore eliminate the separate build dependency altogether, as well as
allowing more runtime configurability as to the OpenGL library to load.

(But that's definitely a bit uglier, and also useful very rarely.)
2025-06-29 17:47:09 +02:00
Brenden Davidson
40b99bb08e
Additional build fixes 2025-06-28 16:47:13 -05:00
Brenden Davidson
57812cfad7
Fix CMake install directives for metadata files 2025-06-28 16:23:44 -05:00
Brenden Davidson
164bb03d32
Fix typo in pipeline 2025-06-28 16:03:39 -05:00
Brenden Davidson
8c65477bb3
Moved all packaging logic into CMake, fixed SemVer, and implemented pipeline caching 2025-06-28 16:00:46 -05:00
Brenden Davidson
6be0ea36a1
Restore checkout step in flatpak release job 2025-06-26 16:39:25 -05:00
Brenden Davidson
3fb279d2b8
Applied suggested changes and added asset install script 2025-06-26 16:35:15 -05:00
Brenden Davidson
16b743462a
[flatpak] Remove checkout step from Flatpak build pipeline 2025-06-24 16:10:02 -05:00
Brenden Davidson
b761371c17
[flatpak] Checkout submodules when building 2025-06-24 16:05:53 -05:00
Brenden Davidson
d45efa9e18
[flatpak] Fix release pipeline 2025-06-24 15:58:44 -05:00
Brenden Davidson
4e80a96dda
[flatpak] Created \'packaging\' directory and added integration with CMake 2025-06-24 15:47:44 -05:00
Brenden Davidson
1d5b6f84ae [flatpak] Cleanup release.yml 2025-06-23 19:07:45 -05:00
Brenden Davidson
d8baabbd35 [flatpak] Added arch tag to Flatpak bundles 2025-06-23 19:03:24 -05:00
Brenden Davidson
17c4e43ad3
[flatpak] Put Flatpak artifacts in the "Release" folder 2025-06-23 18:38:51 -05:00
Brenden Davidson
ccb7b0aa64 [flatpak] Update 'release' job to use Flatpak artifacts 2025-06-23 18:33:34 -05:00
Brenden Davidson
7b9addea26 [flatpak] Added official Flatpak GH Action to release.yml 2025-06-23 18:21:07 -05:00
Christian Semmler
c5534ee5a7
Add ALSA dev lib (#371) 2025-06-21 16:19:40 +00:00
Christian Semmler
da1d6bced5
Add release CI workflow (#314)
* Add release CI workflow

* Rename to Windows

* Remove obsolete checks

* Remove UPLOAD_KEY

* `README.md` updates

* Remove Emscripten

* Disable clang-tidy

* Add -DISLE_DEBUG=OFF

* Only create single release

* Fix `README.md`

* Immutable artifacts
2025-06-15 08:19:05 -07:00