mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-28 13:28:01 +03:00
MoltenVK as a submodule
This commit is contained in:
parent
563af4211a
commit
b5db0d0397
5 changed files with 54 additions and 6 deletions
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/sh -ex
|
#!/bin/sh -ex
|
||||||
|
|
||||||
brew update
|
brew update
|
||||||
brew install llvm@13 molten-vk vulkan-headers sdl2 nasm qt@5 ninja cmake glew git p7zip create-dmg ccache
|
brew install llvm@13 sdl2 nasm qt@5 ninja cmake glew git p7zip create-dmg ccache
|
||||||
|
|
||||||
export MACOSX_DEPLOYMENT_TARGET=11.6
|
export MACOSX_DEPLOYMENT_TARGET=11.6
|
||||||
export CXX=clang++
|
export CXX=clang++
|
||||||
|
@ -10,14 +10,10 @@ export Qt5_DIR="/usr/local/opt/qt@5/lib/cmake/Qt5"
|
||||||
export PATH="/usr/local/opt/llvm/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Library/Apple/usr/bin"
|
export PATH="/usr/local/opt/llvm/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Library/Apple/usr/bin"
|
||||||
export LDFLAGS="-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib"
|
export LDFLAGS="-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib"
|
||||||
export CPPFLAGS="-I/usr/local/opt/llvm/include -msse -msse2 -mcx16 -no-pie"
|
export CPPFLAGS="-I/usr/local/opt/llvm/include -msse -msse2 -mcx16 -no-pie"
|
||||||
export CPLUS_INCLUDE_PATH="/usr/local/opt/molten-vk/include"
|
|
||||||
export VULKAN_SDK="/usr/local/opt/molten-vk"
|
|
||||||
export VK_ICD_FILENAMES="$VULKAN_SDK/share/vulkan/icd.d/MoltenVK_icd.json"
|
|
||||||
|
|
||||||
git submodule update --init --recursive --depth 1
|
git submodule update --init --recursive --depth 1
|
||||||
|
|
||||||
# 3rdparty fixes
|
# 3rdparty fixes
|
||||||
ln -s "$VULKAN_SDK/lib/libMoltenVK.dylib" "$VULKAN_SDK/lib/libvulkan.dylib"
|
|
||||||
sed -i '' "s/extern const double NSAppKitVersionNumber;/const double NSAppKitVersionNumber = 1343;/g" 3rdparty/hidapi/hidapi/mac/hid.c
|
sed -i '' "s/extern const double NSAppKitVersionNumber;/const double NSAppKitVersionNumber = 1343;/g" 3rdparty/hidapi/hidapi/mac/hid.c
|
||||||
|
|
||||||
mkdir build && cd build || exit 1
|
mkdir build && cd build || exit 1
|
||||||
|
|
|
@ -126,7 +126,7 @@ macos_task:
|
||||||
matrix:
|
matrix:
|
||||||
- name: Cirrus macOS
|
- name: Cirrus macOS
|
||||||
osx_instance:
|
osx_instance:
|
||||||
image: monterey-base
|
image: monterey-xcode-13.3
|
||||||
mac_script:
|
mac_script:
|
||||||
- mkdir artifacts
|
- mkdir artifacts
|
||||||
- ".ci/build-mac.sh"
|
- ".ci/build-mac.sh"
|
||||||
|
|
30
3rdparty/CMakeLists.txt
vendored
30
3rdparty/CMakeLists.txt
vendored
|
@ -153,6 +153,33 @@ endif()
|
||||||
# Vulkan
|
# Vulkan
|
||||||
set(VULKAN_TARGET 3rdparty_dummy_lib)
|
set(VULKAN_TARGET 3rdparty_dummy_lib)
|
||||||
if(USE_VULKAN)
|
if(USE_VULKAN)
|
||||||
|
if(APPLE)
|
||||||
|
if(USE_SYSTEM_MVK)
|
||||||
|
message("-- RPCS3: Using system MoltenVK")
|
||||||
|
else()
|
||||||
|
message("-- RPCS3: MoltenVK submodule")
|
||||||
|
|
||||||
|
execute_process(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
|
||||||
|
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/MoltenVK"
|
||||||
|
)
|
||||||
|
execute_process(COMMAND "${CMAKE_COMMAND}" --build .
|
||||||
|
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/MoltenVK"
|
||||||
|
)
|
||||||
|
|
||||||
|
add_library(moltenvk_lib SHARED IMPORTED)
|
||||||
|
add_dependencies(moltenvk_lib moltenvk)
|
||||||
|
set_target_properties(moltenvk_lib
|
||||||
|
PROPERTIES IMPORTED_LOCATION "{Vulkan_LIBRARY}"
|
||||||
|
)
|
||||||
|
|
||||||
|
set(VULKAN_SDK "${CMAKE_CURRENT_SOURCE_DIR}/MoltenVK/MoltenVK/MoltenVK")
|
||||||
|
set(VK_ICD_FILENAMES "${CMAKE_CURRENT_SOURCE_DIR}/MoltenVK/MoltenVK/MoltenVK/icd/MoltenVK_icd.json")
|
||||||
|
set(Vulkan_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/MoltenVK/MoltenVK/MoltenVK/include")
|
||||||
|
set(Vulkan_LIBRARY "${CMAKE_CURRENT_SOURCE_DIR}/MoltenVK/MoltenVK/Build/Products/Release/dynamic/libMoltenVK.dylib")
|
||||||
|
set(Vulkan_TOOLS "${CMAKE_CURRENT_SOURCE_DIR}/MoltenVK/MoltenVK/Build/Products/Release")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
find_package(Vulkan)
|
find_package(Vulkan)
|
||||||
if(VULKAN_FOUND)
|
if(VULKAN_FOUND)
|
||||||
add_library(3rdparty_vulkan INTERFACE)
|
add_library(3rdparty_vulkan INTERFACE)
|
||||||
|
@ -173,6 +200,9 @@ if(USE_VULKAN)
|
||||||
set(VULKAN_TARGET 3rdparty_vulkan)
|
set(VULKAN_TARGET 3rdparty_vulkan)
|
||||||
else()
|
else()
|
||||||
message("WARNING! USE_VULKAN was enabled, but libvulkan was not found. RPCS3 will be compiled without Vulkan support.")
|
message("WARNING! USE_VULKAN was enabled, but libvulkan was not found. RPCS3 will be compiled without Vulkan support.")
|
||||||
|
if(APPLE)
|
||||||
|
message( FATAL_ERROR "ERROR! To build without Vulkan support on macOS, please disable USE_VULKAN.")
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
7
3rdparty/MoltenVK/.gitignore
vendored
Normal file
7
3rdparty/MoltenVK/.gitignore
vendored
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
.ninja_log
|
||||||
|
build.ninja
|
||||||
|
cmake_install.cmake
|
||||||
|
CMakeCache.txt
|
||||||
|
CMakeFiles
|
||||||
|
MoltenVK
|
||||||
|
moltenvk-prefix
|
15
3rdparty/MoltenVK/CMakeLists.txt
vendored
Normal file
15
3rdparty/MoltenVK/CMakeLists.txt
vendored
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
cmake_minimum_required(VERSION 2.8.2)
|
||||||
|
project(moltenvk NONE)
|
||||||
|
include(ExternalProject)
|
||||||
|
|
||||||
|
ExternalProject_Add(moltenvk
|
||||||
|
GIT_REPOSITORY https://github.com/KhronosGroup/MoltenVK.git
|
||||||
|
GIT_TAG 9cfc946
|
||||||
|
BUILD_IN_SOURCE 1
|
||||||
|
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/MoltenVK
|
||||||
|
CONFIGURE_COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/MoltenVK/fetchDependencies" --macos
|
||||||
|
BUILD_COMMAND xcodebuild build -quiet -project "${CMAKE_CURRENT_SOURCE_DIR}/MoltenVK/MoltenVKPackaging.xcodeproj" -scheme "MoltenVK Package \(macOS only\)" -configuration "Release" -arch "x86_64" MVK_CONFIG_RESUME_LOST_DEVICE=1
|
||||||
|
COMMAND ln -f "${CMAKE_CURRENT_SOURCE_DIR}/MoltenVK/MoltenVK/dylib/macOS/libMoltenVK.dylib" "${CMAKE_CURRENT_SOURCE_DIR}/MoltenVK/Build/Products/Release/dynamic/libMoltenVK.dylib"
|
||||||
|
INSTALL_COMMAND ""
|
||||||
|
BUILD_BYPRODUCTS "${CMAKE_CURRENT_SOURCE_DIR}/MoltenVK/Build/Products/Release/dynamic/libMoltenVK.dylib"
|
||||||
|
)
|
Loading…
Add table
Add a link
Reference in a new issue