diff --git a/.github/workflows/3DS.yml b/.github/workflows/3DS.yml index e1825e4b26..34aa1ac9be 100644 --- a/.github/workflows/3DS.yml +++ b/.github/workflows/3DS.yml @@ -30,7 +30,7 @@ jobs: - name: Compile RA run: | make -f Makefile.ctr -j$(getconf _NPROCESSORS_ONLN) USE_CTRULIB_2=1 clean - make -f Makefile.ctr -j$(getconf _NPROCESSORS_ONLN) USE_CTRULIB_2=1 HAVE_STATIC_DUMMY=1 + make -f Makefile.ctr -j$(getconf _NPROCESSORS_ONLN) USE_CTRULIB_2=1 HAVE_STATIC_DUMMY=1 info all - name: Get short SHA id: slug run: echo "::set-output name=sha8::$(echo ${GITHUB_SHA} | cut -c1-8)" diff --git a/.github/workflows/DOS-DJGPP.yml b/.github/workflows/DOS-DJGPP.yml index 6f5595ce05..84086cd6cd 100644 --- a/.github/workflows/DOS-DJGPP.yml +++ b/.github/workflows/DOS-DJGPP.yml @@ -25,7 +25,7 @@ jobs: - name: Compile RA run: | make -f Makefile.dos -j$(getconf _NPROCESSORS_ONLN) clean - make -f Makefile.dos -j$(getconf _NPROCESSORS_ONLN) HAVE_STATIC_DUMMY=1 + make -f Makefile.dos -j$(getconf _NPROCESSORS_ONLN) HAVE_STATIC_DUMMY=1 info all - name: Get short SHA id: slug diff --git a/.github/workflows/GameCube.yml b/.github/workflows/GameCube.yml index 24823fcb91..75a27a8eba 100644 --- a/.github/workflows/GameCube.yml +++ b/.github/workflows/GameCube.yml @@ -25,7 +25,7 @@ jobs: - name: Compile RA run: | make -f Makefile.ngc -j$(getconf _NPROCESSORS_ONLN) clean - make -f Makefile.ngc -j$(getconf _NPROCESSORS_ONLN) EXTERNAL_LIBOGC=1 GX_PTHREAD_LEGACY=0 HAVE_STATIC_DUMMY=1 + make -f Makefile.ngc -j$(getconf _NPROCESSORS_ONLN) EXTERNAL_LIBOGC=1 GX_PTHREAD_LEGACY=0 HAVE_STATIC_DUMMY=1 info all - name: Get short SHA id: slug run: echo "::set-output name=sha8::$(echo ${GITHUB_SHA} | cut -c1-8)" diff --git a/.github/workflows/Linux.yml b/.github/workflows/Linux.yml index 7ce4b1965e..3b1a507612 100644 --- a/.github/workflows/Linux.yml +++ b/.github/workflows/Linux.yml @@ -30,7 +30,7 @@ jobs: - name: Compile RA run: | make -j$(getconf _NPROCESSORS_ONLN) clean - make -j$(getconf _NPROCESSORS_ONLN) + make -j$(getconf _NPROCESSORS_ONLN) info all - name: Get short SHA id: slug diff --git a/.github/workflows/MSYS2.yml b/.github/workflows/MSYS2.yml index 3d0bb30415..5b2514eee9 100644 --- a/.github/workflows/MSYS2.yml +++ b/.github/workflows/MSYS2.yml @@ -59,7 +59,7 @@ jobs: run: | echo "Building RetroArch in ${{ matrix.sys }} environment" ./configure - make -j$(nproc) + make -j$(nproc) info all - name: Collect DLLs and binaries shell: msys2 {0} diff --git a/.github/workflows/Miyoo.yml b/.github/workflows/Miyoo.yml index de6018a50a..9977075dc8 100644 --- a/.github/workflows/Miyoo.yml +++ b/.github/workflows/Miyoo.yml @@ -25,7 +25,7 @@ jobs: - name: Compile RA run: | make -j$(getconf _NPROCESSORS_ONLN) -f Makefile.miyoo clean - make -j$(getconf _NPROCESSORS_ONLN) -f Makefile.miyoo + make -j$(getconf _NPROCESSORS_ONLN) -f Makefile.miyoo info all - name: Get short SHA id: slug diff --git a/.github/workflows/PS2.yml b/.github/workflows/PS2.yml index 4e60d718f0..1d81d9daf4 100644 --- a/.github/workflows/PS2.yml +++ b/.github/workflows/PS2.yml @@ -30,7 +30,7 @@ jobs: - name: Compile RA run: | make -f Makefile.ps2 -j$(getconf _NPROCESSORS_ONLN) clean - make -f Makefile.ps2 -j$(getconf _NPROCESSORS_ONLN) HAVE_STATIC_DUMMY=1 release + make -f Makefile.ps2 -j$(getconf _NPROCESSORS_ONLN) HAVE_STATIC_DUMMY=1 info release - name: Get short SHA id: slug diff --git a/.github/workflows/PS3-PSL1GHT.yml b/.github/workflows/PS3-PSL1GHT.yml index f98b459454..5850e5e88d 100644 --- a/.github/workflows/PS3-PSL1GHT.yml +++ b/.github/workflows/PS3-PSL1GHT.yml @@ -30,7 +30,7 @@ jobs: - name: Compile RA run: | make -f Makefile.psl1ght -j$(getconf _NPROCESSORS_ONLN) clean - make -f Makefile.psl1ght -j$(getconf _NPROCESSORS_ONLN) HAVE_STATIC_DUMMY=1 + make -f Makefile.psl1ght -j$(getconf _NPROCESSORS_ONLN) HAVE_STATIC_DUMMY=1 info all - name: Get short SHA id: slug diff --git a/.github/workflows/PS4-ORBIS.yml b/.github/workflows/PS4-ORBIS.yml index 2296eed6d0..d382a38bc6 100644 --- a/.github/workflows/PS4-ORBIS.yml +++ b/.github/workflows/PS4-ORBIS.yml @@ -31,7 +31,7 @@ jobs: - name: Compile RA run: | export PATH=~/cli:$PATH # .net cli - make -f Makefile.orbis -j$(getconf _NPROCESSORS_ONLN) HAVE_STATIC_DUMMY=1 + make -f Makefile.orbis -j$(getconf _NPROCESSORS_ONLN) HAVE_STATIC_DUMMY=1 info all - name: Get short SHA id: slug diff --git a/.github/workflows/PSVita.yml b/.github/workflows/PSVita.yml index 87e5933e9e..1e26200c0f 100644 --- a/.github/workflows/PSVita.yml +++ b/.github/workflows/PSVita.yml @@ -30,7 +30,7 @@ jobs: - name: Compile RA run: | make -f Makefile.vita -j$(getconf _NPROCESSORS_ONLN) clean - make -f Makefile.vita -j$(getconf _NPROCESSORS_ONLN) HAVE_STATIC_DUMMY=1 HAVE_VITAGLES=1 + make -f Makefile.vita -j$(getconf _NPROCESSORS_ONLN) HAVE_STATIC_DUMMY=1 HAVE_VITAGLES=1 info all - name: Get short SHA id: slug run: echo "::set-output name=sha8::$(echo ${GITHUB_SHA} | cut -c1-8)" diff --git a/.github/workflows/RS90.yml b/.github/workflows/RS90.yml index 34332c5ce0..8c730d9598 100644 --- a/.github/workflows/RS90.yml +++ b/.github/workflows/RS90.yml @@ -25,7 +25,7 @@ jobs: - name: Compile RA run: | make -j$(getconf _NPROCESSORS_ONLN) -f Makefile.rs90 clean - make -j$(getconf _NPROCESSORS_ONLN) -f Makefile.rs90 + make -j$(getconf _NPROCESSORS_ONLN) -f Makefile.rs90 info all - name: Get short SHA id: slug diff --git a/.github/workflows/RetroFW.yml b/.github/workflows/RetroFW.yml index cb57960e1d..f7ddae3678 100644 --- a/.github/workflows/RetroFW.yml +++ b/.github/workflows/RetroFW.yml @@ -25,7 +25,7 @@ jobs: - name: Compile RA run: | make -j$(getconf _NPROCESSORS_ONLN) -f Makefile.retrofw clean - make -j$(getconf _NPROCESSORS_ONLN) -f Makefile.retrofw + make -j$(getconf _NPROCESSORS_ONLN) -f Makefile.retrofw info all - name: Get short SHA id: slug diff --git a/.github/workflows/Wii.yml b/.github/workflows/Wii.yml index f5f1e69d14..f56b0728b4 100644 --- a/.github/workflows/Wii.yml +++ b/.github/workflows/Wii.yml @@ -30,7 +30,7 @@ jobs: - name: Compile RA run: | make -f Makefile.wii -j$(getconf _NPROCESSORS_ONLN) clean - make -f Makefile.wii -j$(getconf _NPROCESSORS_ONLN) EXTERNAL_LIBOGC=1 GX_PTHREAD_LEGACY=0 HAVE_STATIC_DUMMY=1 + make -f Makefile.wii -j$(getconf _NPROCESSORS_ONLN) EXTERNAL_LIBOGC=1 GX_PTHREAD_LEGACY=0 HAVE_STATIC_DUMMY=1 info all - name: Get short SHA id: slug run: echo "::set-output name=sha8::$(echo ${GITHUB_SHA} | cut -c1-8)" diff --git a/.github/workflows/WiiU.yml b/.github/workflows/WiiU.yml index 2a53051107..51650e4406 100644 --- a/.github/workflows/WiiU.yml +++ b/.github/workflows/WiiU.yml @@ -30,7 +30,7 @@ jobs: - name: Compile RA run: | make -f Makefile.wiiu -j$(getconf _NPROCESSORS_ONLN) clean - make -f Makefile.wiiu -j$(getconf _NPROCESSORS_ONLN) HAVE_STATIC_DUMMY=1 + make -f Makefile.wiiu -j$(getconf _NPROCESSORS_ONLN) HAVE_STATIC_DUMMY=1 info all - name: Get short SHA id: slug run: echo "::set-output name=sha8::$(echo ${GITHUB_SHA} | cut -c1-8)" diff --git a/.github/workflows/retroarch.yml b/.github/workflows/retroarch.yml index 8847aa35e8..1ce2da4004 100644 --- a/.github/workflows/retroarch.yml +++ b/.github/workflows/retroarch.yml @@ -33,4 +33,4 @@ jobs: - name: Build Debug run: | make clean # making sure we don't have leftovers from previous build - make DEBUG=1 GL_DEBUG=1 C89_BUILD=1 + make DEBUG=1 GL_DEBUG=1 C89_BUILD=1 info all diff --git a/.github/workflows/webOS.yml b/.github/workflows/webOS.yml index 8eb8697949..ff833a2c9e 100644 --- a/.github/workflows/webOS.yml +++ b/.github/workflows/webOS.yml @@ -2,14 +2,18 @@ name: CI webOS on: push: + tags-ignore: + - '*' + branches: + - '*' pull_request: + release: + types: [ published ] repository_dispatch: - types: [run_build] - -permissions: - contents: read + types: [ run_build ] env: + PACKAGE_NAME: com.retroarch.webos ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true jobs: @@ -28,6 +32,14 @@ jobs: fileName: "ares-package_*.deb" out-file-path: "temp" + - name: Download Manifest Generator + uses: robinraju/release-downloader@v1.9 + with: + repository: "webosbrew/dev-toolbox-cli" + latest: true + fileName: "webosbrew-toolbox-gen-manifest_*.deb" + out-file-path: "temp" + - name: Update packages run: sudo apt-get -yq update @@ -50,6 +62,38 @@ jobs: ./arm-webos-linux-gnueabi_sdk-buildroot/relocate-sdk.sh - name: Compile RA + shell: bash run: | . /tmp/arm-webos-linux-gnueabi_sdk-buildroot/environment-setup - make -f Makefile.webos ADD_SDL2_LIB=1 -j$(getconf _NPROCESSORS_ONLN) + make -f Makefile.webos ipk PACKAGE_NAME=${PACKAGE_NAME} ADD_SDL2_LIB=1 -j$(getconf _NPROCESSORS_ONLN) + + - name: Get short SHA + id: slug + run: echo "sha8=$(echo ${GITHUB_SHA} | cut -c1-8)" >> $GITHUB_OUTPUT + + - uses: actions/upload-artifact@v4 + with: + name: com.retroarch.webos_${{ steps.slug.outputs.sha8 }}_arm.ipk + path: | + webos/*.ipk + + - name: Generate Manifest + shell: bash + run: | + . version.all + webosbrew-gen-manifest -o webos/${PACKAGE_NAME}.manifest.json \ + -p webos/${PACKAGE_NAME}_${RARCH_VERSION}_arm.ipk \ + -i https://github.com/webosbrew/RetroArch/raw/webos/webos/icon160.png \ + -l https://github.com/webosbrew/RetroArch + + - name: Release + if: github.event_name == 'release' + uses: ncipollo/release-action@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + tag: ${{ github.event.release.tag_name }} + allowUpdates: true + omitNameDuringUpdate: true + omitBody: true + omitPrereleaseDuringUpdate: true + artifacts: webos/*.ipk,webos/*.manifest.json diff --git a/.gitignore b/.gitignore index a29b8ebd83..cce661252b 100644 --- a/.gitignore +++ b/.gitignore @@ -241,6 +241,8 @@ gfx/common/wayland/content-type-v1.h gfx/common/wayland/content-type-v1.c gfx/common/wayland/single-pixel-buffer-v1.h gfx/common/wayland/single-pixel-buffer-v1.c +gfx/common/wayland/xdg-toplevel-icon-v1.h +gfx/common/wayland/xdg-toplevel-icon-v1.c # libretro-common samples libretro-common/samples/streams/rzip/rzip diff --git a/CHANGES.md b/CHANGES.md index 40279c996e..f238d0e75c 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,8 +1,16 @@ # Future +- EMSCRIPTEN: Support suspend screensaver +- EMSCRIPTEN/RWEBCAM: Fix camera driver +- EMSCRIPTEN/RWEBINPUT: Add accelerometer/gyroscope support +- EMSCRIPTEN/RWEBPAD: Add rumble support +- EMSCRIPTEN/RWEBAUDIO: Rewrite driver, set as default audio driver # 1.21.0 - 3DS: Fix unique IDs for newer cores -- 3DS: Fixes +- 3DS: Enable TLS (SSL) +- 3DS: Fix UI freeze when threaded rendering is enabled +- 3DS: Fix crash on load content +- 3DS: Other minor fixes - APPLE: Enable Vulkan emulated mailbox - APPLE: Include b2 core in App Store builds - APPLE: CoreMIDI driver for IOS/MacOS diff --git a/Makefile b/Makefile index ca736ddab3..f197d83b1a 100644 --- a/Makefile +++ b/Makefile @@ -45,7 +45,6 @@ else OBJDIR := $(OBJDIR_BASE)/release CFLAGS ?= -O3 CXXFLAGS ?= -O3 - DEF_FLAGS += -ffast-math endif DEF_FLAGS += -Wall -Wsign-compare @@ -171,7 +170,7 @@ ifneq ($(MOC_HEADERS),) RARCH_OBJ += $(MOC_OBJ) endif -all: info $(TARGET) config.mk +all: $(TARGET) config.mk define INFO ASFLAGS: $(ASFLAGS) diff --git a/Makefile.common b/Makefile.common index c9ed198348..4596b84651 100644 --- a/Makefile.common +++ b/Makefile.common @@ -351,7 +351,6 @@ endif ifeq ($(HAVE_MICROPHONE), 1) DEFINES += -DHAVE_MICROPHONE - OBJ += audio/microphone_driver.o endif ifeq ($(HAVE_REWIND), 1) @@ -1284,6 +1283,7 @@ ifeq ($(HAVE_WAYLAND), 1) gfx/common/wayland_common.o \ gfx/common/wayland/fractional-scale-v1.o \ gfx/common/wayland/viewporter.o \ + gfx/common/wayland/xdg-toplevel-icon-v1.o \ gfx/common/wayland/xdg-shell.o \ gfx/common/wayland/idle-inhibit-unstable-v1.o \ gfx/common/wayland/xdg-decoration-unstable-v1.o \ diff --git a/Makefile.ctr b/Makefile.ctr index d00b4f388c..a4125033f6 100644 --- a/Makefile.ctr +++ b/Makefile.ctr @@ -98,11 +98,10 @@ else HAVE_NETWORKING = 1 HAVE_IFINFO = 1 HAVE_CHEEVOS = 1 - #HAVE_SOCKET_LEGACY = 1 HAVE_THREADS = 1 - #HAVE_SSL = 1 HAVE_BUILTINMBEDTLS = 1 HAVE_CORE_INFO_CACHE = 1 + HAVE_CLOUDSYNC = 1 include Makefile.common CFLAGS += $(DEF_FLAGS) @@ -155,11 +154,7 @@ LIBDIRS := -L. -L$(CTRULIB)/lib ARCH := -march=armv6k -mtune=mpcore -mfloat-abi=hard -marm -mfpu=vfp -mtp=soft -CFLAGS += -mword-relocations \ - -ffast-math \ - $(ARCH) - -#CFLAGS += -Wall +CFLAGS += -mword-relocations $(ARCH) CFLAGS += -DARM11 -D_3DS ifeq ($(strip $(USE_CTRULIB_2)),1) @@ -203,7 +198,7 @@ CFLAGS += -Werror=implicit-function-declaration ASFLAGS := -g $(ARCH) -O3 LDFLAGS += -specs=ctr/3dsx_custom.specs -g $(ARCH) -Wl,-Map,$(notdir $*.map) -CFLAGS += -std=gnu99 -ffast-math +CFLAGS += -std=gnu99 LIB_CORE := LIB_CORE_FULL := @@ -275,7 +270,7 @@ endif .PHONY: $(BUILD) clean all -all: info $(TARGET) +all: $(TARGET) define INFO AR: $(AR) diff --git a/Makefile.ctr.salamander b/Makefile.ctr.salamander index 1c51011ee8..a29a16a6e7 100644 --- a/Makefile.ctr.salamander +++ b/Makefile.ctr.salamander @@ -83,11 +83,7 @@ LIBDIRS := -L. -L$(CTRULIB)/lib ARCH := -march=armv6k -mtune=mpcore -mfloat-abi=hard -marm -mfpu=vfp -mtp=soft -CFLAGS += -mword-relocations \ - -fomit-frame-pointer -ffast-math \ - $(ARCH) - -#CFLAGS += -Wall +CFLAGS += -mword-relocations -fomit-frame-pointer $(ARCH) CFLAGS += -DARM11 -D_3DS ifeq ($(strip $(USE_CTRULIB_2)),1) @@ -115,7 +111,7 @@ CFLAGS += -Werror=implicit-function-declaration ASFLAGS := -g $(ARCH) -O3 LDFLAGS += -specs=ctr/3dsx_custom.specs -g $(ARCH) -Wl,-Map,$(notdir $*.map) -CFLAGS += -std=gnu99 -ffast-math +CFLAGS += -std=gnu99 LIBS := -lctru -lm diff --git a/Makefile.dingux b/Makefile.dingux index 3944c8c271..bed1f6f97f 100644 --- a/Makefile.dingux +++ b/Makefile.dingux @@ -107,7 +107,7 @@ OPK_NAME = retroarch.opk OBJ := LINK := $(CXX) -DEF_FLAGS := -march=mips32 -mtune=mips32r2 -mhard-float -ffast-math -fomit-frame-pointer +DEF_FLAGS := -march=mips32 -mtune=mips32r2 -mhard-float -fomit-frame-pointer DEF_FLAGS += -mplt -mno-shared DEF_FLAGS += -ffunction-sections -fdata-sections DEF_FLAGS += -I. -Ideps -Ideps/stb -DDINGUX=1 -MMD diff --git a/Makefile.dos b/Makefile.dos index 2f36430112..0a88981b62 100644 --- a/Makefile.dos +++ b/Makefile.dos @@ -120,7 +120,7 @@ APP_ICON := pkg/libnx/retroarch.jpg #--------------------------------------------------------------------------------- ARCH := -CFLAGS := -g -Wall -O3 -fcommon -ffast-math -ffunction-sections \ +CFLAGS := -g -Wall -O3 -fcommon -ffunction-sections \ $(ARCH) $(DEFINES) $(INCLUDE_DIRS) CFLAGS += $(INCLUDE) @@ -207,7 +207,7 @@ DEPENDS := $(filter-out libretro_libnx.a,$(DEPENDS_TMP)) #--------------------------------------------------------------------------------- # main targets #--------------------------------------------------------------------------------- -all: info $(OUTPUT) +all: $(OUTPUT) define INFO CC: $(CC) diff --git a/Makefile.emscripten b/Makefile.emscripten index 0d44cb2580..6d7cab21dc 100644 --- a/Makefile.emscripten +++ b/Makefile.emscripten @@ -11,7 +11,7 @@ TARGET_BASE := $(subst .js,,$(TARGET)) OS = Emscripten OBJ := -DEFINES := -DRARCH_INTERNAL -DHAVE_MAIN -DEMSCRIPTEN -DNO_CANVAS_RESIZE +DEFINES := -DRARCH_INTERNAL -DHAVE_MAIN -DEMSCRIPTEN DEFINES += -DHAVE_FILTERS_BUILTIN -DHAVE_ONLINE_UPDATER -DHAVE_UPDATE_ASSETS -DHAVE_UPDATE_CORE_INFO HAVE_PATCH = 1 @@ -27,7 +27,7 @@ HAVE_GLSL = 1 HAVE_SCREENSHOTS = 1 HAVE_REWIND = 1 HAVE_AUDIOMIXER = 1 -HAVE_CC_RESAMPLER = 1 +HAVE_CC_RESAMPLER ?= 1 HAVE_EGL ?= 0 HAVE_OPENGLES = 1 HAVE_RJPEG = 0 @@ -54,8 +54,6 @@ HAVE_BSV_MOVIE = 1 HAVE_CHD ?= 0 HAVE_NETPLAYDISCOVERY ?= 0 -HAVE_AL ?= 1 - # enables pthreads, requires special headers on the web server: # see https://web.dev/articles/coop-coep HAVE_THREADS ?= 0 @@ -63,18 +61,14 @@ HAVE_THREADS ?= 0 # requires HAVE_THREADS HAVE_AUDIOWORKLET ?= 0 -# WARNING -- READ BEFORE ENABLING -# The rwebaudio driver is known to have several audio bugs, such as -# minor crackling, or the entire page freezing/crashing. -# It works perfectly on chrome, but even firefox has really bad audio quality. -# I should also note, the driver on iOS is completely broken (crashes the page). -# You have been warned. -HAVE_RWEBAUDIO ?= 0 +# doesn't work on PROXY_TO_PTHREAD +HAVE_RWEBAUDIO ?= 1 -# whether the browser thread is allowed to block to wait for audio to play, -# may lead to the issues mentioned above. -# currently this variable is only used by audioworklet; -# rwebaudio will always busywait and openal will never busywait. +# requires ASYNC or PROXY_TO_PTHREAD +HAVE_AL ?= 0 + +# whether the browser thread is allowed to block to wait for audio to play, not CPU usage-friendly! +# currently this variable is only used by rwebaudio and audioworklet; openal will never busywait. ALLOW_AUDIO_BUSYWAIT ?= 0 # minimal asyncify; better performance than full asyncify, @@ -106,6 +100,9 @@ ASYNC ?= 0 LTO ?= 0 PTHREAD_POOL_SIZE ?= 4 +ASYNCIFY_ADD ?= dynCall_*,emscripten_mainloop +ASYNCIFY_REMOVE ?= threaded_worker + STACK_SIZE ?= 4194304 INITIAL_HEAP ?= 134217728 @@ -123,7 +120,7 @@ INITIAL_HEAP ?= 134217728 OBJDIR := obj-emscripten -EXPORTED_FUNCTIONS = _main,_malloc,_free,_cmd_savefiles,_cmd_save_state,_cmd_load_state,_cmd_undo_save_state,_cmd_undo_load_state,_cmd_take_screenshot,\ +EXPORTED_FUNCTIONS = _main,_malloc,_free,_cmd_savefiles,_cmd_save_state,_cmd_load_state,_cmd_undo_save_state,_cmd_undo_load_state,_cmd_toggle_fullscreen,_cmd_take_screenshot,\ _cmd_toggle_menu,_cmd_reload_config,_cmd_toggle_grab_mouse,_cmd_toggle_game_focus,_cmd_reset,_cmd_toggle_pause,_cmd_pause,_cmd_unpause,\ _cmd_set_volume,_cmd_set_shader,_cmd_cheat_set_code,_cmd_cheat_get_code,_cmd_cheat_toggle_index,_cmd_cheat_get_code_state,_cmd_cheat_realloc,\ _cmd_cheat_get_size,_cmd_cheat_apply_cheats,EmscriptenSendCommand,EmscriptenReceiveCommandReply @@ -168,7 +165,7 @@ LDFLAGS := -L. --no-heap-copy -s STACK_SIZE=$(STACK_SIZE) -s INITIAL_MEMORY=$(IN -s ALLOW_MEMORY_GROWTH=1 -s EXPORTED_FUNCTIONS="$(EXPORTED_FUNCTIONS)" \ -s MODULARIZE=1 -s EXPORT_ES6=1 -s EXPORT_NAME="libretro_$(subst -,_,$(LIBRETRO))" \ -s DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR=0 \ - -s ENVIRONMENT=web,worker \ + -s ENVIRONMENT=web,worker -s WASM_BIGINT=1 \ --extern-pre-js emscripten/pre.js \ --js-library emscripten/library_rwebcam.js \ --js-library emscripten/library_platform_emscripten.js @@ -193,6 +190,9 @@ endif ifeq ($(HAVE_RWEBAUDIO), 1) LDFLAGS += --js-library emscripten/library_rwebaudio.js DEFINES += -DHAVE_RWEBAUDIO + ifeq ($(PROXY_TO_PTHREAD), 1) + $(error ERROR: RWEBAUDIO is incompatible with PROXY_TO_PTHREAD) + endif endif ifeq ($(HAVE_AUDIOWORKLET), 1) @@ -202,18 +202,24 @@ ifeq ($(HAVE_AUDIOWORKLET), 1) ifeq ($(HAVE_THREADS), 0) $(error ERROR: AUDIOWORKLET requires HAVE_THREADS) endif - ifeq ($(PROXY_TO_PTHREAD), 1) - else ifeq ($(ASYNC), 1) +endif + +ifeq ($(HAVE_AL), 1) + LDFLAGS += -lopenal + DEFINES += -DHAVE_AL +endif + +ifeq ($(PROXY_TO_PTHREAD), 1) +else ifeq ($(ASYNC), 1) +else + DEFINES += -DEMSCRIPTEN_AUDIO_EXTERNAL_BLOCK + ifeq ($(MIN_ASYNC), 1) + DEFINES += -DEMSCRIPTEN_AUDIO_ASYNC_BLOCK else - DEFINES += -DEMSCRIPTEN_AUDIO_EXTERNAL_BLOCK - ifeq ($(MIN_ASYNC), 1) - DEFINES += -DEMSCRIPTEN_AUDIO_ASYNC_BLOCK - else - DEFINES += -DEMSCRIPTEN_AUDIO_FAKE_BLOCK - endif - ifneq ($(ALLOW_AUDIO_BUSYWAIT), 1) - DEFINES += -DEMSCRIPTEN_AUDIO_EXTERNAL_WRITE_BLOCK - endif + DEFINES += -DEMSCRIPTEN_AUDIO_FAKE_BLOCK + endif + ifneq ($(ALLOW_AUDIO_BUSYWAIT), 1) + DEFINES += -DEMSCRIPTEN_AUDIO_EXTERNAL_WRITE_BLOCK endif endif @@ -224,23 +230,18 @@ endif # explanation of some of these defines: # EMSCRIPTEN_AUDIO_EXTERNAL_BLOCK: audio blocking occurs in the main loop instead of in the audio driver functions. # EMSCRIPTEN_AUDIO_EXTERNAL_WRITE_BLOCK: along with above, enables external blocking in the write function. -# ALLOW_AUDIO_BUSYWAIT: write function will busywait. init function may still use an external block. +# EMSCRIPTEN_AUDIO_BUSYWAIT: write function will busywait. init function may still use an external block. # EMSCRIPTEN_AUDIO_ASYNC_BLOCK: external block uses emscripten_sleep (requires MIN_ASYNC). # EMSCRIPTEN_AUDIO_FAKE_BLOCK: external block uses main loop timing (doesn't require asyncify). # when building with either PROXY_TO_PTHREAD or ASYNC (full asyncify), none of the above are required. -ifeq ($(HAVE_AL), 1) - LDFLAGS += -lopenal - DEFINES += -DHAVE_AL -endif - ifeq ($(HAVE_THREADS), 1) LDFLAGS += -pthread -s PTHREAD_POOL_SIZE=$(PTHREAD_POOL_SIZE) CFLAGS += -pthread -s SHARED_MEMORY endif ifeq ($(WASM_WORKERS), 1) - LDFLAGS += -s WASM_WORKERS=2 + LDFLAGS += -s WASM_WORKERS=1 endif ifeq ($(ASYNC), 1) @@ -251,7 +252,7 @@ ifeq ($(ASYNC), 1) endif else ifeq ($(MIN_ASYNC), 1) DEFINES += -DEMSCRIPTEN_ASYNCIFY -DEMSCRIPTEN_MIN_ASYNCIFY - LDFLAGS += -s ASYNCIFY=1 -s ASYNCIFY_STACK_SIZE=8192 -s ASYNCIFY_IGNORE_INDIRECT=1 -s ASYNCIFY_ADD='dynCall_*,emscripten_mainloop' -s ASYNCIFY_REMOVE='threaded_worker' + LDFLAGS += -s ASYNCIFY=1 -s ASYNCIFY_STACK_SIZE=8192 -s ASYNCIFY_IGNORE_INDIRECT=1 -s ASYNCIFY_ADD='$(ASYNCIFY_ADD)' -s ASYNCIFY_REMOVE='$(ASYNCIFY_REMOVE)' ifeq ($(DEBUG), 1) LDFLAGS += -s ASYNCIFY_ADVISE #-s ASYNCIFY_DEBUG=1 endif @@ -297,21 +298,11 @@ all: $(TARGET) $(libretro_new): ; mv_libretro: - mv -f $(libretro) $(libretro_new) || true + $(Q)mv -f $(libretro) $(libretro_new) || true -# until emscripten adds something like WASM_WORKERS=2 but for audio worklets, DIY. -ifeq ($(HAVE_AUDIOWORKLET), 1) $(TARGET): $(RARCH_OBJ) $(libretro_new) mv_libretro @$(if $(Q), $(shell echo echo "LD $@ \ $(libretro_new) $(LIBS) $(LDFLAGS)"),) $(Q)$(LD) -o $@ $(RARCH_OBJ) $(libretro_new) $(LIBS) $(LDFLAGS) - $(Q)tr -d '\n' < "$(TARGET_BASE).aw.js" | sed -e "s/[\/&]/\\\\&/g" -e "s/'/\\\\\\\\&/g" > _audioworklet.js - $(Q)sed -i.bak -e "s/\"$(TARGET_BASE)\.aw\.js\"/URL.createObjectURL(new Blob(['$$(cat _audioworklet.js)'],{type:'text\/javascript'}))/" -- "$@" - $(Q)rm -f "$(TARGET_BASE).aw.js" _audioworklet.js "$@".bak -else -$(TARGET): $(RARCH_OBJ) $(libretro_new) mv_libretro - @$(if $(Q), $(shell echo echo "LD $@ \ $(libretro_new) $(LIBS) $(LDFLAGS)"),) - $(Q)$(LD) -o $@ $(RARCH_OBJ) $(libretro_new) $(LIBS) $(LDFLAGS) -endif $(OBJDIR)/%.o: %.c @mkdir -p $(dir $@) diff --git a/Makefile.libnx b/Makefile.libnx index 7f52f506df..8ce2f937a8 100644 --- a/Makefile.libnx +++ b/Makefile.libnx @@ -127,7 +127,7 @@ APP_ICON := pkg/libnx/retroarch.jpg #--------------------------------------------------------------------------------- ARCH := -march=armv8-a -mtune=cortex-a57 -mtp=soft -fPIE -mcpu=cortex-a57+crc+fp+simd -CFLAGS := -g -Wall -O3 -fcommon -ffast-math -ffunction-sections \ +CFLAGS := -g -Wall -O3 -fcommon -ffunction-sections \ $(ARCH) $(DEFINES) $(INCLUDE_DIRS) -I$(LIBNX)/include -I$(PORTLIBS)/include/ -include $(LIBNX)/include/switch.h #$(shell $(PORTLIBS)/bin/freetype-config --cflags) CFLAGS += $(INCLUDE) -DSWITCH=1 -DHAVE_LIBNX=1 -DNXLINK=1 -DHAVE_SHADERPIPELINE -DHAVE_ONLINE_UPDATER -DHAVE_UPDATE_ASSETS -DHAVE_UPDATE_CORES -DHAVE_UPDATE_CORE_INFO -DHAVE_STB_FONT #-DHAVE_FREETYPE diff --git a/Makefile.miyoo b/Makefile.miyoo index 67c1b73d91..690b3b262a 100644 --- a/Makefile.miyoo +++ b/Makefile.miyoo @@ -118,7 +118,7 @@ TARGET = retroarch OBJ := LINK := $(CXX) -DEF_FLAGS := -march=armv5te -mtune=arm926ej-s -ffast-math -fomit-frame-pointer +DEF_FLAGS := -march=armv5te -mtune=arm926ej-s -fomit-frame-pointer DEF_FLAGS += -ffunction-sections -fdata-sections DEF_FLAGS += -I. -Ideps -Ideps/stb -DMIYOO=1 -DDINGUX -MMD DEF_FLAGS += -Wall -Wno-unused-variable -flto @@ -166,7 +166,7 @@ endif RARCH_OBJ := $(addprefix $(OBJDIR)/,$(OBJ)) -all: info $(TARGET) +all: $(TARGET) define INFO ASFLAGS: $(ASFLAGS) diff --git a/Makefile.ngc b/Makefile.ngc index c733120fbf..a82230c738 100644 --- a/Makefile.ngc +++ b/Makefile.ngc @@ -241,7 +241,7 @@ OBJOUT = -o LINKOUT = -o LINK = $(CXX) -all: info $(EXT_TARGET) +all: $(EXT_TARGET) define INFO CC: $(CC) diff --git a/Makefile.orbis b/Makefile.orbis index b598f715e0..b5bd2f9bf4 100644 --- a/Makefile.orbis +++ b/Makefile.orbis @@ -182,7 +182,7 @@ endif TARGETS := $(TARGET).self -all: info $(TARGETS) +all: $(TARGETS) define INFO CC: $(CC) diff --git a/Makefile.ps2 b/Makefile.ps2 index 1ffe0d1e95..be205a4c74 100644 --- a/Makefile.ps2 +++ b/Makefile.ps2 @@ -94,7 +94,7 @@ LDFLAGS += -L$(PS2DEV)/gsKit/lib -L$(PS2SDK)/ports/lib -L. # Lib cdvd is needed to get proper time LIBS += -lpatches -lgskit -ldmakit -lps2_drivers -lz -lelf-loader -CFLAGS = $(OPTIMIZE_LV) $(DISABLE_WARNINGS) $(DEFINES) -DPS2 -ffast-math -fsingle-precision-constant +CFLAGS = $(OPTIMIZE_LV) $(DISABLE_WARNINGS) $(DEFINES) -DPS2 -fsingle-precision-constant ASFLAGS = $(CFLAGS) EE_OBJS += $(OBJ) @@ -108,7 +108,7 @@ EE_INCS = $(INCDIR) EE_BIN = $(TARGET).elf EE_GPVAL = $(GPVAL) -all: info $(EE_BIN) +all: $(EE_BIN) define INFO EE_BIN: $(EE_BIN) diff --git a/Makefile.ps2.salamander b/Makefile.ps2.salamander index e4984571cd..3e746810e7 100644 --- a/Makefile.ps2.salamander +++ b/Makefile.ps2.salamander @@ -21,7 +21,7 @@ endif INCDIR = -Ilibretro-common/include INCDIR += -I$(PS2SDK)/ports/include -CFLAGS = $(OPTIMIZE_LV) $(DISABLE_WARNINGS) -ffast-math -fsingle-precision-constant +CFLAGS = $(OPTIMIZE_LV) $(DISABLE_WARNINGS) -fsingle-precision-constant ASFLAGS = $(CFLAGS) RARCH_DEFINES += -DPS2 -DIS_SALAMANDER -DRARCH_CONSOLE diff --git a/Makefile.psl1ght b/Makefile.psl1ght index 6350e07cb4..d23b43c708 100644 --- a/Makefile.psl1ght +++ b/Makefile.psl1ght @@ -130,7 +130,7 @@ ifneq ($(V),1) Q := @ endif -all: info $(SELF_TARGET) +all: $(SELF_TARGET) define INFO CXX: $(CXX) @@ -159,11 +159,8 @@ pkg: create-core # $(PACKAGE_FINALIZE) $(PACKAGE_BASENAME).gnpdrm.pkg clean: -ifneq ($(V),1) - @echo RM -else - rm -f $(ELF_TARGET) - rm -f $(OBJ) -endif + @$(if $(Q), echo $@,) + $(Q)rm -f $(ELF_TARGET) + $(Q)rm -f $(OBJ) .PHONY: clean diff --git a/Makefile.psp1 b/Makefile.psp1 index 029411a854..c36be082d7 100644 --- a/Makefile.psp1 +++ b/Makefile.psp1 @@ -16,7 +16,7 @@ else endif INCDIR = deps deps/stb deps/7zip libretro-common/include libretro-common/include/compat/zlib -CFLAGS = $(OPTIMIZE_LV) -ffast-math -fsingle-precision-constant +CFLAGS = $(OPTIMIZE_LV) -fsingle-precision-constant ASFLAGS = $(CFLAGS) RARCH_DEFINES = -DPSP \ diff --git a/Makefile.psp1.salamander b/Makefile.psp1.salamander index 3163f6ee58..5fb1fcc79b 100644 --- a/Makefile.psp1.salamander +++ b/Makefile.psp1.salamander @@ -12,7 +12,7 @@ else endif INCDIR = $(PSPPATH)/include libretro-common/include -CFLAGS = $(OPTIMIZE_LV) -ffast-math -fsingle-precision-constant +CFLAGS = $(OPTIMIZE_LV) -fsingle-precision-constant ASFLAGS = $(CFLAGS) RARCH_DEFINES = -DPSP -DIS_SALAMANDER -DRARCH_CONSOLE diff --git a/Makefile.retrofw b/Makefile.retrofw index fc0a2ddffa..26c837add8 100644 --- a/Makefile.retrofw +++ b/Makefile.retrofw @@ -120,7 +120,7 @@ OPK_NAME = retroarch_retrofw.opk OBJ := LINK := $(CXX) -DEF_FLAGS := -march=mips32 -mtune=mips32 -mhard-float -ffast-math -fomit-frame-pointer +DEF_FLAGS := -march=mips32 -mtune=mips32 -mhard-float -fomit-frame-pointer DEF_FLAGS += -mplt -mno-shared DEF_FLAGS += -ffunction-sections -fdata-sections DEF_FLAGS += -I. -Ideps -Ideps/stb -DDINGUX=1 -DRETROFW=1 -MMD @@ -184,7 +184,7 @@ X-OD-NeedsDownscaling=true endef export DESKTOP_ENTRY -all: info $(TARGET) opk +all: $(TARGET) opk define INFO ASFLAGS: $(ASFLAGS) diff --git a/Makefile.rs90 b/Makefile.rs90 index 58492e5308..58323d3615 100644 --- a/Makefile.rs90 +++ b/Makefile.rs90 @@ -186,7 +186,7 @@ X-OD-NeedsDownscaling=true endef export DESKTOP_ENTRY -all: info $(TARGET) opk +all: $(TARGET) opk define INFO ASFLAGS: $(ASFLAGS) diff --git a/Makefile.vita b/Makefile.vita index ec94f0cbca..eb0db08950 100644 --- a/Makefile.vita +++ b/Makefile.vita @@ -149,7 +149,7 @@ endif ASFLAGS := $(CFLAGS) LDFLAGS := -Wl,-q,--pic-veneer -CFLAGS += -Wall -ffast-math +CFLAGS += -Wall CFLAGS += -DRARCH_INTERNAL -DHAVE_SCREENSHOTS -DRARCH_CONSOLE CFLAGS += -DHAVE_DSP_FILTER CFLAGS += -DHAVE_VIDEO_FILTER @@ -201,7 +201,7 @@ TARGETS := $(TARGET).vpk DEPFLAGS = -MT $@ -MMD -MP -MF $*.Tdepend POSTCOMPILE = mv -f $*.Tdepend $*.depend -all: info $(TARGETS) +all: $(TARGETS) define INFO ASFLAGS: $(ASFLAGS) @@ -274,11 +274,10 @@ $(TARGET).elf: $(OBJ) liblibScePiglet_stub.a vita-pack-vpk -s param.sfo -b $< $@ clean: -ifneq ($(V),1) - rm -f $(OBJ) $(TARGET).elf $(TARGET).elf.unstripped.elf $(TARGET).velf $(TARGET).self param.sfo $(TARGET).vpk - rm -rf deps/Pigs-In-A-Blanket/piglet_stub/libScePiglet - rm -f $(OBJ:.o=.depend) -endif + @$(if $(Q), echo $@,) + $(Q)rm -f $(OBJ) $(TARGET).elf $(TARGET).elf.unstripped.elf $(TARGET).velf $(TARGET).self param.sfo $(TARGET).vpk + $(Q)rm -rf deps/Pigs-In-A-Blanket/piglet_stub/libScePiglet + $(Q)rm -f $(OBJ:.o=.depend) # Useful for developers vpksend: $(TARGET).vpk diff --git a/Makefile.vita.salamander b/Makefile.vita.salamander index 307351e507..0f9f5f1067 100644 --- a/Makefile.vita.salamander +++ b/Makefile.vita.salamander @@ -14,7 +14,7 @@ PREFIX = arm-vita-eabi CC = $(PREFIX)-gcc INCDIR = libretro-common/include -CFLAGS = -Wl,-q $(OPTIMIZE_LV) -I$(INCDIR) -std=gnu99 -mfloat-abi=hard -ffast-math -fsingle-precision-constant -mword-relocations +CFLAGS = -Wl,-q $(OPTIMIZE_LV) -I$(INCDIR) -std=gnu99 -mfloat-abi=hard -fsingle-precision-constant -mword-relocations ASFLAGS = $(CFLAGS) RARCH_DEFINES = -DVITA -DIS_SALAMANDER -DRARCH_CONSOLE diff --git a/Makefile.webos b/Makefile.webos index 4ca35b420c..fafb316a10 100644 --- a/Makefile.webos +++ b/Makefile.webos @@ -5,10 +5,10 @@ ifneq ($(CROSS_COMPILE),arm-webos-linux-gnueabi-) endif ifdef SDKTARGETSYSROOT - $(warning OE-based toolchain isn't supported anymore. Please use https://github.com/webosbrew/native-toolchain) + $(warning "OE-based toolchain isn't supported anymore. Please use https://github.com/webosbrew/native-toolchain") STAGING_DIR = $(SDKTARGETSYSROOT) else ifndef STAGING_DIR - $(error Can't find buildroot based toolchain. Please use https://github.com/webosbrew/native-toolchain) + $(error "Can't find buildroot based toolchain. Please use https://github.com/webosbrew/native-toolchain") endif WEBOS_FREETYPE_CONFIG ?= $(STAGING_DIR)/usr/bin/freetype-config @@ -17,12 +17,12 @@ WEBOS_INC_DIR ?= $(STAGING_DIR)/usr/include WEBOS_LIB_DIR ?= $(STAGING_DIR)/usr/lib ADD_SDL2_LIB ?= 0 -SDL2_PREBUILT_ARCHIVE ?= https://github.com/webosbrew/SDL-webOS/releases/download/release-2.30.0-webos.2/SDL2-2.30.0-webos.tar.gz +SDL2_PREBUILT_ARCHIVE ?= https://github.com/webosbrew/SDL-webOS/releases/download/release-2.30.8-webos.3/SDL2-2.30.8-webos-abi.tar.gz ######################### ######################### -PACKAGE_NAME = com.retroarch +APP_PACKAGE_NAME ?= com.retroarch.webos PACKAGE_VERSION := $(patsubst "%",%,$(RARCH_VERSION)) DEBUG ?= 0 @@ -60,8 +60,8 @@ HAVE_DR_MP3 = 1 HAVE_DYNAMIC = 1 HAVE_DYLIB = 1 HAVE_EGL = 0 -HAVE_FREETYPE = 0 -HAVE_GDI = 1 +HAVE_FREETYPE = 1 +HAVE_GDI = 0 HAVE_GETADDRINFO = 1 HAVE_GETOPT_LONG = 1 HAVE_GLSL = 1 @@ -107,7 +107,7 @@ HAVE_RUNAHEAD = 1 HAVE_SDL = 0 HAVE_SDL2 = 1 HAVE_SHADERPIPELINE = 1 -HAVE_STB_FONT = 1 +HAVE_STB_FONT = 0 HAVE_STB_IMAGE = 1 HAVE_STB_VORBIS = 1 HAVE_STDIN_CMD = 1 @@ -138,9 +138,10 @@ DEF_FLAGS += -ffunction-sections -fdata-sections DEF_FLAGS += -I. -Ideps -Ideps/stb -DWEBOS=1 -MMD DEF_FLAGS += -Wall -Wno-unused-variable LIBS := -ldl -lz -lrt -pthread -CFLAGS := -CXXFLAGS := -fno-exceptions -fno-rtti -std=c++11 -D__STDC_CONSTANT_MACROS -ASFLAGS := +ARCHFLAGS := -mcpu=cortex-a9 -mtune=cortex-a53 -mfloat-abi=softfp +CFLAGS := $(ARCHFLAGS) +CXXFLAGS := $(ARCHFLAGS) -fno-exceptions -fno-rtti -std=c++11 -D__STDC_CONSTANT_MACROS +ASFLAGS := $(ARCHFLAGS) LDFLAGS := -Wl,-rpath=\$$ORIGIN/lib,--gc-sections INCLUDE_DIRS = -I$(WEBOS_INC_DIR) LIBRARY_DIRS = -L$(WEBOS_LIB_DIR) @@ -151,6 +152,8 @@ DEFINES += -DHAVE_FILTERS_BUILTIN DEFINES += -DHAVE_SDL2 DEFINES += -DHAVE_PULSE DEFINES += -DHAVE_NETWORKING -DHAVE_IFINFO -DHAVE_ONLINE_UPDATER -DHAVE_UPDATE_ASSETS -DHAVE_UPDATE_CORES +DEFINES += -DHAVE_NETWORKGAMEPAD +DEFINES += -DHAVE_FREETYPE DEFINES += -DHAVE_UPDATE_CORE_INFO PKG_CONFIG=pkg-config @@ -159,6 +162,10 @@ SDL2_CFLAGS := $(shell $(PKG_CONFIG) --cflags sdl2) SDL2_LIBS := $(shell $(PKG_CONFIG) --libs sdl2) OPENGLES_LIBS = -lGLESv2 PULSE_LIBS = $(shell $(PKG_CONFIG) --libs libpulse) +FREETYPE_CFLAGS := $(shell $(PKG_CONFIG) --cflags freetype2) +FREETYPE_LIBS := $(shell $(PKG_CONFIG) --libs freetype2) +FONTCONFIG_CFLAGS := $(shell $(PKG_CONFIG) --cflags fontconfig) +FONTCONFIG_LIBS := $(shell $(PKG_CONFIG) --libs fontconfig) MMAP_LIBS = -lc NEON_CFLAGS = -mfpu=neon NEON_ASFLAGS = -mfpu=neon @@ -191,7 +198,7 @@ RARCH_OBJ := $(addprefix $(OBJDIR)/,$(OBJ)) define APPINFO { - "id": "$(PACKAGE_NAME)", + "id": "$(APP_PACKAGE_NAME)", "version": "$(PACKAGE_VERSION)", "vendor": "webosbrew.org", "title": "RetroArch", @@ -204,7 +211,7 @@ define APPINFO endef export APPINFO -all: info $(TARGET) ipk +all: $(TARGET) ipk define INFO ASFLAGS: $(ASFLAGS) @@ -285,10 +292,10 @@ endif cd webos && ares-package dist install: ipk - ares-install webos/$(PACKAGE_NAME)_$(PACKAGE_VERSION)_$(ARCH).ipk + ares-install webos/$(APP_PACKAGE_NAME)_$(PACKAGE_VERSION)_$(ARCH).ipk launch: install - ares-launch com.retroarch + ares-launch $(APP_PACKAGE_NAME) .PHONY: all clean ipk diff --git a/Makefile.wii b/Makefile.wii index f25ebff1a7..193036f282 100644 --- a/Makefile.wii +++ b/Makefile.wii @@ -273,7 +273,7 @@ OBJOUT = -o LINKOUT = -o LINK = $(CXX) -all: info $(EXT_TARGET) +all: $(EXT_TARGET) define INFO CC: $(CC) diff --git a/Makefile.wiiu b/Makefile.wiiu index ee66630887..1c457bcf26 100644 --- a/Makefile.wiiu +++ b/Makefile.wiiu @@ -203,7 +203,7 @@ INCDIRS += -Iwiiu INCDIRS += -Iwiiu/include CFLAGS := -mcpu=750 -meabi -mhard-float -CFLAGS += -ffast-math -Werror=implicit-function-declaration +CFLAGS += -Werror=implicit-function-declaration CFLAGS += -ffunction-sections -fdata-sections #CFLAGS += -fomit-frame-pointer -mword-relocations CFLAGS += -Wall @@ -302,7 +302,7 @@ endif DEPFLAGS = -MT $@ -MMD -MP -MF $(BUILD_DIR)/$*.depend -all: info $(TARGETS) +all: $(TARGETS) define INFO AR: $(AR) diff --git a/Makefile.win b/Makefile.win index b08980bcf5..ec1b9dfb69 100644 --- a/Makefile.win +++ b/Makefile.win @@ -132,8 +132,8 @@ ifeq ($(DEBUG), 1) CFLAGS += -O0 -g CXXFLAGS += -O0 -g else - CFLAGS += -O3 -ffast-math - CXXFLAGS += -O3 -ffast-math + CFLAGS += -O3 + CXXFLAGS += -O3 endif CFLAGS += $(DEF_FLAGS) -Wall -Wno-unused-result -Wno-unused-variable -I. -Ideps diff --git a/audio/audio_defines.h b/audio/audio_defines.h index ca2a8e162a..67ef8c75dd 100644 --- a/audio/audio_defines.h +++ b/audio/audio_defines.h @@ -21,23 +21,11 @@ RETRO_BEGIN_DECLS -#define AUDIO_CHUNK_SIZE_BLOCKING 512 - -/* So we don't get complete line-noise when fast-forwarding audio. */ -#define AUDIO_CHUNK_SIZE_NONBLOCKING 2048 - -#define AUDIO_MAX_RATIO 16 -#define AUDIO_MIN_RATIO 0.0625 - #define AUDIO_MIXER_MAX_STREAMS 16 #define AUDIO_MIXER_MAX_SYSTEM_STREAMS (AUDIO_MIXER_MAX_STREAMS + 8) -/* Fastforward timing calculations running average samples. Helps with a -consistent pitch when fast-forwarding. */ -#define AUDIO_FF_EXP_AVG_SAMPLES 16 - -/* do not define more than (MAX_SYSTEM_STREAMS - MAX_STREAMS) */ +/* Do not define more than (MAX_SYSTEM_STREAMS - MAX_STREAMS) */ enum audio_mixer_system_slot { AUDIO_MIXER_SYSTEM_SLOT_OK = AUDIO_MIXER_MAX_STREAMS, diff --git a/audio/audio_driver.c b/audio/audio_driver.c index f6448633d6..0009a13fa0 100644 --- a/audio/audio_driver.c +++ b/audio/audio_driver.c @@ -1,7 +1,8 @@ /** * RetroArch - A frontend for libretro. * Copyright (C) 2010-2014 - Hans-Kristian Arntzen - * Copyright (C) 2011-2017 - Daniel De Matteis + * Copyright (C) 2011-2025 - Daniel De Matteis + * Copyright (C) 2023-2025 - Jesse Talavera-Greenberg * * RetroArch is free software: you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free @@ -18,9 +19,11 @@ **/ #include +#include #include "audio_driver.h" +#include #include #include #include @@ -28,6 +31,7 @@ #include #include