MoltenVK: Add patch to turn on framebuffer fetch in SPIRV-Cross

This commit is contained in:
OatmealDome 2021-11-13 19:06:00 -08:00
parent 676c500cdc
commit fad11e3532
3 changed files with 39 additions and 0 deletions

View File

@ -8,6 +8,8 @@ ExternalProject_Add(MoltenVK
CONFIGURE_COMMAND ${CMAKE_CURRENT_LIST_DIR}/configure.sh <LOG_DIR> <SOURCE_DIR> ${MOLTENVK_VERSION} CONFIGURE_COMMAND ${CMAKE_CURRENT_LIST_DIR}/configure.sh <LOG_DIR> <SOURCE_DIR> ${MOLTENVK_VERSION}
PATCH_COMMAND ${CMAKE_CURRENT_LIST_DIR}/patch.sh ${CMAKE_SOURCE_DIR}/Externals/MoltenVK/patches/ ${MOLTENVK_VERSION}
BUILD_COMMAND make -C <SOURCE_DIR> macos BUILD_COMMAND make -C <SOURCE_DIR> macos
BUILD_IN_SOURCE ON BUILD_IN_SOURCE ON
BUILD_BYPRODUCTS <SOURCE_DIR>/Package/Release/MoltenVK/dylib/macOS/libMoltenVK.dylib BUILD_BYPRODUCTS <SOURCE_DIR>/Package/Release/MoltenVK/dylib/macOS/libMoltenVK.dylib

13
Externals/MoltenVK/patch.sh vendored Executable file
View File

@ -0,0 +1,13 @@
#!/bin/bash
# Applies all patches in the "patches" folder to the cloned MoltenVK git repository.
#
# Usage: patch.sh <patches folder> <MoltenVK version>
#
set -e
# Reset the git repository first to ensure that it's in the base state.
git reset --hard $2
git apply $1/*.patch

View File

@ -0,0 +1,24 @@
From 4ca33b7a9b149c6fbcc1c88ce08fc49f21294f6d Mon Sep 17 00:00:00 2001
From: OatmealDome <julian@oatmealdome.me>
Date: Sat, 31 Jul 2021 19:18:35 -0400
Subject: [PATCH] SPIRVToMSLConverter: Enable use_framebuffer_fetch_subpasses
---
.../MoltenVKShaderConverter/SPIRVToMSLConverter.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter/SPIRVToMSLConverter.cpp b/MoltenVKShaderConverter/MoltenVKShaderConverter/SPIRVToMSLConverter.cpp
index 17c79394..97e98004 100644
--- a/MoltenVKShaderConverter/MoltenVKShaderConverter/SPIRVToMSLConverter.cpp
+++ b/MoltenVKShaderConverter/MoltenVKShaderConverter/SPIRVToMSLConverter.cpp
@@ -92,6 +92,7 @@ MVK_PUBLIC_SYMBOL SPIRVToMSLConversionOptions::SPIRVToMSLConversionOptions() {
#endif
mslOptions.pad_fragment_output_components = true;
+ mslOptions.use_framebuffer_fetch_subpasses = true;
}
MVK_PUBLIC_SYMBOL bool mvk::MSLShaderInput::matches(const mvk::MSLShaderInput& other) const {
--
2.30.1 (Apple Git-130)