Update dependency libraries to match Vulkan SDK 1.2.154.

This commit is contained in:
Bill Hollings 2020-09-28 19:03:00 -04:00
parent ec7189b3f7
commit 9f2fc8f7d0
9 changed files with 3245 additions and 3190 deletions

View File

@ -39,6 +39,7 @@ Released 2020/09/28
- `VK_KHR_external_semaphore_capabilities` (non-functional groundwork for
future `MTLSharedEvent` Vulkan extension)
- `VK_KHR_multiview`
- `VK_KHR_shader_subgroup_extended_types`
- Remove support for obsolete `VK_EXTX_portability_subset` extension.
- Redesign build and linking options that leverage newer framework technology:
- Add comprehensive support for multi-platform, multi-architecture `XCFrameworks`.
@ -46,18 +47,83 @@ Released 2020/09/28
- Add support for *Apple Silicon* builds for *macOS* and *Simulators*.
- Remove support for distinct legacy frameworks and static libraries.
- Remove support for fat libraries and frameworks that span device and simulators.
- Combine `MoltenVKSPIRVToMSLConverter` and `MoltenVKGLSLToSPIRVConverter` frameworks
into a single `MoltenVKShaderConverter` framework.
- Support copying between 3D and 2D images.
- Support clearing 3D images.
- Support linear images and buffer views in shared memory on *macOS 10.15.5+*.
- Support `VK_IMAGE_CREATE_EXTENDED_USAGE_BIT`.
- Support multiple aliased images for dedicated image memory allocations.
- Improve performance of tessellation control pipeline stage by processing multiple
patches per workgroup.
- `vkCmdBindDescriptorSets` order `pDynamicOffsets` by descriptor binding number
within each descriptor set.
- `vkCmdCopyImage` on macOS flush non-coherent image memory before copy operation.
- Process multiple patches per workgroup in a tessellation control shader.
- Initialize tessellation related variables conditionally in indirect draws.
- Fix build errors on Simulator not supporting `MTLDrawable` present time options.
- Fix `dynamicOffsets` ordering based on binding index.
- Ensure the base texture is created when creating a view texture.
- Fix features, alignment, and image properties of chroma subsampled formats.
- Disable `variableMultisampleRate` feature.
- Permit renderpass to have no attachments.
- Clear linear images using a compute shader.
- Reject attempts to create compressed linear images.
- Always use a texel buffer for atomic linear storage images.
- Use deferred store actions instead of tracking multi-pass draws.
- Use `MTLRenderPassDescriptor renderTargetWidth` and `renderTargetHeight` on macOS 10.15 and newer.
- Use a 2D non-arrayed view for 2D non-arrayed attachments.
- Use arrayed textures for layered subpass input.
- Use layered rendering when clearing or resolving images whenever possible,
and take `renderArea` into account.
- Streamline image copying when the entire source is being copied to the entire destination.
- Don't set `renderTargetArrayLength` on devices that don't support it.
- Don't attempt to clear unused attachments and fix vertex count for clearing multiple layers.
- Don't encode commands that draw zero vertices.
- Ignore `addressModeW` on samplers with unnormalized coordinates.
- Flip GPU when swapchain is created, not when device object is created,
to optimize this condition if it is not needed.
- Flush source image of a transfer on *macOS*.
- Fix offset for texel buffers and heaps for multi-planar images.
- Fix memory leak when object create fails.
- Fix several use-after-freed errors.
- Fix applying divisors to instanced vertex attributes.
- Fix issue in accessing `MTLTexture` for swapchain image planes.
- Fix occasional crash on vertex stage indirect draws.
- Fix reported image format properties for 1D images as 2D.
- `VK_EXT_vertex_attribute_divisor` fix issues with zero divisors.
- Re-add support for bitcode generation on *iOS* and *tvOS*.
- `fetchDependencies` builds serially by default for better build script integration.
- Combine `MoltenVKSPIRVToMSLConverter` and `MoltenVKGLSLToSPIRVConverter`
frameworks into a single `MoltenVKShaderConverter` framework.
- Fix Metal validation error when occlusion query and renderpass are in separate
Vulkan command buffers.
- Fix a crash on starting a query outside a render pass.
- Fix Metal validation error that forbids rendering to an image of zero size.
- Fix issue where descriptor pool releasing descriptor sets it doesn't own.
- Fix issue where load/store actions not set in renderpass that includes compute stage.
- Prevent accidental `setColorStoreAction` for non-color attachments.
- Fix image copy destination extent of compressed images.
- Fix image resolve sub-region extent.
- Fix owner of merged `MVKShaderLibraries`.
- Fix rounding of buffer sizing when `VK_WHOLE_SIZE` is used.
- Fix detection of indexed draw calls.
- `vkSetMTLTextureMVK()` Fix crash if incoming `MTLTexture` does not have an associated `IOSurface`.
- Update dependency libraries to match *Vulkan SDK 1.2.154*.
- Update to latest SPIRV-Cross version:
- MSL: Fix handling of matrices and structs in the output control point array.
- MSL: Enclose args when convert `distance(a,b)` to `abs(a-b)`.
- MSL: Fix multiview view index calculation with a non-zero base instance.
- MSL: Don't set the layer for multiview if the device doesn't support it.
- MSL: Fix `OpCompositeInsert` and `OpVectorInsertDynamic`.
- MSL: Support layered input attachments.
- Ensure that we use primary alias type when emitting flattened members.
- Only rewrite type aliases for the base type.
- Overhaul how we deal with reserved identifiers.
- Implement a simple evaluator of specialization constants.
- Deal with case where a selection construct conditionally merges/breaks.
- Allow `flip_vert_y` in all relevant stages.
- Clean up conditional branch codegen.

File diff suppressed because it is too large Load Diff

View File

@ -1 +1 @@
bad9dab8df6f2e6b80da9693db247b9357aebd2f
e6f5ce6b8998f551f3400ad743b77be51bbe3019

View File

@ -1 +1 @@
3b36fdc64014844db78671fa0ca1c0ef184e5b0d
2bfd6a752dc6cb26ceda4ec9d56e7dce98527680

View File

@ -1 +1 @@
91721642252a38f9162ec888d48886efce536eb6
a1fe1176690ec2574deb4dd3be6c4e62d1f5d186

View File

@ -1 +1 @@
3ee5f2f1d3316e228916788b300d786bb574d337
bacaef3237c515e40d1a24722be48c0a0b30f75f

View File

@ -16,7 +16,7 @@ TPLT_BLD_DIR="${TPLT_DIR}/build"
# Ensure the SPIRV-Tools library is fully built
cd ".."
./fetchDependencies --build-spirv-tools --no-parallel-build --none
./fetchDependencies --build-spirv-tools --none
cd - > /dev/null
echo Updating SPIRV-Tools template build directory

Binary file not shown.

View File

@ -92,27 +92,22 @@ while (( "$#" )); do
case "$1" in
--ios)
BLD_IOS="Y"
BLD_SPECIFIED="Y"
shift 1
;;
--iossim)
BLD_IOS_SIM="Y"
BLD_SPECIFIED="Y"
shift 1
;;
--tvos)
BLD_TVOS="Y"
BLD_SPECIFIED="Y"
shift 1
;;
--tvossim)
BLD_TVOS_SIM="Y"
BLD_SPECIFIED="Y"
shift 1
;;
--macos)
BLD_MACOS="Y"
BLD_SPECIFIED="Y"
shift 1
;;
--all)
@ -121,12 +116,10 @@ while (( "$#" )); do
BLD_TVOS="Y"
BLD_TVOS_SIM="Y"
BLD_MACOS="Y"
BLD_SPECIFIED="Y"
shift 1
;;
--none)
BLD_NONE="Y"
BLD_SPECIFIED="Y"
shift 1
;;
--debug)
@ -362,15 +355,6 @@ 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 " --macos --ios --iossim --tvos --tvossim --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
@ -379,6 +363,7 @@ echo Please be patient on first build
# 1 - OS
# 2 - platform
function build_impl() {
BLD_SPECIFIED="Y"
XC_OS=${1}
XC_PLTFM=${2}
@ -422,10 +407,6 @@ if [ "$XC_USE_BCKGND" != "" ]; then
trap "kill 0" EXIT
fi
if [ "$BLD_NONE" != "" ]; then
echo Not building any platforms
fi
if [ "$BLD_MACOS" != "" ]; then
build "macOS" "macOS"
fi
@ -451,11 +432,23 @@ if [ "$XC_USE_BCKGND" != "" ]; then
wait
fi
# Build XCFrameworks, update latest symlink, and clean MoltenVK for rebuild
PROJECT_DIR="."
CONFIGURATION=${XC_CONFIG}
. "./Scripts/create_ext_lib_xcframeworks.sh"
. "./Scripts/package_ext_libs_finish.sh"
if [ "$BLD_SPECIFIED" != "" ]; then
# Build XCFrameworks, update latest symlink, and clean MoltenVK for rebuild
PROJECT_DIR="."
CONFIGURATION=${XC_CONFIG}
. "./Scripts/create_ext_lib_xcframeworks.sh"
. "./Scripts/package_ext_libs_finish.sh"
else
if [ "$BLD_NONE" != "" ]; then
echo Not building any platforms
else
echo "WARNING: You did not specify a platform to build."
echo "To build the external libraries, include one or"
echo "more of the following platform options:"
echo " --macos --ios --iossim --tvos --tvossim --all"
echo "See the instructions in the fetchDependencies script for more info."
fi
fi
echo ========== Finished at `date +"%r"` ==========
exit 0