Update to Vulkan SDK 1.2.135 library dependencies.

Add Scripts/packagePregenSpirvToolsHeaders script to automate packaging Spirv-Tools
headers in support of the fetchDependencies --skip-spirv-tools-build option.
Update Docs/Whats_New.md.
This commit is contained in:
Bill Hollings 2020-04-02 16:35:48 -04:00
parent df11916217
commit a58f6bc441
9 changed files with 2443 additions and 2395 deletions

View File

@ -17,7 +17,7 @@ For best results, use a Markdown reader.*
MoltenVK 1.0.41
---------------
Released 2020/03/30
Released 2020/04/05
- Accurately populate Vulkan `VkFormatProperties` from `MTLPixelFormat` capabilities,
taking into consideration variations across `MTLDevice` Features Sets.
@ -29,6 +29,7 @@ Released 2020/03/30
- Add ability to disable command memory pooling using `MVK_CONFIG_USE_COMMAND_POOLING`
environment variable.
- Fix memory leak when pre-filling `MTLCommandBuffers` using `MVK_CONFIG_PREFILL_METAL_COMMAND_BUFFERS`.
- Fix issue causing screen captures from swapchain image to deadlock.
- Broaden conditions for host read sync for image memory barriers on macOS.
- Update the `README.md` and `MoltenVK_Runtime_UserGuide.md` documents to clarify that
**MoltenVK** is not a fully-compliant implementation of *Vulkan*.
@ -37,6 +38,7 @@ Released 2020/03/30
- Update to latest SPIRV-Cross version:
- MSL: Support inline uniform blocks in argument buffers.
- MSL: Move inline uniform blocks to the end of the argument buffer.
- MSL: Fix access chain for deep struct hierarchy on array of buffers.
- MSL: Remove old memory_scope flag from iOS barriers.
- MSL: Fixes to array handling.

File diff suppressed because it is too large Load Diff

View File

@ -180,17 +180,7 @@ library. However, after updating the version of *glslang* (which adds *SPIRV-Too
as described [above](#updating), if you encounter any building errors, you may need to re-add
the *SPIRV-Tools* library to the `ExternalDependencies` *Xcode* project as follows:
1. In the *Project Navigator*, remove the *Group* named `source` from under the *Group* named
`External/SPIRV-Tools`.
2. Drag the `External/glslang/External/spirv-tools/source` file folder to the `External/SPIRV-Tools`
group in the *Project Navigator* panel. In the _**Choose options for adding these files**_ dialog
that opens, select the _**Create groups**_ option, add the files to *both* the `SPIRV-Tools-macOS`
and `SPIRV-Tools-iOS` targets, and click the ***Finish*** button.
3. Remove the *Group* named `fuzz` from under the *Group* named `External/SPIRV-Tools/source`.
4. In the *Project Navigator* panel, select the `ExternalDependencies` *Xcode* project, then
1. In the *Project Navigator* panel, select the `ExternalDependencies` *Xcode* project, then
select the `SPIRV-Tools-macOS` target, and open the *Build Settings* tab. Locate the build
setting entry **Header Search Paths** (`HEADER_SEARCH_PATHS`) and add the following paths:
@ -200,11 +190,21 @@ the *SPIRV-Tools* library to the `ExternalDependencies` *Xcode* project as follo
"$(SRCROOT)/External/glslang/External/spirv-tools/external/spirv-headers/include"
"$(SRCROOT)/External/glslang/External/spirv-tools/build"
5. Repeat *Step 4* for the `SPIRV-Tools-iOS` target within the `ExternalDependencies` *Xcode* project
2. Repeat *Step 1* for the `SPIRV-Tools-iOS` target within the `ExternalDependencies` *Xcode* project
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.
3. In the *Project Navigator*, remove the *Group* named `source` from under the *Group* named
`External/SPIRV-Tools`.
4. Drag the `External/glslang/External/spirv-tools/source` file folder to the `External/SPIRV-Tools`
group in the *Project Navigator* panel. In the _**Choose options for adding these files**_ dialog
that opens, select the _**Create groups**_ option, add the files to *both* the `SPIRV-Tools-macOS`
and `SPIRV-Tools-iOS` targets, and click the ***Finish*** button.
5. Remove the *Group* named `fuzz` from under the *Group* named `External/SPIRV-Tools/source`.
6. In the `Scripts` folder, run `./packagePregenSpirvToolsHeaders` to update `Templates/spirv-tools/build.zip`
from the `*.h` and `*.inc` files in `External/glslang/External/spirv-tools/build`, and test by running
`./fetchDependencies --skip-spirv-tools-build`, and a **MoltenVK** build.
@ -217,10 +217,19 @@ library. However, after updating the version of *glslang*, as described [above](
if you encounter any building errors, you may need to re-add the *glslang* library to the
`ExternalDependencies` *Xcode* project as follows:
1. In the *Project Navigator*, remove all *Groups* from under the *Group* named
1. In the *Project Navigator* panel, select the `ExternalDependencies` *Xcode* project, then
select the `glslang-macOS` target, and open the *Build Settings* tab. Locate the build
setting entry **Header Search Paths** (`HEADER_SEARCH_PATHS`) and add the following paths:
$(inherited)
"$(SRCROOT)/External/glslang"
2. Repeat *Step 1* for the `glslang-iOS` target within the `ExternalDependencies` *Xcode* project
3. In the *Project Navigator*, remove all *Groups* from under the *Group* named
`External/glslang`.
2. Drag the following folders from the `External/glslang` file folder to the `External/glslang`
4. Drag the following folders from the `External/glslang` file folder to the `External/glslang`
*Group* in the *Project Navigator* panel:
glslang
@ -230,19 +239,11 @@ if you encounter any building errors, you may need to re-add the *glslang* libra
In the ***Choose options for adding these files*** dialog that opens, select the ***Create groups*** option,
add the files to *both* the `glslang-macOS` and `glslang-iOS` targets, and click the ***Finish*** button.
3. In the *Project Navigator* panel, remove the references to the following files and folders:
5. In the *Project Navigator* panel, remove the references to the following files and folders:
External/glslang/glslang/MachineIndependant/glslang.y
External/glslang/glslang/OSDependent/Windows
4. In the *Project Navigator* panel, select the `ExternalDependencies` *Xcode* project, then
select the `glslang-macOS` target, and open the *Build Settings* tab. Locate the build
setting entry **Header Search Paths** (`HEADER_SEARCH_PATHS`) and add the following paths:
$(inherited)
"$(SRCROOT)/External/glslang"
5. Repeat *Step 4* for the `glslang-iOS` target within the `ExternalDependencies` *Xcode* project

View File

@ -1 +1 @@
9b3c5e12be12c55533f3bd3ab9cc617ec0f393d8
e58e8d5dbe03ea2cc755dbaf43ffefa1b8d77bef

View File

@ -1 +1 @@
4792a6854238ba3f6d10b8c7fcd11c102cae4ca6
7844b9b4e180612c7ca35bcb07ce7f86610b22c4

View File

@ -1 +1 @@
9f72cf123c673e47679bb72caa06a17d7b0258dd
036541ca8f65333bf911b3957afa2c49f83fa0cd

View File

@ -1 +1 @@
4fc7a33910fb8e40b970d160e1b38ab3f67fe0f3
e157435c1e777aa1052f446dafed162b4a722e03

View File

@ -0,0 +1,29 @@
#!/usr/bin/env bash
#
# Copyright (c) 2016-2020 The Brenwill Workshop Ltd.
#
# packagePregenSpirvToolsHeaders - Packages Spirv-Tools headers to simplify building glslang
#
# macOS usage: ./packagePregenSpirvToolsHeaders
#
set -o errexit
# ----------------- Main -------------------
EXT_DIR=../External
SPV_TLS_BLD_DIR="${EXT_DIR}/glslang/External/spirv-tools/build"
TPLT_DIR=../Templates/spirv-tools
TPLT_BLD_DIR="${TPLT_DIR}/build"
rm -rf "${TPLT_BLD_DIR}"
mkdir -p "${TPLT_BLD_DIR}"
cp -a "${SPV_TLS_BLD_DIR}/"*.h "${SPV_TLS_BLD_DIR}/"*.inc "${TPLT_BLD_DIR}"
cd "${TPLT_DIR}"
rm -f build.zip
zip -qr build.zip build
rm -rf build/
cd - > /dev/null

Binary file not shown.