Replace frame pacing with vblank timing and add VSync toggle

This commit is contained in:
moonpower
2026-04-05 19:47:08 +02:00
parent eb70fbc0fe
commit 476b46a873
43 changed files with 1689 additions and 336 deletions
Vendored
BIN
View File
Binary file not shown.
+4
View File
@@ -151,6 +151,7 @@ C_SOURCES := $(wildcard psx/*.c) \
$(wildcard psx/disc/*.c) \
frontend/argparse.c \
frontend/config.c \
frontend/diagnostics.c \
frontend/toml.c
C_SOURCES_SHARED := $(C_SOURCES)
@@ -185,6 +186,9 @@ ifeq ($(PLATFORM),Darwin)
endif
else ifeq ($(WINDOWS_TARGET),1)
PLATFORM_EXTRA_LIBS += -lsetupapi -limm32 -lversion -lwinmm -lgdi32 -lole32 -loleaut32 -lshell32 -luuid -lopengl32
ifneq ($(UWP_TARGET),1)
PLATFORM_EXTRA_LIBS += -ldbghelp
endif
else ifneq ($(WASM_TARGET),wasm)
PLATFORM_EXTRA_LIBS += -ldl -lGL
endif
Binary file not shown.
+2 -1
View File
@@ -43,7 +43,8 @@ build_fsui_wasm() {
}
bundle_macos_app() {
mkdir -p armsx.app/Contents/MacOS/Libraries
rm -rf armsx.app/Contents/Libraries
mkdir -p armsx.app/Contents/MacOS
mkdir -p armsx.app/Contents/Resources/icons
cp bin/armsx armsx.app/Contents/MacOS
cp -R icons/. armsx.app/Contents/Resources/icons/
File diff suppressed because one or more lines are too long
+16 -16
View File
@@ -253,9 +253,9 @@ CMakeFiles/fsui_imgui.dir/clean:
# Target rules for target CMakeFiles/fsui-core.dir
# All Build rule for target.
CMakeFiles/fsui-core.dir/all: CMakeFiles/fsui_glad.dir/all
CMakeFiles/fsui-core.dir/all: CMakeFiles/fsui_resources.dir/all
CMakeFiles/fsui-core.dir/all: CMakeFiles/fsui_imgui.dir/all
CMakeFiles/fsui-core.dir/all: CMakeFiles/fsui_resources.dir/all
CMakeFiles/fsui-core.dir/all: CMakeFiles/fsui_glad.dir/all
$(MAKE) $(MAKESILENT) -f CMakeFiles/fsui-core.dir/build.make CMakeFiles/fsui-core.dir/depend
$(MAKE) $(MAKESILENT) -f CMakeFiles/fsui-core.dir/build.make CMakeFiles/fsui-core.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/Users/mohammed/Documents/ARMSX/build/fsui/native/CMakeFiles --progress-num=1 "Built target fsui-core"
@@ -287,9 +287,9 @@ CMakeFiles/fsui-core.dir/clean:
# Target rules for target CMakeFiles/fsui-platform-sdl2.dir
# All Build rule for target.
CMakeFiles/fsui-platform-sdl2.dir/all: CMakeFiles/fsui_glad.dir/all
CMakeFiles/fsui-platform-sdl2.dir/all: CMakeFiles/fsui_resources.dir/all
CMakeFiles/fsui-platform-sdl2.dir/all: CMakeFiles/fsui_imgui.dir/all
CMakeFiles/fsui-platform-sdl2.dir/all: CMakeFiles/fsui_resources.dir/all
CMakeFiles/fsui-platform-sdl2.dir/all: CMakeFiles/fsui_glad.dir/all
CMakeFiles/fsui-platform-sdl2.dir/all: CMakeFiles/fsui-core.dir/all
$(MAKE) $(MAKESILENT) -f CMakeFiles/fsui-platform-sdl2.dir/build.make CMakeFiles/fsui-platform-sdl2.dir/depend
$(MAKE) $(MAKESILENT) -f CMakeFiles/fsui-platform-sdl2.dir/build.make CMakeFiles/fsui-platform-sdl2.dir/build
@@ -322,9 +322,9 @@ CMakeFiles/fsui-platform-sdl2.dir/clean:
# Target rules for target CMakeFiles/fsui-renderer-opengl.dir
# All Build rule for target.
CMakeFiles/fsui-renderer-opengl.dir/all: CMakeFiles/fsui_glad.dir/all
CMakeFiles/fsui-renderer-opengl.dir/all: CMakeFiles/fsui_resources.dir/all
CMakeFiles/fsui-renderer-opengl.dir/all: CMakeFiles/fsui_imgui.dir/all
CMakeFiles/fsui-renderer-opengl.dir/all: CMakeFiles/fsui_resources.dir/all
CMakeFiles/fsui-renderer-opengl.dir/all: CMakeFiles/fsui_glad.dir/all
CMakeFiles/fsui-renderer-opengl.dir/all: CMakeFiles/fsui-core.dir/all
$(MAKE) $(MAKESILENT) -f CMakeFiles/fsui-renderer-opengl.dir/build.make CMakeFiles/fsui-renderer-opengl.dir/depend
$(MAKE) $(MAKESILENT) -f CMakeFiles/fsui-renderer-opengl.dir/build.make CMakeFiles/fsui-renderer-opengl.dir/build
@@ -357,9 +357,9 @@ CMakeFiles/fsui-renderer-opengl.dir/clean:
# Target rules for target CMakeFiles/fsui-renderer-sdl2.dir
# All Build rule for target.
CMakeFiles/fsui-renderer-sdl2.dir/all: CMakeFiles/fsui_glad.dir/all
CMakeFiles/fsui-renderer-sdl2.dir/all: CMakeFiles/fsui_resources.dir/all
CMakeFiles/fsui-renderer-sdl2.dir/all: CMakeFiles/fsui_imgui.dir/all
CMakeFiles/fsui-renderer-sdl2.dir/all: CMakeFiles/fsui_resources.dir/all
CMakeFiles/fsui-renderer-sdl2.dir/all: CMakeFiles/fsui_glad.dir/all
CMakeFiles/fsui-renderer-sdl2.dir/all: CMakeFiles/fsui-core.dir/all
$(MAKE) $(MAKESILENT) -f CMakeFiles/fsui-renderer-sdl2.dir/build.make CMakeFiles/fsui-renderer-sdl2.dir/depend
$(MAKE) $(MAKESILENT) -f CMakeFiles/fsui-renderer-sdl2.dir/build.make CMakeFiles/fsui-renderer-sdl2.dir/build
@@ -392,9 +392,9 @@ CMakeFiles/fsui-renderer-sdl2.dir/clean:
# Target rules for target CMakeFiles/fsui-renderer-sdl2surface.dir
# All Build rule for target.
CMakeFiles/fsui-renderer-sdl2surface.dir/all: CMakeFiles/fsui_glad.dir/all
CMakeFiles/fsui-renderer-sdl2surface.dir/all: CMakeFiles/fsui_resources.dir/all
CMakeFiles/fsui-renderer-sdl2surface.dir/all: CMakeFiles/fsui_imgui.dir/all
CMakeFiles/fsui-renderer-sdl2surface.dir/all: CMakeFiles/fsui_resources.dir/all
CMakeFiles/fsui-renderer-sdl2surface.dir/all: CMakeFiles/fsui_glad.dir/all
CMakeFiles/fsui-renderer-sdl2surface.dir/all: CMakeFiles/fsui-core.dir/all
$(MAKE) $(MAKESILENT) -f CMakeFiles/fsui-renderer-sdl2surface.dir/build.make CMakeFiles/fsui-renderer-sdl2surface.dir/depend
$(MAKE) $(MAKESILENT) -f CMakeFiles/fsui-renderer-sdl2surface.dir/build.make CMakeFiles/fsui-renderer-sdl2surface.dir/build
@@ -427,9 +427,9 @@ CMakeFiles/fsui-renderer-sdl2surface.dir/clean:
# Target rules for target CMakeFiles/fsui-renderer-metal.dir
# All Build rule for target.
CMakeFiles/fsui-renderer-metal.dir/all: CMakeFiles/fsui_glad.dir/all
CMakeFiles/fsui-renderer-metal.dir/all: CMakeFiles/fsui_resources.dir/all
CMakeFiles/fsui-renderer-metal.dir/all: CMakeFiles/fsui_imgui.dir/all
CMakeFiles/fsui-renderer-metal.dir/all: CMakeFiles/fsui_resources.dir/all
CMakeFiles/fsui-renderer-metal.dir/all: CMakeFiles/fsui_glad.dir/all
CMakeFiles/fsui-renderer-metal.dir/all: CMakeFiles/fsui-core.dir/all
$(MAKE) $(MAKESILENT) -f CMakeFiles/fsui-renderer-metal.dir/build.make CMakeFiles/fsui-renderer-metal.dir/depend
$(MAKE) $(MAKESILENT) -f CMakeFiles/fsui-renderer-metal.dir/build.make CMakeFiles/fsui-renderer-metal.dir/build
@@ -462,9 +462,9 @@ CMakeFiles/fsui-renderer-metal.dir/clean:
# Target rules for target CMakeFiles/fsui-backend-sdl.dir
# All Build rule for target.
CMakeFiles/fsui-backend-sdl.dir/all: CMakeFiles/fsui_glad.dir/all
CMakeFiles/fsui-backend-sdl.dir/all: CMakeFiles/fsui_resources.dir/all
CMakeFiles/fsui-backend-sdl.dir/all: CMakeFiles/fsui_imgui.dir/all
CMakeFiles/fsui-backend-sdl.dir/all: CMakeFiles/fsui_resources.dir/all
CMakeFiles/fsui-backend-sdl.dir/all: CMakeFiles/fsui_glad.dir/all
CMakeFiles/fsui-backend-sdl.dir/all: CMakeFiles/fsui-core.dir/all
CMakeFiles/fsui-backend-sdl.dir/all: CMakeFiles/fsui-platform-sdl2.dir/all
CMakeFiles/fsui-backend-sdl.dir/all: CMakeFiles/fsui-renderer-opengl.dir/all
@@ -502,9 +502,9 @@ CMakeFiles/fsui-backend-sdl.dir/clean:
# Target rules for target CMakeFiles/fsui-donor.dir
# All Build rule for target.
CMakeFiles/fsui-donor.dir/all: CMakeFiles/fsui_glad.dir/all
CMakeFiles/fsui-donor.dir/all: CMakeFiles/fsui_resources.dir/all
CMakeFiles/fsui-donor.dir/all: CMakeFiles/fsui_imgui.dir/all
CMakeFiles/fsui-donor.dir/all: CMakeFiles/fsui_resources.dir/all
CMakeFiles/fsui-donor.dir/all: CMakeFiles/fsui_glad.dir/all
CMakeFiles/fsui-donor.dir/all: CMakeFiles/fsui-core.dir/all
$(MAKE) $(MAKESILENT) -f CMakeFiles/fsui-donor.dir/build.make CMakeFiles/fsui-donor.dir/depend
$(MAKE) $(MAKESILENT) -f CMakeFiles/fsui-donor.dir/build.make CMakeFiles/fsui-donor.dir/build
@@ -6,7 +6,5 @@ CXX_DEFINES = -DFSUI_HAS_METAL_RENDERER -DFSUI_HAS_SDL2RENDERER_RENDERER -DFSUI_
CXX_INCLUDES = -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/include -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/imgui -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/imgui/backends -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/stb -I/Users/mohammed/Documents/ARMSX/build/fsui/native -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/glad/include -I/Users/mohammed/Documents/ARMSX/build/fsui/native/_cmrc/include -I/Users/mohammed/Documents/ARMSX/build/fsui/native/gladsources/fsui_glad/include -isystem /opt/homebrew/Cellar/sdl2/2.32.10/include/SDL2
CXX_FLAGSarm64 = -std=gnu++20 -arch arm64 -mmacosx-version-min=10.15 -fPIC -O2
CXX_FLAGS = -std=gnu++20 -arch arm64 -mmacosx-version-min=10.15 -fPIC -O2
CXX_FLAGS = -std=gnu++20 -mmacosx-version-min=10.15 -fPIC -O2
@@ -6,7 +6,5 @@ CXX_DEFINES = -DFSUI_HAS_METAL_RENDERER -DFSUI_HAS_SDL2RENDERER_RENDERER -DFSUI_
CXX_INCLUDES = -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/include -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/imgui -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/imgui/backends -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/stb -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/glad/include -I/Users/mohammed/Documents/ARMSX/build/fsui/native -I/Users/mohammed/Documents/ARMSX/build/fsui/native/_cmrc/include -I/Users/mohammed/Documents/ARMSX/build/fsui/native/gladsources/fsui_glad/include -isystem /opt/homebrew/Cellar/sdl2/2.32.10/include/SDL2
CXX_FLAGSarm64 = -std=gnu++20 -arch arm64 -mmacosx-version-min=10.15 -fPIC -O2
CXX_FLAGS = -std=gnu++20 -arch arm64 -mmacosx-version-min=10.15 -fPIC -O2
CXX_FLAGS = -std=gnu++20 -mmacosx-version-min=10.15 -fPIC -O2
@@ -6,7 +6,5 @@ CXX_DEFINES = -DFSUI_HAS_METAL_RENDERER -DFSUI_HAS_SDL2RENDERER_RENDERER -DFSUI_
CXX_INCLUDES = -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/include -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/imgui -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/imgui/backends -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/stb -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/glad/include -I/Users/mohammed/Documents/ARMSX/build/fsui/native -I/Users/mohammed/Documents/ARMSX/build/fsui/native/_cmrc/include
CXX_FLAGSarm64 = -std=gnu++20 -arch arm64 -mmacosx-version-min=10.15 -fPIC -O2
CXX_FLAGS = -std=gnu++20 -arch arm64 -mmacosx-version-min=10.15 -fPIC -O2
CXX_FLAGS = -std=gnu++20 -mmacosx-version-min=10.15 -fPIC -O2
@@ -6,7 +6,5 @@ CXX_DEFINES = -DFSUI_HAS_METAL_RENDERER -DFSUI_HAS_SDL2RENDERER_RENDERER -DFSUI_
CXX_INCLUDES = -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/include -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/imgui -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/imgui/backends -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/stb -I/Users/mohammed/Documents/ARMSX/build/fsui/native -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/glad/include -I/Users/mohammed/Documents/ARMSX/build/fsui/native/_cmrc/include -isystem /opt/homebrew/Cellar/sdl2/2.32.10/include/SDL2
CXX_FLAGSarm64 = -std=gnu++20 -arch arm64 -mmacosx-version-min=10.15 -fPIC -O2
CXX_FLAGS = -std=gnu++20 -arch arm64 -mmacosx-version-min=10.15 -fPIC -O2
CXX_FLAGS = -std=gnu++20 -mmacosx-version-min=10.15 -fPIC -O2
@@ -6,7 +6,5 @@ OBJCXX_DEFINES = -DFSUI_HAS_METAL_RENDERER -DFSUI_HAS_SDL2RENDERER_RENDERER -DFS
OBJCXX_INCLUDES = -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/include -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/imgui -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/imgui/backends -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/stb -I/Users/mohammed/Documents/ARMSX/build/fsui/native -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/glad/include -I/Users/mohammed/Documents/ARMSX/build/fsui/native/_cmrc/include -F/Volumes/FastDrive/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks -isystem /opt/homebrew/Cellar/sdl2/2.32.10/include/SDL2
OBJCXX_FLAGSarm64 = -std=gnu++2a -arch arm64 -mmacosx-version-min=10.15 -fPIC -O2
OBJCXX_FLAGS = -std=gnu++2a -arch arm64 -mmacosx-version-min=10.15 -fPIC -O2
OBJCXX_FLAGS = -std=gnu++2a -mmacosx-version-min=10.15 -fPIC -O2
@@ -6,7 +6,5 @@ CXX_DEFINES = -DFSUI_HAS_METAL_RENDERER -DFSUI_HAS_SDL2RENDERER_RENDERER -DFSUI_
CXX_INCLUDES = -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/include -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/imgui -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/imgui/backends -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/stb -I/Users/mohammed/Documents/ARMSX/build/fsui/native -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/glad/include -I/Users/mohammed/Documents/ARMSX/build/fsui/native/_cmrc/include -I/Users/mohammed/Documents/ARMSX/build/fsui/native/gladsources/fsui_glad/include -isystem /opt/homebrew/Cellar/sdl2/2.32.10/include/SDL2
CXX_FLAGSarm64 = -std=gnu++20 -arch arm64 -mmacosx-version-min=10.15 -fPIC -O2
CXX_FLAGS = -std=gnu++20 -arch arm64 -mmacosx-version-min=10.15 -fPIC -O2
CXX_FLAGS = -std=gnu++20 -mmacosx-version-min=10.15 -fPIC -O2
@@ -6,7 +6,5 @@ CXX_DEFINES = -DFSUI_HAS_METAL_RENDERER -DFSUI_HAS_SDL2RENDERER_RENDERER -DFSUI_
CXX_INCLUDES = -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/include -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/imgui -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/imgui/backends -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/stb -I/Users/mohammed/Documents/ARMSX/build/fsui/native -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/glad/include -I/Users/mohammed/Documents/ARMSX/build/fsui/native/_cmrc/include -isystem /opt/homebrew/Cellar/sdl2/2.32.10/include/SDL2
CXX_FLAGSarm64 = -std=gnu++20 -arch arm64 -mmacosx-version-min=10.15 -fPIC -O2
CXX_FLAGS = -std=gnu++20 -arch arm64 -mmacosx-version-min=10.15 -fPIC -O2
CXX_FLAGS = -std=gnu++20 -mmacosx-version-min=10.15 -fPIC -O2
@@ -6,7 +6,5 @@ CXX_DEFINES = -DFSUI_HAS_METAL_RENDERER -DFSUI_HAS_SDL2RENDERER_RENDERER -DFSUI_
CXX_INCLUDES = -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/include -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/imgui -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/imgui/backends -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/stb -I/Users/mohammed/Documents/ARMSX/build/fsui/native -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/glad/include -I/Users/mohammed/Documents/ARMSX/build/fsui/native/_cmrc/include -isystem /opt/homebrew/Cellar/sdl2/2.32.10/include/SDL2
CXX_FLAGSarm64 = -std=gnu++20 -arch arm64 -mmacosx-version-min=10.15 -fPIC -O2
CXX_FLAGS = -std=gnu++20 -arch arm64 -mmacosx-version-min=10.15 -fPIC -O2
CXX_FLAGS = -std=gnu++20 -mmacosx-version-min=10.15 -fPIC -O2
@@ -6,7 +6,5 @@ C_DEFINES = -DIMGUI_FRONTEND
C_INCLUDES = -I/Users/mohammed/Documents/ARMSX/build/fsui/native/gladsources/fsui_glad/include
C_FLAGSarm64 = -arch arm64 -mmacosx-version-min=10.15 -fPIC
C_FLAGS = -arch arm64 -mmacosx-version-min=10.15 -fPIC
C_FLAGS = -mmacosx-version-min=10.15 -fPIC
@@ -6,7 +6,5 @@ CXX_DEFINES = -DIMGUI_FRONTEND
CXX_INCLUDES = -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/include -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/imgui -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/imgui/backends -I/Users/mohammed/Documents/ARMSX/third_party/fsui-lib/third_party/stb
CXX_FLAGSarm64 = -std=gnu++20 -arch arm64 -mmacosx-version-min=10.15 -fPIC -O2
CXX_FLAGS = -std=gnu++20 -arch arm64 -mmacosx-version-min=10.15 -fPIC -O2
CXX_FLAGS = -std=gnu++20 -mmacosx-version-min=10.15 -fPIC -O2
@@ -6,7 +6,5 @@ CXX_DEFINES = -DIMGUI_FRONTEND
CXX_INCLUDES = -I/Users/mohammed/Documents/ARMSX/build/fsui/native/_cmrc/include
CXX_FLAGSarm64 = -std=gnu++20 -arch arm64 -mmacosx-version-min=10.15 -fPIC
CXX_FLAGS = -std=gnu++20 -arch arm64 -mmacosx-version-min=10.15 -fPIC
CXX_FLAGS = -std=gnu++20 -mmacosx-version-min=10.15 -fPIC
Binary file not shown.
Binary file not shown.
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More