ci: test PVR_PSP2 (gles/gl) and gib (gles)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
diff --git a/.github/workflows/vita.yaml b/.github/workflows/vita.yaml
index ac3b17c..b9f998d 100644
--- a/.github/workflows/vita.yaml
+++ b/.github/workflows/vita.yaml
@@ -8,19 +8,61 @@ defaults:
jobs:
vita:
+ name: ${{ matrix.platform.name }}
runs-on: ubuntu-latest
container:
image: vitasdk/vitasdk:latest
+ strategy:
+ fail-fast: false
+ matrix:
+ platform:
+ - { name: GLES (pib), os: windows-latest, pib: true }
+ - { name: GLES (PVR_PSP2 + gl4es4vita), os: windows-latest, pvr: true }
steps:
- uses: actions/checkout@v3
- name: Install build requirements
run: |
apk update
apk add cmake ninja pkgconf bash
+
+ - name: Configure PVR_PSP2 (GLES)
+ if: ${{ !!matrix.platform.pvr }}
+ run: |
+ pvr_psp2_version=3.9
+
+ # Configure PVR_PSP2 headers
+ wget https://github.com/GrapheneCt/PVR_PSP2/archive/refs/tags/v$pvr_psp2_version.zip -P/tmp
+ unzip /tmp/v$pvr_psp2_version.zip -d/tmp
+ cp -r /tmp/PVR_PSP2-$pvr_psp2_version/include/* ${VITASDK}/arm-vita-eabi/include
+ rm /tmp/v$pvr_psp2_version.zip
+
+ # Configure PVR_PSP2 stub libraries
+ wget https://github.com/GrapheneCt/PVR_PSP2/releases/download/v$pvr_psp2_version/vitasdk_stubs.zip -P/tmp
+ unzip /tmp/vitasdk_stubs.zip -d/tmp/pvr_psp2_stubs
+ find /tmp/pvr_psp2_stubs -type f -name "*.a" -exec cp {} ${VITASDK}/arm-vita-eabi/lib \;
+ rm /tmp/vitasdk_stubs.zip
+ rm -rf /tmp/pvr_psp2_stubs
+
+ - name: Configure gl4es4vita (OpenGL)
+ if: ${{ !!matrix.platform.pvr }}
+ run: |
+ gl4es4vita_version=1.1.4
+
+ # Configure gl4es4vita headers
+ wget https://github.com/SonicMastr/gl4es4vita/releases/download/v$gl4es4vita_version-vita/include.zip -P/tmp
+ unzip -o /tmp/include.zip -d${VITASDK}/arm-vita-eabi/include
+ rm /tmp/include.zip
+
+ # Configure gl4es4vita stub libraries
+ wget https://github.com/SonicMastr/gl4es4vita/releases/download/v$gl4es4vita_version-vita/vitasdk_stubs.zip -P/tmp
+ unzip /tmp/vitasdk_stubs.zip -d${VITASDK}/arm-vita-eabi/lib
+
- name: Configure CMake
run: |
cmake -S . -B build -G Ninja \
-DCMAKE_TOOLCHAIN_FILE=${VITASDK}/share/vita.toolchain.cmake \
+ -DVIDEO_VITA_PIB=${{ !!matrix.platform.pib }} \
+ -DVIDEO_VITA_PVR=${{ !!matrix.platform.pvr }} \
-DSDL_WERROR=ON \
-DSDL_TESTS=ON \
-DSDL_INSTALL_TESTS=ON \