Skip to content

Commit b8340d9

Browse files
authored
Merge branch 'master' into fog_foo
2 parents 012604b + 04f0410 commit b8340d9

52 files changed

Lines changed: 5237 additions & 329 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/cache-master.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ jobs:
2727
runs-on: ubuntu-latest
2828
container: ghcr.io/scp-fs2open/linux_build:sha-71099c9
2929
steps:
30+
- name: Install Qt dependencies
31+
run: apt-get -yq update && apt-get -yq install libfontconfig1
3032
- uses: actions/checkout@v1
3133
name: Checkout
3234
with:

CMakeLists.txt

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,10 +127,25 @@ OPTION(FSO_BUILD_WITH_DISCORD "Build with Discord support" ON)
127127

128128
OPTION(FSO_BUILD_WITH_OPENGL "Enable compilation of the OpenGL renderer" ON)
129129
OPTION(FSO_BUILD_WITH_OPENGL_DEBUG "Enables debug option for OpenGL" OFF)
130+
OPTION(FSO_BUILD_WITH_OPENGL_ES "When building OpenGL, use OpenGL ES compatibility layer (External shaders only!)" OFF)
130131

131132
OPTION(FSO_BUILD_WITH_VULKAN "Enable compilation of the Vulkan renderer" OFF)
132133

133-
IF(NOT APPLE)
134+
if(NOT FSO_BUILD_WITH_OPENGL AND FSO_BUILD_WITH_OPENGL_ES)
135+
# Disable GLES if not building with OpenGL
136+
set(FSO_BUILD_WITH_OPENGL_ES OFF FORCE)
137+
endif()
138+
139+
140+
if(FSO_BUILD_WITH_OPENGL_ES)
141+
add_definitions(-DUSE_OPENGL_ES)
142+
IF(FSO_BUILD_WITH_OPENXR)
143+
MESSAGE(WARNING "FSO_BUILD_WITH_OPENXR is ON. But not supported on OpenGL ES for now - setting to OFF.")
144+
SET(FSO_BUILD_WITH_OPENXR OFF CACHE BOOL "" FORCE)
145+
endif()
146+
endif()
147+
148+
IF(NOT APPLE AND NOT FSO_BUILD_WITH_OPENGL_ES)
134149
SET(OPENXR_BUILD_DEFAULT ON)
135150
ELSE()
136151
SET(OPENXR_BUILD_DEFAULT OFF)
@@ -158,6 +173,7 @@ mark_as_advanced(FORCE FSO_BUILD_WITH_FFMPEG)
158173
mark_as_advanced(FORCE FSO_BUILD_WITH_DISCORD)
159174
mark_as_advanced(FORCE FSO_BUILD_WITH_OPENGL)
160175
mark_as_advanced(FORCE FSO_BUILD_WITH_OPENGL_DEBUG)
176+
mark_as_advanced(FORCE FSO_BUILD_WITH_OPENGL_ES)
161177
mark_as_advanced(FORCE FSO_BUILD_WITH_VULKAN)
162178
mark_as_advanced(FORCE FSO_BUILD_WITH_OPENXR)
163179
mark_as_advanced(FORCE FSO_BUILD_WITH_OPENXR_DEBUG)
@@ -243,5 +259,6 @@ message(STATUS "Release logging: ${FSO_RELEASE_LOGGING}")
243259
message(STATUS "With FFmpeg: ${FSO_BUILD_WITH_FFMPEG}")
244260
message(STATUS "With Discord: ${FSO_BUILD_WITH_DISCORD}")
245261
message(STATUS "With OpenGL: ${FSO_BUILD_WITH_OPENGL}")
262+
message(STATUS "With OpenGL ES: ${FSO_BUILD_WITH_OPENGL_ES}")
246263
message(STATUS "With Vulkan: ${FSO_BUILD_WITH_VULKAN}")
247264
message(STATUS "With OpenXR: ${FSO_BUILD_WITH_OPENXR}")

code/cfile/cfile.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ cf_pathtype Pathtypes[CF_MAX_PATH_TYPES] = {
6868
{ CF_TYPE_MOVIES, "data" DIR_SEPARATOR_STR "movies", ".mve .msb .ogg .mp4 .srt .webm .png",CF_TYPE_DATA },
6969
{ CF_TYPE_INTERFACE, "data" DIR_SEPARATOR_STR "interface", ".pcx .ani .dds .tga .eff .png .jpg .rml .rcss", CF_TYPE_DATA },
7070
{ CF_TYPE_FONT, "data" DIR_SEPARATOR_STR "fonts", ".vf .ttf .otf", CF_TYPE_DATA },
71-
{ CF_TYPE_EFFECTS, "data" DIR_SEPARATOR_STR "effects", ".ani .eff .pcx .neb .tga .jpg .png .dds .sdr", CF_TYPE_DATA },
71+
{ CF_TYPE_EFFECTS, "data" DIR_SEPARATOR_STR "effects", ".ani .eff .pcx .neb .tga .jpg .png .dds .sdr .vert .frag .glsl", CF_TYPE_DATA },
7272
{ CF_TYPE_HUD, "data" DIR_SEPARATOR_STR "hud", ".pcx .ani .eff .tga .jpg .png .dds", CF_TYPE_DATA },
7373
{ CF_TYPE_PLAYERS, "data" DIR_SEPARATOR_STR "players", ".hcf", /* DON'T add pilot files here!! */ CF_TYPE_DATA },
7474
{ CF_TYPE_PLAYER_IMAGES, "data" DIR_SEPARATOR_STR "players" DIR_SEPARATOR_STR "images", ".pcx .png .dds", CF_TYPE_PLAYERS },
@@ -186,6 +186,7 @@ int cfile_init(const char *exe_dir, const char *cdrom_dir)
186186
char buf[CFILE_ROOT_DIRECTORY_LEN];
187187

188188
strncpy(buf, exe_dir, CFILE_ROOT_DIRECTORY_LEN - 1);
189+
189190
buf[CFILE_ROOT_DIRECTORY_LEN - 1] = '\0';
190191

191192
// are we in a root directory?

code/ddsutils/ddsutils.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
#include "ddsutils/ddsutils.h"
33
#include "cfile/cfile.h"
44
#include "osapi/osregistry.h"
5+
#ifdef USE_OPENGL_ES
6+
#include "graphics/opengl/es_compatibility.h"
7+
#endif
58

69
#ifdef WITH_OPENGL
710
#include <glad/glad.h>

code/globalincs/version.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,9 @@ SCP_string get_version_string()
203203
switch (gr_screen.mode) {
204204
case GR_OPENGL:
205205
str += " OpenGL";
206+
#ifdef USE_OPENGL_ES
207+
str += " ES";
208+
#endif
206209
break;
207210
case GR_VULKAN:
208211
str += " Vulkan";

code/graphics/2d.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
#include "graphics/util/UniformBufferManager.h"
3434
#include "graphics/shadows.h"
3535
#include "io/mouse.h"
36+
#include "model/modelrender.h"
3637
#include "libs/jansson.h"
3738
#include "options/Option.h"
3839
#include "osapi/osapi.h"
@@ -2939,6 +2940,8 @@ void gr_flip(bool execute_scripting)
29392940
}
29402941
}
29412942

2943+
model_process_cached_ui_render_instances();
2944+
29422945
gr_reset_immediate_buffer();
29432946

29442947
// Do per frame operations on the matrix state

0 commit comments

Comments
 (0)