Commit Graph

73 Commits

Author SHA1 Message Date
SupSuper
04110fd100 CI: Bump action versions 2024-05-20 10:16:05 +01:00
sluicebox
86891601d1 CI: Use macos-13, set macosx destination 2024-05-01 11:42:35 +02:00
Lothar Serra Mari
da9a74fe96
GITHUB: Create FUNDING.yml 2024-01-03 19:54:02 +01:00
SupSuper
ba2f918674 CI: Disable artifacts behind a flag
ScummVM is too big to upload to the main repository, but forks might find it useful
2023-07-27 00:13:08 +01:00
SupSuper
bf38556143 CI: Bump vcpkg 2023-07-27 00:13:08 +01:00
Lars Sundström
6a74f7b32b IOS7: Implement iOSGraphics3dManager
Add a graphic manager rendering 3D graphics for engines supporting
3D games. The manager is implemented using the 3D graphic managers
for Android and SDL as models.

Most probably Android and iOS can share much more of the code, but
that will be a separate work to refactor.
The iOSGraphics3dManager handles resize since the screen dimension
changes on rotation.

Games not supporting arbitary resolutions, e.g. Grim, are rendered
on an intermediate framebuffer with the size requested by the
engine and then rendered to the backbuffer (a framebuffer bound to
the renderbuffer) and stretched to the screen resolution off the
device.

This commit just adds the manager. It will be utilised in next
commit.

Update gitlab ci worker and update documentation.
2023-07-03 21:50:32 +02:00
Lars Sundström
e6232547d5 IOS7: Add iOSGraphicsManager class
The ios7 backend implements the graphic handling in the backend code.
iOS supports OpenGL through the OpenGL Framework since iOS 2.0. It's
marked as deprecated but is still shipped with the SDKs for iPhoneOS
and tvOS and will hopefully be so for some time.
The ios7 backend can therefore utilize the OpenGLGraphicsManager to
handle all graphics.

Implement an iOSGraphicsManager class that can be used in the ios7
backend. The iOSGraphicsManager will require some callback functions
in the ios7 backend. createOpenGLContext() will be called to ask the
backend to create an OpenGL context in which the graphic manager can
draw. The function returns the ID of the renderbuffer which shall be
used when creating the framebuffer object this differ iOS from other
platforms). A custom RenderBufferTarget class is added to address
this.

destroyOpenGLContext() will be called to make sure that the old GLES
context is not reused. notifyContextDestroy() does call the function
OpenGLContext.reset() but that will not destroy the context.

refreshScreen() will be called to ask the backend to present the
drawn graphics on the screen. getSystemHiDPIScreenFactor() is called
to get the screen scaling factor. getScreenWidth() and
getScreenHeight() are called to get the width and height of the
surface to draw on.

This commit adds the class but the ios7 backend doesn't make use of
it quite yet. To use it require the ios7 to be a child class of the
ModularGraphicsBackend. That change requires a lot of changes which
will be targeted in separate commits.

Update docportal and github ci worker to only disable the feature
opengl_classic_game since opengl and opengl_shaders are required to
compile the OpenGLGraphicsManager.
2023-07-03 21:50:32 +02:00
SupSuper
8f15a61b9b CI: Enable vcpkg dependencygraph 2023-06-27 21:38:44 +01:00
SupSuper
24909636de CI: Bump vcpkg 2023-06-05 05:12:25 +01:00
SupSuper
3e178ae7fe CI: Update to use latest vcpkg version and integration 2023-04-29 13:16:08 +02:00
Lars Sundström
e56960fe5d CI: Update Xcode ios7 runners to use scummvm-ios7-libs-v3
Update ios7 runner to fetch the scummvm-ios-libs-v3 package which
includes precompiled libraries for iOS and tvOS as XCFrameworks.
2023-04-24 22:34:55 +02:00
Donovan Watteau
7505e2cce6 CI: Add libmikmod support to Windows runners 2023-04-10 20:14:22 +02:00
Donovan Watteau
440b05bd88 CI: Add libmikmod support to Xcode macOS runners 2023-04-10 20:14:22 +02:00
Donovan Watteau
08162b019a CI: Add libmikmod to Ubuntu runners 2023-04-10 20:14:22 +02:00
sluicebox
64451af171 CI: Update vcpkg msys runtime version 2023-04-05 12:11:52 -07:00
Donovan Watteau
cd3a6fd6ff CI: Add libvpx to Windows runners 2023-03-09 01:29:55 +01:00
Donovan Watteau
2cfb18a815 CI: Enable giflib for real in Windows runners
Also sort the vcpkg list.
2023-03-09 01:29:55 +01:00
Donovan Watteau
75de284a17 CI: Add libvpx to macOS runner, and enable giflib for real 2023-03-09 01:29:55 +01:00
Donovan Watteau
4f146fb339 CI: Sort Ubuntu package lists 2023-03-09 01:29:55 +01:00
Donovan Watteau
f9879bd36c CI: Add libvpx-dev to Ubuntu runners 2023-03-09 01:29:55 +01:00
Donovan Watteau
eae9cddb25 CI: Add libgif-dev to Ubuntu runners 2023-03-09 01:29:55 +01:00
sluicebox
060f417d9c CI: Use a fork of vcpkg 2023-01-19 12:14:45 +01:00
sluicebox
47be539620 CI: Update vcpkg
This should fix Windows CI builds on github.

libtool-2.4.6-9 was removed from msys2 sites, breaking  downloads.
vcpkg now uses libtool-2.4.7-3.
2023-01-16 17:40:33 -08:00
Donovan Watteau
f7b2bb0e66 CI: Update various GitHub actions
Most of them deal with the current Node.js 12 and set-output deprecation
warnings.
2022-11-26 23:11:32 +02:00
Donovan Watteau
60676c825a CI: Make msbuild less verbose
As already done for Linux GCC builds and Xcode Clang builds.
2022-11-26 17:51:16 +02:00
Donovan Watteau
3c4d3a0d62 CI: Explicitly use the Bash shell on macOS and Linux
If it's just set implicitly, pipefail isn't enabled, but that's a
setting one almost always wants in a CI setup.

https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell
2022-10-23 20:14:27 +02:00
Die4Ever
5fe99667ce
CI: fix xcodebuild return code getting swallowed by pipe to awk 2022-09-30 08:36:24 -05:00
Alex
2e6ad6255a Update ci.yml
Signed-off-by: sashashura <93376818+sashashura@users.noreply.github.com>
2022-09-02 20:18:08 +02:00
Donovan Watteau
744d666ac9 CI: Make the Xcode builds around 90% less verbose
xcodebuild has a `-quiet` flag, but this awk call will just remove the
noisiest lines.
2022-08-29 22:11:26 +02:00
Filippos Karapetis
77c8945ab0 CI: Add the global Ubuntu xenial universe archive URL as repository 2022-08-13 19:45:39 +03:00
Filippos Karapetis
1e3e14aeaa CI: Add the global Ubuntu xenial archive URL as repository 2022-08-13 19:45:39 +03:00
Cameron Cawley
4fbc0268a4 CI: Update from Ubuntu 18.04 to 20.04 2022-08-13 19:45:39 +03:00
Cameron Cawley
a6a6b3da41 CI: Use g++ 4.8 in ubuntu-18.04 builds 2022-08-13 19:45:39 +03:00
Donovan Watteau
31916ae722 CI: Add missing jpeg library for macOS 2022-08-12 04:56:04 +01:00
sluicebox
bd36fea8a2 CI: Update vcpkg to recent commit
Fixes Windows builds
2022-03-09 06:23:58 -05:00
sluicebox
beed7ba48d CI: Update with new theoradec feature name 2022-01-09 14:41:14 -05:00
Cameron Cawley
b4e7ea3150
CI: Disable libmpeg2 in iOS builds 2022-01-01 20:14:07 +00:00
Cameron Cawley
21b0d6ded1 BACKENDS: Replace GLEW with GLAD, part of PR #3463 2021-12-30 14:53:48 +01:00
sluicebox
9477742a20 CI: Update vcpkg to fix PCRE downloads
PCRE changed their download server.

https://github.com/microsoft/vcpkg/issues/21201
2021-11-11 20:17:49 +01:00
SupSuper
b891062a20 CI: Remove outdated Xcode version check 2021-11-02 11:11:59 +00:00
Eugene Sandulenko
8fccd8189f
CI: Remove --enable-c++11 flag 2021-10-31 13:54:47 +02:00
Orgad Shaneh
d0545cb65a CI: Enable fribidi
Some of the issues in vcpkg are already resolved.
2021-08-01 08:30:19 +01:00
Orgad Shaneh
4c63939ba2 CI: Switch Windows build to Debug
Analysis is 4.5x slower, and most users don't even look at the warnings.
2021-07-24 22:02:10 +01:00
Orgad Shaneh
f59505c9bd CI: Set display name and use hard links for buildcache on xcode 2021-07-22 14:30:53 +03:00
Orgad Shaneh
275b6e8c7e CI: Upgrade vcpkg action to v7 and vcpkg to a recent commit
Cache is improved, so vcpkg itself is not built every time.

Upgrade of vcpkg itself is required due to
https://github.com/microsoft/vcpkg/issues/18718.
2021-07-21 17:24:28 +01:00
Orgad Shaneh
cbcfac8a71 CI: Really apply buildcache on macos
Xcode uses
/Applications/Xcode_10.3.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
by default. buildcache uses a wrapper for clang/clang++ and the action
prepends the wrapper to the PATH. But in order to use it, clang needs to
be called by its name alone, without full path.
2021-07-18 22:27:55 +03:00
Orgad Shaneh
0094487489 CI: Fix cache usage for macos and linux
Use https://github.com/mikehardy/buildcache-action for Xcode, and apply
ccache on linux.
2021-07-18 22:10:15 +03:00
Orgad Shaneh
50f3913a7b CI: Use ccache on github actions 2021-07-17 11:35:29 +03:00
SupSuper
0c47e56441 CI: Bump deprecated environments 2021-07-10 17:03:58 +01:00
SupSuper
f5e76a60f5 CI: Use Analysis builds for MSVC 2021-07-10 17:03:57 +01:00