pcsx2 icon indicating copy to clipboard operation
pcsx2 copied to clipboard

Mac: Update MoltenVK to v1.4.1

Open JordanTheToaster opened this issue 1 month ago • 3 comments

Description of Changes

Updates MoltenVK from v1.2.9 to v1.4.1.

Rationale behind Changes

Should hopefully now work and not totally break rendering when using Vulkan on Mac.

Suggested Testing Steps

Test to see if it explodes when using Vulkan on Mac.

Did you use AI to help find, test, or implement this issue or feature?

No

JordanTheToaster avatar Dec 09 '25 01:12 JordanTheToaster

Can you add this? MoltenVK switched the default to use argument buffers, as it's more capable of satisfying vulkan spec, but the old mode is still slightly faster for applications that don't need it (though since we mostly use push descriptors, the difference is pretty negligible for us).

diff --git a/.github/workflows/scripts/macos/build-dependencies-universal.sh b/.github/workflows/scripts/macos/build-dependencies-universal.sh
index 2108d15e0a..9dc6d7b599 100755
--- a/.github/workflows/scripts/macos/build-dependencies-universal.sh
+++ b/.github/workflows/scripts/macos/build-dependencies-universal.sh
@@ -277,7 +277,7 @@ rm -fr "MoltenVK-${MOLTENVK}"
 tar xf "v$MOLTENVK.tar.gz"
 cd "MoltenVK-${MOLTENVK}"
 ./fetchDependencies --macos
-make macos
+make macos MVK_CONFIG_USE_METAL_ARGUMENT_BUFFERS=0
 cp Package/Latest/MoltenVK/dynamic/dylib/macOS/libMoltenVK.dylib "$INSTALLDIR/lib/"
 cd ..
 
diff --git a/.github/workflows/scripts/macos/build-dependencies.sh b/.github/workflows/scripts/macos/build-dependencies.sh
index a63a59faf3..27d2645b2e 100755
--- a/.github/workflows/scripts/macos/build-dependencies.sh
+++ b/.github/workflows/scripts/macos/build-dependencies.sh
@@ -225,7 +225,7 @@ cd "MoltenVK-${MOLTENVK}"
 sed -i '' 's/xcodebuild "$@"/xcodebuild $XCODEBUILD_EXTRA_ARGS "$@"/g' fetchDependencies
 sed -i '' 's/XCODEBUILD :=/XCODEBUILD ?=/g' Makefile
 XCODEBUILD_EXTRA_ARGS="VALID_ARCHS=x86_64" ./fetchDependencies --macos
-XCODEBUILD="set -o pipefail && xcodebuild VALID_ARCHS=x86_64" make macos
+XCODEBUILD="set -o pipefail && xcodebuild VALID_ARCHS=x86_64" make macos MVK_CONFIG_USE_METAL_ARGUMENT_BUFFERS=0
 cp Package/Latest/MoltenVK/dynamic/dylib/macOS/libMoltenVK.dylib "$INSTALLDIR/lib/"
 cd ..

TellowKrinkle avatar Dec 09 '25 02:12 TellowKrinkle

Can you add this?

Done

JordanTheToaster avatar Dec 09 '25 02:12 JordanTheToaster

Can't MVK_USE_METAL_PRIVATE_API=1 be set?

Add support for new features and extensions when using MVK_USE_METAL_PRIVATE_API:

Disabling primitive restart
VK_EXT_legacy_dithering
VK_EXT_non_seamless_cube_map
VK_EXT_primitive_topology_list_restart
VK_EXT_provoking_vertex

rcaridade145 avatar Dec 10 '25 10:12 rcaridade145