[PR #1767] [MERGED] externals: Add MoltenVK as an external. #2288

Closed
opened 2026-02-27 21:15:55 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/shadps4-emu/shadPS4/pull/1767
Author: @squidbus
Created: 12/14/2024
Status: Merged
Merged: 12/14/2024
Merged by: @georgemoralis

Base: mainHead: mvk-build


📝 Commits (1)

  • 3c2b222 externals: Add MoltenVK as an external.

📊 Changes

9 files changed (+119 additions, -28 deletions)

View changed files

📝 .github/workflows/build.yml (+3 -11)
📝 .gitmodules (+13 -1)
📝 CMakeLists.txt (+1 -2)
📝 documents/building-macos.md (+3 -5)
📝 externals/CMakeLists.txt (+15 -9)
externals/MoltenVK/CMakeLists.txt (+81 -0)
externals/MoltenVK/MoltenVK (+1 -0)
externals/MoltenVK/SPIRV-Cross (+1 -0)
externals/MoltenVK/cereal (+1 -0)

📄 Description

Adds MoltenVK as an external built from source. This adds very little to the macOS build time, and provides a few key benefits:

  • Allows us to easily update to any MoltenVK revision we want for fixes and improvements, rather than working on their quarterly release cycle.
  • Allows us to create MoltenVK builds with MVK_USE_METAL_PRIVATE_API=1. This gives access to a few extra features that use private Metal APIs, such as sampler mip LOD bias.
  • Simplifies the build process with one less external pre-built dependency.

MoltenVK recently removed the old VK_NV_glsl_shader extension and some associated dependencies, which cut down the build complexity and made this more viable.

There's already a few nice to haves we get from this ahead of the next release as well:

  • Support for some more pixel formats like B5G6R5UnormPack16.
  • Fixes for compute shader internal compiler errors.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/shadps4-emu/shadPS4/pull/1767 **Author:** [@squidbus](https://github.com/squidbus) **Created:** 12/14/2024 **Status:** ✅ Merged **Merged:** 12/14/2024 **Merged by:** [@georgemoralis](https://github.com/georgemoralis) **Base:** `main` ← **Head:** `mvk-build` --- ### 📝 Commits (1) - [`3c2b222`](https://github.com/shadps4-emu/shadPS4/commit/3c2b2224e2d5eec1c59eaaa07de34be2eb612a8a) externals: Add MoltenVK as an external. ### 📊 Changes **9 files changed** (+119 additions, -28 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/build.yml` (+3 -11) 📝 `.gitmodules` (+13 -1) 📝 `CMakeLists.txt` (+1 -2) 📝 `documents/building-macos.md` (+3 -5) 📝 `externals/CMakeLists.txt` (+15 -9) ➕ `externals/MoltenVK/CMakeLists.txt` (+81 -0) ➕ `externals/MoltenVK/MoltenVK` (+1 -0) ➕ `externals/MoltenVK/SPIRV-Cross` (+1 -0) ➕ `externals/MoltenVK/cereal` (+1 -0) </details> ### 📄 Description Adds MoltenVK as an external built from source. This adds very little to the macOS build time, and provides a few key benefits: * Allows us to easily update to any MoltenVK revision we want for fixes and improvements, rather than working on their quarterly release cycle. * Allows us to create MoltenVK builds with `MVK_USE_METAL_PRIVATE_API=1`. This gives access to a few extra features that use private Metal APIs, such as sampler mip LOD bias. * Simplifies the build process with one less external pre-built dependency. MoltenVK recently removed the old `VK_NV_glsl_shader` extension and some associated dependencies, which cut down the build complexity and made this more viable. There's already a few nice to haves we get from this ahead of the next release as well: * Support for some more pixel formats like `B5G6R5UnormPack16`. * Fixes for compute shader internal compiler errors. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 21:15:55 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/shadPS4#2288
No description provided.