Merge pull request #820 from billhollings/master
Update dependency libraries to match Vulkan SDK 1.2.131.
diff --git a/Docs/Whats_New.md b/Docs/Whats_New.md
index aa01001..26e9a1c 100644
--- a/Docs/Whats_New.md
+++ b/Docs/Whats_New.md
@@ -17,7 +17,7 @@
MoltenVK 1.0.40
---------------
-Released 2020/01/21
+Released 2020/01/22
- Refactor descriptor management to reduce memory footprint and fix caching leak.
- Add `MVK_CONFIG_PREALLOCATE_DESCRIPTORS` environment variable to support preallocated
@@ -25,11 +25,33 @@
- Fix crash when app does not use queue family zero.
- Fix buffer offset in `vkCmdPushDescriptorSet()` for non-dedicated buffer memory.
- Fix Metal validation error on push constant sizing differences between C and MSL structs.
+- Use `MTLBuffer` when inline uniform block descriptor is written to instead of copying host-side bytes.
+- Fix `EXT_inline_uniform_block` when using push descriptor sets.
+- Merge buffer and inline unions to fix issue where binding inline descriptor would interfere with
+ future binds on the same set index in the same command buffer (now only used in push case anyway).
- Track performance of `CAMetalLayer nextDrawable` call.
- Document recommendation to use 3 swapchain images, particularly with full-screen rendering.
- Update `MoltenVK_Runtime_UserGuide.md` to better explain runtime environment variables.
- Update `VK_MVK_MOLTENVK_SPEC_VERSION` to `24`.
- Update copyright notices to year 2020.
+- Update dependency libraries to match *Vulkan SDK 1.2.131*.
+- Update to latest SPIRV-Cross version:
+ - MSL: Support `ClipDistance` as an input stage variable.
+ - MSL: Fix automatic binding allocation for image atomic buffers.
+ - MSL: Deal with packing vectors for vertex input/fragment output.
+ - MSL: Don't set `OrigID` when emitting component packed vectors.
+ - MSL: Add trivial tests for `Component` decoration.
+ - MSL: Deal with padded fragment output + `Component` decoration.
+ - MSL: Partially implement support for Component decoration in complex scenarios.
+ - MSL: Explicitly don't support component packing for tessellation.
+ - MSL: Deal with sign on wave `min/max`.
+ - MSL: Add support for force-activating IAB resources.
+ - Deal with illegal names in types as well.
+ - Basic implementation of `OpCopyLogical`.
+ - Fix sign handling for `S/UToF`.
+ - Fix uninitialized memory issue.
+ - Roll custom versions of `isalpha/isalnum`.
+ - Update license headers to year 2020.
diff --git a/ExternalRevisions/README.md b/ExternalRevisions/README.md
index 76dc0be..2034823 100644
--- a/ExternalRevisions/README.md
+++ b/ExternalRevisions/README.md
@@ -149,7 +149,8 @@
you are developing features for **_MoltenVK_**, you may end up making changes to *SPIRV-Cross*.
If you make changes to the `SPIRV-Cross` repository, you can build a new version of the `libSPIRVCross.a`
-static library by opening the `ExternalDependencies.xcodeproj` *Xcode* project, and running the **_ExternalDependencies_** *Xcode* scheme. You can then rebuild **MoltenVK** to include the new library.
+static library by opening the `ExternalDependencies.xcodeproj` *Xcode* project, and running the
+**_ExternalDependencies_** *Xcode* scheme. You can then rebuild **MoltenVK** to include the new library.
While makng changes to the `SPIRV-Cross` repository, you can regression test your changes using the
following steps:
@@ -201,8 +202,9 @@
5. Repeat *Step 4* for the `SPIRV-Tools-iOS` target within the `ExternalDependencies` *Xcode* project
-6. Update `Templates/spirv-tools/build.zip` from the contents of `External/glslang/External/spirv-tools/build`,
- and test by running `./fetchDependencies --skip-spirv-tools-build`, and a **MoltenVK** build.
+6. Update `Templates/spirv-tools/build.zip` from the `*.h` and `*.inc` files in
+ `External/glslang/External/spirv-tools/build`, remove hidden `.*` files, and test
+ by running `./fetchDependencies --skip-spirv-tools-build`, and a **MoltenVK** build.
diff --git a/ExternalRevisions/SPIRV-Cross_repo_revision b/ExternalRevisions/SPIRV-Cross_repo_revision
index 57d5a9f..4101c6f 100644
--- a/ExternalRevisions/SPIRV-Cross_repo_revision
+++ b/ExternalRevisions/SPIRV-Cross_repo_revision
@@ -1 +1 @@
-96a276c2ca86e81530313786e99e2b95623898ca
+f9818f0804e6e73ec8afcc523b7e7f8bfc362632
diff --git a/ExternalRevisions/Vulkan-Headers_repo_revision b/ExternalRevisions/Vulkan-Headers_repo_revision
index 9275552..1602b8e 100644
--- a/ExternalRevisions/Vulkan-Headers_repo_revision
+++ b/ExternalRevisions/Vulkan-Headers_repo_revision
@@ -1 +1 @@
-0e57fc1cfa56a203efe43e4dfb9b3c9e9b105593
+881bbb347a08d1b5aa77f61a52a30b506de9f2bf
diff --git a/ExternalRevisions/Vulkan-Tools_repo_revision b/ExternalRevisions/Vulkan-Tools_repo_revision
index 2978205..2a84555 100644
--- a/ExternalRevisions/Vulkan-Tools_repo_revision
+++ b/ExternalRevisions/Vulkan-Tools_repo_revision
@@ -1 +1 @@
-0c2618b2c31e2f216e131ff4c1c83e2c92c6ae66
+4792a6854238ba3f6d10b8c7fcd11c102cae4ca6
diff --git a/ExternalRevisions/VulkanSamples_repo_revision b/ExternalRevisions/VulkanSamples_repo_revision
index 00eb4cf..c2e97ce 100644
--- a/ExternalRevisions/VulkanSamples_repo_revision
+++ b/ExternalRevisions/VulkanSamples_repo_revision
@@ -1 +1 @@
-ae32f2390060925afa9c5b111ac94de6d13fe229
+9f72cf123c673e47679bb72caa06a17d7b0258dd
diff --git a/ExternalRevisions/glslang_repo_revision b/ExternalRevisions/glslang_repo_revision
index 445aab9..da32f64 100644
--- a/ExternalRevisions/glslang_repo_revision
+++ b/ExternalRevisions/glslang_repo_revision
@@ -1 +1 @@
-ebf634bcaa3e46ca8a912ed05b87281c731b2391
+4fc7a33910fb8e40b970d160e1b38ab3f67fe0f3
diff --git a/Templates/spirv-tools/build.zip b/Templates/spirv-tools/build.zip
index f66fa7a..c54ae08 100644
--- a/Templates/spirv-tools/build.zip
+++ b/Templates/spirv-tools/build.zip
Binary files differ