Skip to content

Commit 45cb834

Browse files
authored
Merge branch 'libretro:master' into warmenhoven/pr/viewport
2 parents bfbcbbd + 2ca4159 commit 45cb834

453 files changed

Lines changed: 64476 additions & 2619 deletions

File tree

Some content is hidden

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

.github/workflows/MSYS2.yml

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,21 @@ jobs:
1414
strategy:
1515
fail-fast: false
1616
matrix:
17-
sys: [MINGW64, UCRT64,CLANG64]
18-
runs-on: windows-latest
17+
include:
18+
# Existing x64 builds
19+
- sys: MINGW64
20+
runner: windows-latest
21+
- sys: UCRT64
22+
runner: windows-latest
23+
- sys: CLANG64
24+
runner: windows-latest
25+
26+
# New ARM64 build (native Windows on ARM)
27+
- sys: CLANGARM64
28+
runner: windows-11-arm
29+
30+
runs-on: ${{ matrix.runner }}
31+
1932
steps:
2033
- name: Checkout repository
2134
uses: actions/checkout@v4
@@ -25,7 +38,9 @@ jobs:
2538
with:
2639
msystem: ${{ matrix.sys }}
2740
update: true
28-
install: base-devel git
41+
install: >-
42+
base-devel
43+
git
2944
pacboy: >-
3045
gettext:p
3146
gobject-introspection:p
@@ -57,17 +72,18 @@ jobs:
5772
- name: Configure and build RetroArch
5873
shell: msys2 {0}
5974
run: |
60-
echo "Building RetroArch in ${{ matrix.sys }} environment"
75+
echo "Building RetroArch in ${{ matrix.sys }} on ${{ matrix.runner }}"
6176
./configure
62-
make -j$(nproc) info all
77+
make -j"$(nproc)" info all
6378
6479
- name: Collect DLLs and binaries
6580
shell: msys2 {0}
6681
run: |
6782
echo "Collecting DLLs and binaries"
83+
rm -rf dist
6884
mkdir -p dist
6985
cp retroarch.exe dist/
70-
ldd retroarch.exe|grep $MINGW_PREFIX |awk '{print $3}'|xargs -I {} cp {} dist/
86+
ldd retroarch.exe | grep "$MINGW_PREFIX" | awk '{print $3}' | xargs -I {} cp {} dist/ || true
7187
7288
- name: Archive build artifacts
7389
if: success()
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: CI Windows ARM64 (MSVC)
2+
3+
on:
4+
push:
5+
pull_request:
6+
repository_dispatch:
7+
types: [run_build]
8+
9+
permissions:
10+
contents: read
11+
12+
env:
13+
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
14+
15+
jobs:
16+
msvc:
17+
runs-on: windows-11-arm
18+
strategy:
19+
matrix:
20+
version: [2022]
21+
configuration: [Debug, Release]
22+
platform: [ARM64]
23+
24+
steps:
25+
- uses: actions/checkout@v4
26+
27+
- name: Add msbuild to PATH
28+
uses: microsoft/setup-msbuild@v1
29+
30+
- name: Compile RA
31+
working-directory: "${{ github.workspace }}/pkg/msvc"
32+
run: |
33+
msbuild -p:"Configuration=${{ matrix.configuration }}" -p:"Platform=${{ matrix.platform }}" .\RetroArch-msvc${{ matrix.version }}.sln
34+
35+
- name: Get short SHA
36+
id: slug
37+
shell: powershell
38+
run: echo "sha8=$('${{ github.sha }}'.Substring(0,8))" >> $env:GITHUB_OUTPUT
39+
40+
- uses: actions/upload-artifact@v4
41+
with:
42+
name: retroarch-${{ matrix.version }}-${{ matrix.configuration }}-${{ matrix.platform }}-${{ steps.slug.outputs.sha8 }}
43+
path: |
44+
pkg/msvc/${{ matrix.platform }}/${{ matrix.configuration }}/RetroArch-msvc${{ matrix.version }}.exe

.github/workflows/webOS.yml

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -68,28 +68,32 @@ jobs:
6868
RARCH_VERSION=$(grep -Po '(?<=#define PACKAGE_VERSION ")[^"]+' version.all)
6969
echo "RARCH_VERSION=$RARCH_VERSION" >> "$GITHUB_ENV"
7070
71-
- name: Compile RA (GLES3 variant)
71+
- name: Compile RA (GLES3 and Wayland variant)
7272
shell: bash
7373
run: |
7474
. /tmp/arm-webos-linux-gnueabi_sdk-buildroot/environment-setup
75+
export SDK_PATH=/tmp/arm-webos-linux-gnueabi_sdk-buildroot
7576
make -f Makefile.webos clean
77+
bash gfx/common/wayland/generate_wayland_protos.sh
7678
make -f Makefile.webos ipk PACKAGE_NAME=${PACKAGE_NAME} ADD_SDL2_LIB=1 \
79+
HAVE_XKBCOMMON=1 HAVE_USERLAND=1 HAVE_EGL=1 HAVE_WAYLAND=1 \
7780
HAVE_OPENGLES3=1 HAVE_OPENGLES3_1=1 HAVE_OPENGLES3_2=1 -j"$(getconf _NPROCESSORS_ONLN)"
7881
mv webos/com.retroarch.webos_${RARCH_VERSION}_arm.ipk \
79-
webos/com.retroarch.webos.gles3_${RARCH_VERSION}_arm.ipk
82+
webos/com.retroarch.webos.gles3w_${RARCH_VERSION}_arm.ipk
8083
env:
8184
DEBUG: ${{ github.event_name == 'release' && '0' || '1' }}
8285

83-
- name: Upload GLES3 artifact
86+
- name: Upload GLES3 and Wayland artifact
8487
uses: actions/upload-artifact@v4
8588
with:
86-
name: com.retroarch.webos.gles3_${{ env.RARCH_VERSION }}_${{ github.sha }}_arm.ipk
87-
path: webos/com.retroarch.webos.gles3_${{ env.RARCH_VERSION }}_arm.ipk
89+
name: com.retroarch.webos.gles3w_${{ env.RARCH_VERSION }}_${{ github.sha }}_arm.ipk
90+
path: webos/com.retroarch.webos.gles3w_${{ env.RARCH_VERSION }}_arm.ipk
8891

8992
- name: Compile RA (default)
9093
shell: bash
9194
run: |
9295
. /tmp/arm-webos-linux-gnueabi_sdk-buildroot/environment-setup
96+
make -f Makefile.webos clean
9397
make -f Makefile.webos ipk PACKAGE_NAME=${PACKAGE_NAME} ADD_SDL2_LIB=1 -j"$(getconf _NPROCESSORS_ONLN)"
9498
env:
9599
DEBUG: ${{ github.event_name == 'release' && '0' || '1' }}
@@ -121,5 +125,5 @@ jobs:
121125
omitPrereleaseDuringUpdate: true
122126
artifacts: |
123127
webos/com.retroarch.webos_${{ env.RARCH_VERSION }}_arm.ipk
124-
webos/com.retroarch.webos.gles3_${{ env.RARCH_VERSION }}_arm.ipk
128+
webos/com.retroarch.webos.gles3w_${{ env.RARCH_VERSION }}_arm.ipk
125129
webos/${{ env.PACKAGE_NAME }}.manifest.json

.gitignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,14 @@ gfx/common/wayland/single-pixel-buffer-v1.h
242242
gfx/common/wayland/single-pixel-buffer-v1.c
243243
gfx/common/wayland/xdg-toplevel-icon-v1.h
244244
gfx/common/wayland/xdg-toplevel-icon-v1.c
245+
gfx/common/wayland/webos-foreign.c
246+
gfx/common/wayland/webos-foreign.h
247+
gfx/common/wayland/webos-input-manager.c
248+
gfx/common/wayland/webos-input-manager.h
249+
gfx/common/wayland/webos-shell.c
250+
gfx/common/wayland/webos-shell.h
251+
gfx/common/wayland/webos-surface-group.c
252+
gfx/common/wayland/webos-surface-group.h
245253

246254
# libretro-common samples
247255
libretro-common/samples/streams/rzip/rzip

.gitlab-ci.yml

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,29 @@ build-retroarch-linux-i686:
327327
- "cd gfx/video_filters && make -j$NUMPROC build=release && make -j$NUMPROC build=release strip && cd -"
328328
- "cp -f gfx/video_filters/*.so ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
329329
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
330-
330+
331+
build-retroarch-webos-armv7a:
332+
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-webos:latest
333+
stage: build
334+
variables:
335+
MEDIA_PATH: .media
336+
before_script:
337+
- export NUMPROC=$(($(nproc)/3))
338+
- . /developer/arm-webos-linux-gnueabi_sdk-buildroot/environment-setup
339+
artifacts:
340+
paths:
341+
- retroarch
342+
- ${MEDIA_PATH}
343+
expire_in: 10 min
344+
dependencies: []
345+
script:
346+
- make -f Makefile.webos retroarch -j$NUMPROC
347+
- arm-webos-linux-gnueabi-strip --strip-unneeded retroarch
348+
- mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio
349+
- mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video
350+
- cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio
351+
- cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video
352+
331353
.build-retroarch-macos-xcode:
332354
# Metal/Universal x86_64 arm64 is default
333355
tags:

CONTRIBUTING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
If you are a developer who wishes to contribute to the development of _RetroArch_; or if you have
44
found a bug and wish to submit a minor patch and/or bug report, please read this document.
55

6-
Active discussions happen on our [Discord](https://discordapp.com/invite/27Xxm2h), mostly within
6+
Active discussions happen on our [Discord](https://discord.gg/C4amCeV), mostly within
77
the _Programming_ channel category. We value discussions that happen in real time around
88
these contributions.
99

@@ -64,7 +64,7 @@ may be merged in when it is fully approved. The final approval of merge requests
6464
discretion of the project.
6565

6666
If you want to develop a larger feature or make broad changes, please do join our
67-
[Discord](https://discordapp.com/invite/27Xxm2h) server to discuss. The discussion is
67+
[Discord](https://discord.gg/C4amCeV) server to discuss. The discussion is
6868
necessary to prevent the possibility of major work being done which will not be accepted at all.
6969

7070
## libretro API

Makefile.common

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1289,6 +1289,16 @@ ifeq ($(HAVE_WAYLAND), 1)
12891289
OBJ += gfx/drivers_context/wayland_vk_ctx.o
12901290
endif
12911291

1292+
ifeq ($(WEBOS), 1)
1293+
OBJ += input/common/wayland_common_webos.o
1294+
OBJ += gfx/common/wayland/webos-shell.o
1295+
ifeq ($(HAVE_WEBOS_EXTRA_PROTOS), 1)
1296+
OBJ += gfx/common/wayland/webos-foreign.o
1297+
OBJ += gfx/common/wayland/webos-input-manager.o
1298+
OBJ += gfx/common/wayland/webos-surface-group.o
1299+
endif
1300+
endif
1301+
12921302
DEF_FLAGS += $(WAYLAND_CFLAGS) $(WAYLAND_CURSOR_CFLAGS)
12931303
LIBS += $(WAYLAND_LIBS) $(WAYLAND_CURSOR_LIBS)
12941304

@@ -2698,6 +2708,96 @@ ifeq ($(HAVE_TEST_DRIVERS), 1)
26982708
OBJ += input/drivers/test_input.o
26992709
endif
27002710

2711+
ifneq (,$(filter 1,$(HAVE_SMBCLIENT) $(HAVE_BUILTINSMBCLIENT)))
2712+
DEFINES += -DHAVE_SMBCLIENT
2713+
2714+
ifeq ($(HAVE_SMBCLIENT),1)
2715+
# system libsmb2
2716+
ifeq ($(shell pkg-config --exists libsmb2 && echo yes),yes)
2717+
CFLAGS += $(shell pkg-config --cflags libsmb2)
2718+
LIBS += $(shell pkg-config --libs libsmb2)
2719+
else
2720+
LIBS += -lsmb2
2721+
endif
2722+
else ifeq ($(HAVE_BUILTINSMBCLIENT),1)
2723+
# builtin libsmb2
2724+
ifneq ($(findstring Win32,$(OS)),)
2725+
CFLAGS += -D_WINDOWS -DWIN32_LEAN_AND_MEAN
2726+
CFLAGS += -DNEED_RANDOM -DNEED_SRANDOM -DNEED_GETLOGIN_R
2727+
endif
2728+
INCLUDE_DIRS += -I$(DEPS_DIR)/libsmb2/include
2729+
INCLUDE_DIRS += -I$(DEPS_DIR)/libsmb2/include/smb2
2730+
CFLAGS += "-D_U_=__attribute__((unused))"
2731+
CFLAGS += -DHAVE_TIME_H -DHAVE_FCNTL_H -DHAVE_UNISTD_H
2732+
CFLAGS += -DHAVE_STDLIB_H -DSTDC_HEADERS
2733+
CFLAGS += -DHAVE_STRING_H
2734+
CFLAGS += -DHAVE_LINGER
2735+
ifeq ($(findstring Win32,$(OS)),)
2736+
CFLAGS += -DHAVE_SYS_UIO_H
2737+
CFLAGS += -DHAVE_POLL_H -DHAVE_NETDB_H
2738+
CFLAGS += -DHAVE_NETINET_TCP_H -DHAVE_NETINET_IN_H
2739+
CFLAGS += -DHAVE_SYS_SOCKET_H -DHAVE_ARPA_INET_H
2740+
endif
2741+
OBJ += \
2742+
deps/libsmb2/lib/aes.o \
2743+
deps/libsmb2/lib/aes_apple.o \
2744+
deps/libsmb2/lib/aes128ccm.o \
2745+
deps/libsmb2/lib/asn1-ber.o \
2746+
deps/libsmb2/lib/aes_reference.o \
2747+
deps/libsmb2/lib/alloc.o \
2748+
deps/libsmb2/lib/compat.o \
2749+
deps/libsmb2/lib/dcerpc.o \
2750+
deps/libsmb2/lib/dcerpc-lsa.o \
2751+
deps/libsmb2/lib/dcerpc-srvsvc.o \
2752+
deps/libsmb2/lib/errors.o \
2753+
deps/libsmb2/lib/hmac.o \
2754+
deps/libsmb2/lib/hmac-md5.o \
2755+
deps/libsmb2/lib/init.o \
2756+
deps/libsmb2/lib/krb5-wrapper.o \
2757+
deps/libsmb2/lib/libsmb2.o \
2758+
deps/libsmb2/lib/md4c.o \
2759+
deps/libsmb2/lib/md5.o \
2760+
deps/libsmb2/lib/ntlmssp.o \
2761+
deps/libsmb2/lib/pdu.o \
2762+
deps/libsmb2/lib/sha1.o \
2763+
deps/libsmb2/lib/sha224-256.o \
2764+
deps/libsmb2/lib/sha384-512.o \
2765+
deps/libsmb2/lib/smb2-cmd-close.o \
2766+
deps/libsmb2/lib/smb2-cmd-create.o \
2767+
deps/libsmb2/lib/smb2-cmd-echo.o \
2768+
deps/libsmb2/lib/smb2-cmd-error.o \
2769+
deps/libsmb2/lib/smb2-cmd-flush.o \
2770+
deps/libsmb2/lib/smb2-cmd-ioctl.o \
2771+
deps/libsmb2/lib/smb2-cmd-lock.o \
2772+
deps/libsmb2/lib/smb2-cmd-logoff.o \
2773+
deps/libsmb2/lib/smb2-cmd-negotiate.o \
2774+
deps/libsmb2/lib/smb2-cmd-oplock-break.o \
2775+
deps/libsmb2/lib/smb2-cmd-notify-change.o \
2776+
deps/libsmb2/lib/smb2-cmd-query-directory.o \
2777+
deps/libsmb2/lib/smb2-cmd-query-info.o \
2778+
deps/libsmb2/lib/smb2-cmd-read.o \
2779+
deps/libsmb2/lib/smb2-cmd-session-setup.o \
2780+
deps/libsmb2/lib/smb2-cmd-set-info.o \
2781+
deps/libsmb2/lib/smb2-cmd-tree-connect.o \
2782+
deps/libsmb2/lib/smb2-cmd-tree-disconnect.o \
2783+
deps/libsmb2/lib/smb2-cmd-write.o \
2784+
deps/libsmb2/lib/smb2-data-file-info.o \
2785+
deps/libsmb2/lib/smb2-data-filesystem-info.o \
2786+
deps/libsmb2/lib/smb2-data-security-descriptor.o \
2787+
deps/libsmb2/lib/smb2-data-reparse-point.o \
2788+
deps/libsmb2/lib/smb2-share-enum.o \
2789+
deps/libsmb2/lib/smb2-signing.o \
2790+
deps/libsmb2/lib/smb3-seal.o \
2791+
deps/libsmb2/lib/socket.o \
2792+
deps/libsmb2/lib/spnego-wrapper.o \
2793+
deps/libsmb2/lib/sync.o \
2794+
deps/libsmb2/lib/timestamps.o \
2795+
deps/libsmb2/lib/usha.o \
2796+
deps/libsmb2/lib/unicode.o
2797+
endif
2798+
2799+
OBJ += $(LIBRETRO_COMM_DIR)/vfs/vfs_implementation_smb.o
2800+
endif
27012801

27022802
#####################################
27032803
### Android Play Feature Delivery ###

0 commit comments

Comments
 (0)