From f7e32e0f3392f172d31fa960df9f920e0afb693a Mon Sep 17 00:00:00 2001 From: Bill Hollings Date: Fri, 5 Jan 2024 07:13:54 -0500 Subject: [PATCH] Update dependency libraries to match Vulkan SDK 1.3.273. - Update Whats_New.md. --- Docs/Whats_New.md | 38 +++++++++++++++++- .../project.pbxproj | 30 -------------- ExternalRevisions/README.md | 1 - ExternalRevisions/SPIRV-Cross_repo_revision | 2 +- ExternalRevisions/Vulkan-Tools_repo_revision | 2 +- ExternalRevisions/glslang_repo_revision | 2 +- .../GLSLToSPIRVConverter.cpp | 1 + Templates/spirv-tools/build.zip | Bin 55923 -> 55910 bytes fetchDependencies | 2 +- 9 files changed, 41 insertions(+), 37 deletions(-) diff --git a/Docs/Whats_New.md b/Docs/Whats_New.md index 3af26d9d..552ffbcc 100644 --- a/Docs/Whats_New.md +++ b/Docs/Whats_New.md @@ -16,24 +16,58 @@ Copyright (c) 2015-2024 [The Brenwill Workshop Ltd.](http://www.brenwill.com) MoltenVK 1.2.7 -------------- -Released TBD +Released 2024/01/08 - Add support for extensions: + - `VK_KHR_calibrated_timestamp` + - `VK_KHR_format_feature_flags2` + - `VK_KHR_vertex_attribute_divisor` - `VK_EXT_extended_dynamic_state3` *(Metal does not support `VK_POLYGON_MODE_POINT`)* - `VK_EXT_headless_surface` - `VK_EXT_layer_settings` +- Add support for format `VK_FORMAT_B4G4R4A4_UNORM_PACK16`. +- Add support for vertex formats `VK_FORMAT_B10G11R11_UFLOAT_PACK32` & `VK_FORMAT_E5B9G9R9_UFLOAT_PACK32`. - Fix regression that broke `VK_POLYGON_MODE_LINE`. - Fix regression in marking rendering state dirty after `vkCmdClearAttachments()`. -- Reduce disk space consumed after running `fetchDependencies` script by removing intermediate file caches. +- Fix regression error in argument buffer runtime arrays. - Fix rare deadlock during launch via `dlopen()`. - Fix initial value of `VkPhysicalDeviceLimits::timestampPeriod` on non-Apple Silicon GPUs. - Fix swapchain and surface bugs when windowing system is accessed from off the main thread. +- Fix system memory size of _tvOS_. +- Fix `heapUsage` query for non-unified memory devices. +- Add a defensive guard to ensure `heapUsage[0]` calculation is correct. +- Clamp max per-set descriptor limit to minimum `1024`. +- Enable the cube texture gradient workaround for Apple Silicon. +- Ensure `lineWidthGranularity` is zero if the `wideLines` feature isn't supported. +- Ensure `maxDrawIndexedIndexValue` set to `UINT32_MAX`. +- Ignore no external handle types specified for buffers and images. +- Expose `VK_EXT_debug_utils` device functions as device functions, not instance functions. +- Emit `primitiveRestartEnable` disabled warning only for strip topology. +- Enable mandatory `VK_EXT_descriptor_indexing` features, and don't advertise extension if they are not supported. +- Reduce disk space consumed after running `fetchDependencies` script by removing intermediate file caches. - Deprecate `vkSetMoltenVKConfigurationMVK()`. - Deprecate `mvk_config.h` and move content to `mvk_private_api.h` and `mvk_deprecated_api.h`. - Update copyright notices to year 2024. +- Update dependency libraries to match _Vulkan SDK 1.3.273_. - Update to latest SPIRV-Cross: - MSL: Fix regression error in argument buffer runtime arrays. - MSL: Work around broken cube texture gradients on Apple Silicon. + - MSL: Ensure discrete runtime arrays of buffers have known length. + - MSL: Implement Metal 3.1 image atomics natively. + - MSL: Fix patch vertex count with raw buffer tese input. + - MSL: Improve handling of sample masks. + - MSL: Add divide to reserved function names. + - MSL: Support std140 half matrices and arrays. + - MSL: Use more appropriate padded types. + - MSL: Don't use swizzle if we have wrapper. + - MSL: Add ray-cull mask + - MSL: Consider PtrAccessChain on array types. + - MSL: Use LHS expression to determine whether or not to do array copy. + - MSL: Only do address-of expression when needed. + - MSL: Improve PtrAccessChain handling. + - MSL: Use powr instead of pow. + - MSL: Remove special case for threadgroup array wrapper. + - MSL: Added an `Op` field to `SPIRType` and refactor. diff --git a/ExternalDependencies.xcodeproj/project.pbxproj b/ExternalDependencies.xcodeproj/project.pbxproj index fdbcf75f..75997635 100644 --- a/ExternalDependencies.xcodeproj/project.pbxproj +++ b/ExternalDependencies.xcodeproj/project.pbxproj @@ -218,12 +218,6 @@ A997FA1C26865A550006F71B /* disassemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F95E26865A550006F71B /* disassemble.cpp */; }; A997FA1D26865A550006F71B /* disassemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F95E26865A550006F71B /* disassemble.cpp */; }; A997FA1E26865A550006F71B /* disassemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F95E26865A550006F71B /* disassemble.cpp */; }; - A997FA1F26865A550006F71B /* InitializeDll.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F96126865A550006F71B /* InitializeDll.h */; }; - A997FA2026865A550006F71B /* InitializeDll.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F96126865A550006F71B /* InitializeDll.h */; }; - A997FA2126865A550006F71B /* InitializeDll.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F96126865A550006F71B /* InitializeDll.h */; }; - A997FA2226865A550006F71B /* InitializeDll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F96226865A550006F71B /* InitializeDll.cpp */; }; - A997FA2326865A550006F71B /* InitializeDll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F96226865A550006F71B /* InitializeDll.cpp */; }; - A997FA2426865A550006F71B /* InitializeDll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F96226865A550006F71B /* InitializeDll.cpp */; }; A997FA2826865A550006F71B /* ossource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F96C26865A550006F71B /* ossource.cpp */; }; A997FA2926865A550006F71B /* ossource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F96C26865A550006F71B /* ossource.cpp */; }; A997FA2A26865A550006F71B /* ossource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F96C26865A550006F71B /* ossource.cpp */; }; @@ -1783,7 +1777,6 @@ DCFD7CD72A45BA92007BBBF7 /* NonSemanticDebugPrintf.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F94226865A550006F71B /* NonSemanticDebugPrintf.h */; }; DCFD7CD82A45BA92007BBBF7 /* glslang_tab.cpp.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F9A126865A550006F71B /* glslang_tab.cpp.h */; }; DCFD7CD92A45BA92007BBBF7 /* ParseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F9AC26865A550006F71B /* ParseHelper.h */; }; - DCFD7CDA2A45BA92007BBBF7 /* InitializeDll.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F96126865A550006F71B /* InitializeDll.h */; }; DCFD7CDC2A45BA92007BBBF7 /* ParseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F98626865A550006F71B /* ParseHelper.cpp */; }; DCFD7CDD2A45BA92007BBBF7 /* doc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F95D26865A550006F71B /* doc.cpp */; }; DCFD7CDE2A45BA92007BBBF7 /* attribute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F9A426865A550006F71B /* attribute.cpp */; }; @@ -1805,7 +1798,6 @@ DCFD7CEE2A45BA92007BBBF7 /* SpirvIntrinsics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F99426865A550006F71B /* SpirvIntrinsics.cpp */; }; DCFD7CEF2A45BA92007BBBF7 /* linkValidate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F9AA26865A550006F71B /* linkValidate.cpp */; }; DCFD7CF02A45BA92007BBBF7 /* parseConst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F99526865A550006F71B /* parseConst.cpp */; }; - DCFD7CF12A45BA92007BBBF7 /* InitializeDll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F96226865A550006F71B /* InitializeDll.cpp */; }; DCFD7CF22A45BA92007BBBF7 /* Link.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F9CD26865A550006F71B /* Link.cpp */; }; DCFD7CF32A45BA92007BBBF7 /* iomapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F99A26865A550006F71B /* iomapper.cpp */; }; DCFD7CF42A45BA92007BBBF7 /* ParseContextBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F9B526865A550006F71B /* ParseContextBase.cpp */; }; @@ -2428,9 +2420,6 @@ A997F95C26865A550006F71B /* Logger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Logger.h; sourceTree = ""; }; A997F95D26865A550006F71B /* doc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = doc.cpp; sourceTree = ""; }; A997F95E26865A550006F71B /* disassemble.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = disassemble.cpp; sourceTree = ""; }; - A997F96026865A550006F71B /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = ""; }; - A997F96126865A550006F71B /* InitializeDll.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InitializeDll.h; sourceTree = ""; }; - A997F96226865A550006F71B /* InitializeDll.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InitializeDll.cpp; sourceTree = ""; }; A997F96426865A550006F71B /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = ""; }; A997F96C26865A550006F71B /* ossource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ossource.cpp; sourceTree = ""; }; A997F96D26865A550006F71B /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = ""; }; @@ -2982,7 +2971,6 @@ isa = PBXGroup; children = ( A997F96326865A550006F71B /* glslang */, - A997F95F26865A550006F71B /* OGLCompilersDLL */, A997F94126865A550006F71B /* SPIRV */, ); path = glslang; @@ -3073,16 +3061,6 @@ path = CInterface; sourceTree = ""; }; - A997F95F26865A550006F71B /* OGLCompilersDLL */ = { - isa = PBXGroup; - children = ( - A997F96026865A550006F71B /* CMakeLists.txt */, - A997F96126865A550006F71B /* InitializeDll.h */, - A997F96226865A550006F71B /* InitializeDll.cpp */, - ); - path = OGLCompilersDLL; - sourceTree = ""; - }; A997F96326865A550006F71B /* glslang */ = { isa = PBXGroup; children = ( @@ -3796,7 +3774,6 @@ A997F9CF26865A550006F71B /* NonSemanticDebugPrintf.h in Headers */, A997FAB326865A560006F71B /* glslang_tab.cpp.h in Headers */, A997FAD126865A560006F71B /* ParseHelper.h in Headers */, - A997FA2026865A550006F71B /* InitializeDll.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -4517,7 +4494,6 @@ A997F9CE26865A550006F71B /* NonSemanticDebugPrintf.h in Headers */, A997FAB226865A560006F71B /* glslang_tab.cpp.h in Headers */, A997FAD026865A560006F71B /* ParseHelper.h in Headers */, - A997FA1F26865A550006F71B /* InitializeDll.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -4577,7 +4553,6 @@ A997F9D026865A550006F71B /* NonSemanticDebugPrintf.h in Headers */, A997FAB426865A560006F71B /* glslang_tab.cpp.h in Headers */, A997FAD226865A560006F71B /* ParseHelper.h in Headers */, - A997FA2126865A550006F71B /* InitializeDll.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -4694,7 +4669,6 @@ DCFD7CD72A45BA92007BBBF7 /* NonSemanticDebugPrintf.h in Headers */, DCFD7CD82A45BA92007BBBF7 /* glslang_tab.cpp.h in Headers */, DCFD7CD92A45BA92007BBBF7 /* ParseHelper.h in Headers */, - DCFD7CDA2A45BA92007BBBF7 /* InitializeDll.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -5549,7 +5523,6 @@ A997FA8C26865A560006F71B /* SpirvIntrinsics.cpp in Sources */, A997FACE26865A560006F71B /* linkValidate.cpp in Sources */, A997FA8F26865A560006F71B /* parseConst.cpp in Sources */, - A997FA2326865A550006F71B /* InitializeDll.cpp in Sources */, A997FB2826865A560006F71B /* Link.cpp in Sources */, A997FA9E26865A560006F71B /* iomapper.cpp in Sources */, A997FAE926865A560006F71B /* ParseContextBase.cpp in Sources */, @@ -6300,7 +6273,6 @@ A997FA8B26865A560006F71B /* SpirvIntrinsics.cpp in Sources */, A997FACD26865A560006F71B /* linkValidate.cpp in Sources */, A997FA8E26865A560006F71B /* parseConst.cpp in Sources */, - A997FA2226865A550006F71B /* InitializeDll.cpp in Sources */, A997FB2726865A560006F71B /* Link.cpp in Sources */, A997FA9D26865A560006F71B /* iomapper.cpp in Sources */, A997FAE826865A560006F71B /* ParseContextBase.cpp in Sources */, @@ -6350,7 +6322,6 @@ A997FA8D26865A560006F71B /* SpirvIntrinsics.cpp in Sources */, A997FACF26865A560006F71B /* linkValidate.cpp in Sources */, A997FA9026865A560006F71B /* parseConst.cpp in Sources */, - A997FA2426865A550006F71B /* InitializeDll.cpp in Sources */, A997FB2926865A560006F71B /* Link.cpp in Sources */, A997FA9F26865A560006F71B /* iomapper.cpp in Sources */, A997FAEA26865A560006F71B /* ParseContextBase.cpp in Sources */, @@ -6442,7 +6413,6 @@ DCFD7CEE2A45BA92007BBBF7 /* SpirvIntrinsics.cpp in Sources */, DCFD7CEF2A45BA92007BBBF7 /* linkValidate.cpp in Sources */, DCFD7CF02A45BA92007BBBF7 /* parseConst.cpp in Sources */, - DCFD7CF12A45BA92007BBBF7 /* InitializeDll.cpp in Sources */, DCFD7CF22A45BA92007BBBF7 /* Link.cpp in Sources */, DCFD7CF32A45BA92007BBBF7 /* iomapper.cpp in Sources */, DCFD7CF42A45BA92007BBBF7 /* ParseContextBase.cpp in Sources */, diff --git a/ExternalRevisions/README.md b/ExternalRevisions/README.md index 21cf7398..06f19371 100644 --- a/ExternalRevisions/README.md +++ b/ExternalRevisions/README.md @@ -240,7 +240,6 @@ if you encounter any building errors, you may need to re-add the *glslang* libra *Group* in the *Project Navigator* panel: glslang - OGLCompilersDLL SPIRV In the ***Choose options for adding these files*** dialog that opens, select the ***Create groups*** option, diff --git a/ExternalRevisions/SPIRV-Cross_repo_revision b/ExternalRevisions/SPIRV-Cross_repo_revision index cd24745d..219b9995 100644 --- a/ExternalRevisions/SPIRV-Cross_repo_revision +++ b/ExternalRevisions/SPIRV-Cross_repo_revision @@ -1 +1 @@ -50e90dd74e0e43e243f12a70f0326d2cf8ed3945 +d9f4280f4511e9bff9bdd5147370b9ee49dbe2af diff --git a/ExternalRevisions/Vulkan-Tools_repo_revision b/ExternalRevisions/Vulkan-Tools_repo_revision index 6ecf5015..631db350 100644 --- a/ExternalRevisions/Vulkan-Tools_repo_revision +++ b/ExternalRevisions/Vulkan-Tools_repo_revision @@ -1 +1 @@ -1532001f7edae559af1988293eec90bc5e2607d5 +afb8b9e8caeade2489372b8cf78b70b5301c8741 diff --git a/ExternalRevisions/glslang_repo_revision b/ExternalRevisions/glslang_repo_revision index cd54f4f3..83b8f136 100644 --- a/ExternalRevisions/glslang_repo_revision +++ b/ExternalRevisions/glslang_repo_revision @@ -1 +1 @@ -be564292f00c5bf0d7251c11f1c9618eb1117762 +719b6b7debbfe75bd427daa0e39c347fce16cf9a diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter/GLSLToSPIRVConverter.cpp b/MoltenVKShaderConverter/MoltenVKShaderConverter/GLSLToSPIRVConverter.cpp index 80d83cbe..6e0cc67a 100644 --- a/MoltenVKShaderConverter/MoltenVKShaderConverter/GLSLToSPIRVConverter.cpp +++ b/MoltenVKShaderConverter/MoltenVKShaderConverter/GLSLToSPIRVConverter.cpp @@ -22,6 +22,7 @@ #include "SPIRVSupport.h" #include "MVKStrings.h" #include +#include #include using namespace std; diff --git a/Templates/spirv-tools/build.zip b/Templates/spirv-tools/build.zip index d087d8e2b16e86191b8180ef03b827b132dcc4ae..5f27a501a8eecc6866605f3db5e7543416050425 100644 GIT binary patch delta 1251 zcmZ9KZAep59LE3K-HVAD+RD0fH8%}>*^8m1i^|LbT@FD_Gb$7`Y9t zkr71#_dV=YSMS;h)Hw!g_8(Il7k)YI&deM3f&64Ga3M0Rj{xp9nq{=~ku6%}5e9S6qC^v-GU-D2f{XLn#!Oz+qi9&J36XHg#h#M09#-)_osjWpZo0&& zI@N%N)#^1F!CLP)bKJ2~fM>W?mS@(Fo=mH#PcZmfHoH5Q!F{a*knyz37t#6|ITe%8 zq8V0ktqq{MrT%PE}n;ltMOp&mhTvl^;R z-m`aS+i`F%_IrQl|2)t8oaIUC&mc=!yyWFzqo|{+p;G>2QgK~mM0S0CMjY9&|AqT0xi;g0XU3Rr*y7@ z(BY;WeTe&d()~Kvfv%4XhVR%m)K`{I+%