Update dependency libraries to match Vulkan SDK 1.2.148.
fetchDependencies support option to skip all library builds. fetchDependencies avoid sync locks if not building in parallel. fetchDependencies build glslang headers. Update ExternalRevisions/README.md glslang build integration section. Update What's New.
This commit is contained in:
parent
23ea3c9bf7
commit
834d391aec
@ -30,11 +30,22 @@ Released 2020/07/28
|
||||
- **_MoltenVK_** Xcode schemes support building fat *Platform+Simulator* binaries.
|
||||
- `Makefile` supports building fat *Platform+Simulator* binaries, plus *Debug* builds.
|
||||
- `fetchDependencies` script supports platform build selection, plus parallel builds.
|
||||
- `vkCmdBlitImage()` returns error if scaling or inverting to linear image on *macOS*.
|
||||
- Support `VK_FORMAT_A2B10G10R10_UNORM_PACK32` as a surface format.
|
||||
- Support `VkPipelineMultisampleStateCreateInfo::pSampleMask`.
|
||||
- Support `VkPhysicalDeviceSubgroupProperties`.
|
||||
- Fix memory layout of inline uniform blocks.
|
||||
- Fix issue where mapped host-coherent device memory not updated from image contents on *macOS*.
|
||||
- Fix image memory sizing and offsets.
|
||||
- Fix small memory leak when setting swapchain color space.
|
||||
- Fix new and unexpected App Store failure on newly deprecated color space values.
|
||||
- Fix intermittent concurrent shader specialization race condition.
|
||||
- Fix offsets when flushing buffer data to GPU.
|
||||
- Ensure fragment shader inputs to have as many components as vertex shader outputs.
|
||||
- Include vertex attribute size when testing whether attribute offset exceeds stride.
|
||||
- Add support for `USCALED/SSCALED` vertex formats.
|
||||
- Add host-coherent texel buffer caching just for buffer views.
|
||||
- Include MoltenVK Git revision hash in `VkPhysicalDeviceProperties::pipelineCacheUUID`.
|
||||
- Add `MVKPhysicalDeviceMetalFeatures::vertexStrideAlignment` to track Metal vertex binding stride alignment.
|
||||
- Add `MVKPhysicalDeviceMetalFeatures::indirectTessellationDrawing` to track if indirect tessellation drawing is supported.
|
||||
- Remove use of `@available()` directive as it was causing issues in some build environments.
|
||||
@ -42,6 +53,7 @@ Released 2020/07/28
|
||||
- Refactor **MoltenVK** *Xcode* build architectures.
|
||||
- Demo `API-Samples generateSPIRVShaders` no longer builds `MoltenVKShaderController` tool.
|
||||
- Update `VK_MVK_MOLTENVK_SPEC_VERSION` to `27`.
|
||||
- Update dependency libraries to match *Vulkan SDK 1.2.148*.
|
||||
- Update to latest SPIRV-Cross version:
|
||||
- MSL: Add support for processing more than one patch per workgroup.
|
||||
- MSL: Workaround broken scalar access chain behavior in MSL LLVM IR / AIR.
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -140,7 +140,8 @@ if you encounter any building errors, you may need to re-add the *SPIRV-Cross* l
|
||||
spirv_parser.hpp
|
||||
|
||||
In the ***Choose options for adding these files*** dialog that opens, select the ***Create groups*** option,
|
||||
add the files to *both* the `SPIRV-Cross-macOS` and `SPIRV-Cross-iOS` targets, and click the ***Finish*** button.
|
||||
add the files to *all* of the `SPIRV-Cross-macOS`, `SPIRV-Cross-iOS`, and `SPIRV-Cross-tvOS` targets,
|
||||
and click the ***Finish*** button.
|
||||
|
||||
|
||||
### Regression Testing Your Changes to *SPIRV-Cross*
|
||||
@ -197,8 +198,8 @@ the *SPIRV-Tools* library to the `ExternalDependencies` *Xcode* project as follo
|
||||
|
||||
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.
|
||||
that opens, select the _**Create groups**_ option, add the files to *all* of the `SPIRV-Tools-macOS`,
|
||||
`SPIRV-Tools-iOS`, and `SPIRV-Tools-tvOS` targets, and click the ***Finish*** button.
|
||||
|
||||
5. Remove the *Group* named `fuzz` from under the *Group* named `External/SPIRV-Tools/source`.
|
||||
|
||||
@ -224,6 +225,7 @@ if you encounter any building errors, you may need to re-add the *glslang* libra
|
||||
|
||||
$(inherited)
|
||||
"$(SRCROOT)/External/glslang"
|
||||
"$(SRCROOT)/External/glslang/build/include"
|
||||
|
||||
2. Repeat *Step 1* for the `glslang-iOS` target within the `ExternalDependencies` *Xcode* project
|
||||
|
||||
@ -238,12 +240,14 @@ if you encounter any building errors, you may need to re-add the *glslang* libra
|
||||
SPIRV
|
||||
|
||||
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.
|
||||
add the files to *all* of the `glslang-macOS`, `glslang-iOS`, and `glslang-tvOS` targets, and click the ***Finish*** button.
|
||||
|
||||
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
|
||||
External/glslang/glslang/OSDependent/Web
|
||||
External/glslang/glslang/HLSL
|
||||
|
||||
|
||||
|
||||
|
@ -1 +1 @@
|
||||
e5b2ff8935cbe779fbbaa02d3aa7659167eb7e35
|
||||
3b36fdc64014844db78671fa0ca1c0ef184e5b0d
|
||||
|
@ -1 +1 @@
|
||||
f938eb1daf5c2c9f895c70563760c35e074acc03
|
||||
91721642252a38f9162ec888d48886efce536eb6
|
||||
|
@ -1 +1 @@
|
||||
e00d27c6d65b7d3e72506a311d7f053da4051295
|
||||
3ee5f2f1d3316e228916788b300d786bb574d337
|
||||
|
@ -16,13 +16,15 @@ TPLT_BLD_DIR="${TPLT_DIR}/build"
|
||||
|
||||
# Ensure the SPIRV-Tools library is fully built
|
||||
cd ".."
|
||||
./fetchDependencies --build-spirv-tools
|
||||
./fetchDependencies --build-spirv-tools --no-parallel-build --none
|
||||
cd - > /dev/null
|
||||
|
||||
echo Updating SPIRV-Tools template build directory
|
||||
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}"
|
||||
|
||||
echo Creating pregenerated SPIRV-Tools build.zip package
|
||||
cd "${TPLT_DIR}"
|
||||
rm -f build.zip
|
||||
zip -qr build.zip build
|
||||
|
Binary file not shown.
@ -4,7 +4,7 @@
|
||||
#
|
||||
# fetchDependencies - Retrieves the correct versions of all dependencies
|
||||
#
|
||||
# macOS usage: ./fetchDependencies [--ios] [--iosfat] [--tvos] [--tvosfat] [--macos] [--all]
|
||||
# macOS usage: ./fetchDependencies [--ios] [--iosfat] [--tvos] [--tvosfat] [--macos] [--all] [--none]
|
||||
# [-v] [--debug] [--build-spirv-tools]
|
||||
# [--v-headers-root path] [--spirv-cross-root path] [--glslang-root path]
|
||||
#
|
||||
@ -30,6 +30,9 @@
|
||||
# binaries for each external library: one for the iOS and iOS Simulator platforms,
|
||||
# one for the tvOS and tvOS Simulator platforms, and one for the macOS platform.
|
||||
#
|
||||
# --none
|
||||
# Don't build the external libraries for any platform.
|
||||
#
|
||||
# Multiple platform options may be specified. At least one platform option must be specified.
|
||||
#
|
||||
# --debug
|
||||
@ -69,6 +72,7 @@ set -e
|
||||
|
||||
# ----------------- Functions -------------------
|
||||
|
||||
BLD_NONE=""
|
||||
BLD_IOS=""
|
||||
BLD_IOS_SIM=""
|
||||
BLD_TVOS=""
|
||||
@ -121,6 +125,11 @@ while (( "$#" )); do
|
||||
BLD_SPECIFIED="Y"
|
||||
shift 1
|
||||
;;
|
||||
--none)
|
||||
BLD_NONE="Y"
|
||||
BLD_SPECIFIED="Y"
|
||||
shift 1
|
||||
;;
|
||||
--debug)
|
||||
XC_CONFIG="Debug"
|
||||
shift 1
|
||||
@ -154,26 +163,17 @@ while (( "$#" )); do
|
||||
shift 2
|
||||
;;
|
||||
-*|--*=)
|
||||
echo "Error: Unsupported flag $1" >&2
|
||||
echo "Error: Unsupported option $1" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# if no platform was specified, print usage message and exit
|
||||
if [ "$BLD_SPECIFIED" = "" ]; then
|
||||
echo "ERROR: You did not specify a platform to build."
|
||||
echo "Include one or more of the following platform options:"
|
||||
echo " --ios --iosfat --tvos --tvosfat --macos --all"
|
||||
echo "See the instructions in the fetchDependencies script for more info."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Update a repository. If it exists, fetch it; if not, clone it.
|
||||
# $1 repo name
|
||||
# $2 repo url
|
||||
# $3 repo revision (commit SHA)
|
||||
update_repo() {
|
||||
function update_repo() {
|
||||
echo "$1 repo: $2"
|
||||
echo "$1 revision: $3"
|
||||
|
||||
@ -193,7 +193,7 @@ update_repo() {
|
||||
|
||||
# Build a repository
|
||||
# $1 repo name
|
||||
build_repo() {
|
||||
function build_repo() {
|
||||
echo "Building $1"
|
||||
|
||||
mkdir -p $1/build
|
||||
@ -314,6 +314,10 @@ else
|
||||
|
||||
cd ${REPO_NAME}
|
||||
./update_glslang_sources.py
|
||||
rm -rf build
|
||||
./build_info.py . \
|
||||
-i build_info.h.tmpl \
|
||||
-o build/include/glslang/build_info.h
|
||||
cd - > /dev/null
|
||||
fi
|
||||
|
||||
@ -366,6 +370,16 @@ cd ..
|
||||
|
||||
|
||||
# -------------- Build MoltenVK external library dependencies -----------------
|
||||
|
||||
# if no platform was specified, print usage message and exit
|
||||
if [ "$BLD_SPECIFIED" = "" ]; then
|
||||
echo "ERROR: You did not specify a platform to build."
|
||||
echo "Include one or more of the following platform options:"
|
||||
echo " --ios --iosfat --tvos --tvosfat --macos --all"
|
||||
echo "See the instructions in the fetchDependencies script for more info."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo
|
||||
echo ========== Started building dependency libraries at `date +"%r"` ==========
|
||||
echo Please be patient on first build
|
||||
@ -432,8 +446,14 @@ XC_DD_PATH="${EXT_DIR}/build"
|
||||
|
||||
# Structure build tasks by platform so they can be built in parallel per platform.
|
||||
# Content for each platform must be built in series to avoid
|
||||
trap "exit" INT TERM ERR
|
||||
trap "kill 0" EXIT
|
||||
if [ "$XC_USE_BCKGND" != "" ]; then
|
||||
trap "exit" INT TERM ERR
|
||||
trap "kill 0" EXIT
|
||||
fi
|
||||
|
||||
if [ "$BLD_NONE" != "" ]; then
|
||||
echo Not building any platforms
|
||||
fi
|
||||
|
||||
if [ "$BLD_MACOS" != "" ]; then
|
||||
build "macOS" "macOS"
|
||||
@ -456,7 +476,9 @@ if [ "$BLD_TVOS" != "" ]; then
|
||||
fi
|
||||
|
||||
# Wait for any background process (if selected) to finish
|
||||
wait
|
||||
if [ "$XC_USE_BCKGND" != "" ]; then
|
||||
wait
|
||||
fi
|
||||
|
||||
# Update latest symlink and clean MoltenVK for rebuild
|
||||
PROJECT_DIR="."
|
||||
@ -464,3 +486,4 @@ CONFIGURATION=${XC_CONFIG}
|
||||
. "./Scripts/package_ext_libs_finish.sh"
|
||||
|
||||
echo ========== Finished at `date +"%r"` ==========
|
||||
exit 0
|
||||
|
Loading…
x
Reference in New Issue
Block a user