diff --git a/Docs/Whats_New.md b/Docs/Whats_New.md index 268da160..48f6f3b4 100644 --- a/Docs/Whats_New.md +++ b/Docs/Whats_New.md @@ -13,6 +13,27 @@ For best results, use a Markdown reader.* +MoltenVK 1.0.33 +--------------- + +Released TBD + +- Support the `VK_EXT_memory_budget` extension. +- Use the `MTLDevice registryID` property to locate it in `IOKit`. +- Add GPU device ID for *iOS A12* SoC. +- Allow logging level to be controlled with `MVK_LOG_LEVEL` runtime environment variable. +- Don't warn on identity swizzles when `fullImageViewSwizzle` config setting is enabled. +- Track version of spvAux buffer struct in SPRIV-Cross and fail build if different + than version expected by MoltenVK. +- Modify README.md to direct developers to Vulkan SDK. +- Update to latest SPIRV-Cross version: + - MSL: Implement 8-bit part of VK_KHR_shader_float16_int8. + - MSL: Add a setting to capture vertex shader output to a buffer. + - MSL: Stop passing the aux buffer around. + - Support LUTs in single-function CFGs on Private storage class. + + + MoltenVK 1.0.32 --------------- diff --git a/ExternalRevisions/SPIRV-Cross_repo_revision b/ExternalRevisions/SPIRV-Cross_repo_revision index a09abc6e..851122e8 100644 --- a/ExternalRevisions/SPIRV-Cross_repo_revision +++ b/ExternalRevisions/SPIRV-Cross_repo_revision @@ -1 +1 @@ -a029d3faa12082bb4fac78351701d832716759df +d9ed3dcc7a7e62e5f95fd8f24e3d35e7e402ae92 diff --git a/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h b/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h index cf4a4468..31ca4680 100644 --- a/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h +++ b/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h @@ -48,7 +48,7 @@ extern "C" { */ #define MVK_VERSION_MAJOR 1 #define MVK_VERSION_MINOR 0 -#define MVK_VERSION_PATCH 32 +#define MVK_VERSION_PATCH 33 #define MVK_MAKE_VERSION(major, minor, patch) (((major) * 10000) + ((minor) * 100) + (patch)) #define MVK_VERSION MVK_MAKE_VERSION(MVK_VERSION_MAJOR, MVK_VERSION_MINOR, MVK_VERSION_PATCH) diff --git a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.cpp b/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.cpp index 91ec311d..4bf77dc2 100644 --- a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.cpp +++ b/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.cpp @@ -27,6 +27,12 @@ using namespace mvk; using namespace std; +// Verify that the spvAux structure used to pass auxilliary info between MoltenVK and SPIRV-Cross has not changed. +#define MVK_SUPPORTED_MSL_AUX_BUFFER_STRUCT_VERSION 1 +#if MVK_SUPPORTED_MSL_AUX_BUFFER_STRUCT_VERSION != SPIRV_CROSS_MSL_AUX_BUFFER_STRUCT_VERSION +# error "The version number of the MSL spvAux struct used to pass auxilliary info to shaders does not match between MoltenVK and SPIRV-Cross. If the spvAux struct definition is not the same between MoltenVK and shaders created by SPRIV-Cross, memory errors will occur." +#endif + #pragma mark - #pragma mark SPIRVToMSLConverterContext