Use Vulkan Headers submodule

Fix CI
This commit is contained in:
DH 2025-04-07 17:24:10 +03:00
parent 15dc2af7bd
commit 4fff69a55f
9 changed files with 32 additions and 31 deletions

View file

@ -1,8 +1,6 @@
#!/bin/sh -ex
if [ -z "$CIRRUS_CI" ]; then
cd rpcs3/rpcs3 || exit 1
fi
cd rpcs3/rpcs3 || exit 1
git config --global --add safe.directory '*'
@ -25,7 +23,7 @@ fi
export CFLAGS="$CFLAGS -fuse-ld=${LINKER}"
export CXXFLAGS="$CXXFLAGS -fuse-ld=${LINKER}"
cmake .. \
cmake -B build \
-DCMAKE_INSTALL_PREFIX=/usr \
-DUSE_NATIVE_INSTRUCTIONS=OFF \
-DUSE_PRECOMPILED_HEADERS=OFF \
@ -40,13 +38,14 @@ cmake .. \
-DOpenGL_GL_PREFERENCE=LEGACY \
-DLLVM_DIR=/opt/llvm/lib/cmake/llvm \
-DSTATIC_LINK_LLVM=ON \
-DWITH_RPCSX=off \
-DWITH_RPCS3=on \
-DWITH_RPCS3_QT_UI=on \
-G Ninja
ninja; build_status=$?;
cmake --build build; build_status=$?;
cd ..
shellcheck ../.ci/*.sh
shellcheck .ci/*.sh
# If it compiled succesfully let's deploy.
# Azure and Cirrus publish PRs as artifacts only.
@ -54,5 +53,5 @@ shellcheck ../.ci/*.sh
} && SHOULD_DEPLOY="true" || SHOULD_DEPLOY="false"
if [ "$build_status" -eq 0 ] && [ "$SHOULD_DEPLOY" = "true" ]; then
../.ci/deploy-linux.sh "aarch64"
.ci/deploy-linux.sh "aarch64"
fi

View file

@ -1,8 +1,6 @@
#!/bin/sh -ex
if [ -z "$CIRRUS_CI" ]; then
cd rpcs3/rpcs3 || exit 1
fi
cd rpcs3/ || exit 1
git config --global --add safe.directory '*'
@ -11,8 +9,6 @@ git config --global --add safe.directory '*'
# shellcheck disable=SC2046
git submodule -q update --init $(awk '/path/ && !/llvm/ && !/opencv/ { print $3 }' .gitmodules)
mkdir build && cd build || exit 1
if [ "$COMPILER" = "gcc" ]; then
# These are set in the dockerfile
export CC="${GCC_BINARY}"
@ -32,7 +28,7 @@ fi
export CFLAGS="$CFLAGS -fuse-ld=${LINKER}"
cmake .. \
cmake -B build \
-DCMAKE_INSTALL_PREFIX=/usr \
-DUSE_NATIVE_INSTRUCTIONS=OFF \
-DUSE_PRECOMPILED_HEADERS=OFF \
@ -49,13 +45,14 @@ cmake .. \
-DOpenGL_GL_PREFERENCE=LEGACY \
-DLLVM_DIR=/opt/llvm/lib/cmake/llvm \
-DSTATIC_LINK_LLVM=ON \
-DWITH_RPCSX=off \
-DWITH_RPCS3=on \
-DWITH_RPCS3_QT_UI=on \
-G Ninja
ninja; build_status=$?;
cmake --build build; build_status=$?;
cd ..
shellcheck ../.ci/*.sh
shellcheck .ci/*.sh
# If it compiled succesfully let's deploy.
# Azure and Cirrus publish PRs as artifacts only.
@ -63,5 +60,5 @@ shellcheck ../.ci/*.sh
} && SHOULD_DEPLOY="true" || SHOULD_DEPLOY="false"
if [ "$build_status" -eq 0 ] && [ "$SHOULD_DEPLOY" = "true" ]; then
../.ci/deploy-linux.sh "x86_64"
.ci/deploy-linux.sh "x86_64"
fi

View file

@ -37,7 +37,7 @@ if [ "$DEPLOY_APPIMAGE" = "true" ]; then
APPIMAGE_SUFFIX="linux64"
fi
COMM_TAG=$(awk '/version{.*}/ { printf("%d.%d.%d", $5, $6, $7) }' ../rpcs3/rpcs3_version.cpp)
COMM_TAG=$(awk '/version{.*}/ { printf("%d.%d.%d", $5, $6, $7) }' ../rpcs3/rpcs3/rpcs3_version.cpp)
COMM_COUNT="$(git rev-list --count HEAD)"
COMM_HASH="$(git rev-parse --short=8 HEAD)"
RPCS3_APPIMAGE="rpcs3-v${COMM_TAG}-${COMM_COUNT}-${COMM_HASH}_${APPIMAGE_SUFFIX}.AppImage"

View file

@ -15,7 +15,7 @@ mkdir ./rpcs3/bin/config
mkdir ./rpcs3/bin/config/input_configs
curl -fsSL 'https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt' 1> ./rpcs3/bin/config/input_configs/gamecontrollerdb.txt
curl -fsSL 'https://rpcs3.net/compatibility?api=v1&export' | iconv -t UTF-8 1> ./rpcs3/bin/GuiConfigs/compat_database.dat
cp -rf ./rpcs3/build-msvc/bin/ ./rpcs3/bin/
cp -rf ./build-msvc/bin/ ./rpcs3/bin/
# Download SSL certificate (not needed with CURLSSLOPT_NATIVE_CA)
#curl -fsSL 'https://curl.haxx.se/ca/cacert.pem' 1> ./bin/cacert.pem

View file

@ -36,7 +36,7 @@ jobs:
docker_img: "rpcs3/rpcs3-ci-jammy-aarch64:1.4"
build_sh: "rpcs3/.ci/build-linux-aarch64.sh"
compiler: clang
name: RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }}
name: RPCS3 QT UI for Linux ${{ matrix.os }} ${{ matrix.compiler }}
runs-on: ${{ matrix.os }}
env:
CCACHE_DIR: ${{ github.workspace }}/ccache
@ -74,12 +74,12 @@ jobs:
- name: Upload artifacts
uses: actions/upload-artifact@main
with:
name: RPCS3 for Linux (${{ runner.arch }}, ${{ matrix.compiler }})
name: RPCS3 QT UI for Linux (${{ runner.arch }}, ${{ matrix.compiler }})
path: ${{ env.BUILD_ARTIFACTSTAGINGDIRECTORY }}/*.AppImage
compression-level: 0
Windows_Build:
name: RPCS3 Windows
name: RPCS3 QT UI Windows
runs-on: windows-2025
env:
COMPILER: msvc
@ -139,11 +139,10 @@ jobs:
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@main
- name: Compile RPCS3
- name: Compile RPCS3 QT UI
run: |
cd rpcs3
cmake --preset msvc -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DQt6_DIR="$QTDIR"
cmake --build --preset msvc-release
cmake -B build-msvc -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DWITH_RPCSX=off -DWITH_RPCS3=on -DWITH_RPCS3_QT_UI=on -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DCMAKE_INSTALL_PREFIX="${sourceDir}/out/install/${presetName}" -DUSE_NATIVE_INSTRUCTIONS=on -DUSE_PRECOMPILED_HEADERS=on -DUSE_FAUDIO=off -DUSE_SYSTEM_CURL=off -DUSE_SYSTEM_ZLIB=off -DUSE_SYSTEM_OPENAL=off -DUSE_SYSTEM_OPENCV=off -DBUILD_LLVM=on -DSTATIC_LINK_LLVM=on
cmake --build build-msvc --config Release
- name: Pack up build artifacts
run: |
@ -153,7 +152,7 @@ jobs:
- name: Upload artifacts (7z)
uses: actions/upload-artifact@main
with:
name: RPCS3 for Windows (MSVC)
name: RPCS3 QT UI for Windows (MSVC)
path: ${{ env.BUILD_ARTIFACTSTAGINGDIRECTORY }}
compression-level: 0
if-no-files-found: error

3
.gitmodules vendored
View file

@ -135,3 +135,6 @@
[submodule "3rdparty/libadrenotools"]
path = rpcs3/3rdparty/libadrenotools
url = ../../bylaws/libadrenotools.git
[submodule "3rdparty/Vulkan-Headers"]
path = 3rdparty/Vulkan-Headers
url = ../../KhronosGroup/Vulkan-Headers.git

View file

@ -5,8 +5,8 @@ if(NOT xbyak_FOUND)
endif()
add_subdirectory(SPIRV-Headers)
add_subdirectory(SPIRV-Tools)
add_subdirectory(Vulkan-Headers)
option(SPIRV_CROSS_SHARED "" off)
option(SPIRV_CROSS_STATIC "" on)

1
3rdparty/Vulkan-Headers vendored Submodule

@ -0,0 +1 @@
Subproject commit 5ceb9ed481e58e705d0d9b5326537daedd06b97d

View file

@ -652,6 +652,8 @@ target_link_libraries(rpcs3_emu
3rdparty::opengl 3rdparty::stblib
3rdparty::vulkan 3rdparty::glew
3rdparty::libusb 3rdparty::wolfssl
Vulkan::Headers
PRIVATE
3rdparty::glslang
)