MoltenVKShaderConverter tool defaults to the

highest MSL version supported on runtime OS.

Update to latest SPIRV-Cross.
Update Docs/Whats_New.md document.
This commit is contained in:
Bill Hollings 2022-03-08 21:22:25 -05:00
parent c5ce77fff3
commit 728182cf75
3 changed files with 31 additions and 3 deletions

View File

@ -19,9 +19,18 @@ MoltenVK 1.1.9
Released TBD
- Reinstate memory barriers on non-Apple GPUs, which were inadvertently disabled in an earlier update.
- Update *glslang* version, to use `python3` in *glslang* scripts, to replace missing `python` on *macOS 12.3*.
- Support base vertex instance support in shader conversion.
- Fix alignment between outputs and inputs between shader stages when using nested structures.
- Fix issue where the depth component of a stencil-only renderpass attachment was incorrectly attempting to be stored.
- `MoltenVKShaderConverter` tool defaults to the highest MSL version supported on runtime OS.
- Update *glslang* version, to use `python3` in *glslang* scripts, to replace missing `python` on *macOS 12.3*.
- Update to latest SPIRV-Cross:
- MSL: Support input/output blocks containing nested struct arrays.
- MSL: Use var name instead of var-type name for flattened interface members.
- MSL: Handle aliased variable names for resources placed in IB struct.
- MSL: Append entry point args to local variable names to avoid conflicts.
- MSL: Consider that gl_IsHelperInvocation can be Volatile.
- MSL: Refactor and fix use of quadgroup vs simdgroup.

View File

@ -1 +1 @@
131278458ea8eebe6a6e9c476fbcf71278726e1a
0b51794f0142a3124f4e351cfc0616a48268ba97

View File

@ -421,8 +421,27 @@ MoltenVKShaderConverterTool::MoltenVKShaderConverterTool(int argc, const char* a
_quietMode = false;
_mslVersionMajor = 2;
_mslVersionMinor = 4;
if (mvkOSVersionIsAtLeast(12.0)) {
_mslVersionMinor = 4;
} else if (mvkOSVersionIsAtLeast(11.0)) {
_mslVersionMinor = 3;
} else if (mvkOSVersionIsAtLeast(10.15)) {
_mslVersionMinor = 2;
} else if (mvkOSVersionIsAtLeast(10.14)) {
_mslVersionMinor = 1;
} else if (mvkOSVersionIsAtLeast(10.13)) {
_mslVersionMinor = 0;
} else if (mvkOSVersionIsAtLeast(10.12)) {
_mslVersionMajor = 1;
_mslVersionMinor = 2;
} else {
_mslVersionMajor = 1;
_mslVersionMinor = 1;
}
_mslVersionPatch = 0;
_mslPlatform = SPIRVToMSLConversionOptions().mslOptions.platform;
_isActive = parseArgs(argc, argv);