Bill Hollings df8e0900fe Upgrade Cube demo to support Volk, as required by demo.
- Add Volk repo to fetchDependencies script and
  ExternalRevisions/Volk_repo_revision file.
- Cube.xcodeproj modify header paths, use of Volk,
  and remove old and unused files.
- Update Demos/README.md to explain that Volk requires MoltenVK
  be built with build setting MVK_HIDE_VULKAN_SYMBOLS enabled.
- MVKInstance support aliasing function name in one extension to a
  function in another extension, to allow MVK_HIDE_VULKAN_SYMBOLS to
  work with extensions promoted to another extension, but not to core,
  and remove additional duplicate functions that were promoted to 1.3,
  but were breaking use of MVK_HIDE_VULKAN_SYMBOLS.
2024-01-06 20:09:20 -05:00
..

MoltenVK

#MoltenVK Demo Projects

Copyright (c) 2015-2024 The Brenwill Workshop Ltd.

Table of Contents

Cube

The basic canonical Cube sample app from the Vulkan-Tools repository is included in this MoltenVK package.

This demo renders a basic textured cube that spins in place.

The demo can be found in the Cube folder, and in the Cube group in the Xcode Project Navigator in the Demos.xcworkspace Xcode workspace.

The Cube demo uses Volk, which requires Vulkan API static call symbols (vk*) to be hidden. Before building and running the Cube demo, build MoltenVK with the MVK_HIDE_VULKAN_SYMBOLS build setting enabled, such as with the following command-line command:

make MVK_HIDE_VULKAN_SYMBOLS=1

Then, to run this demo, run the Cube-iOS, Cube-tvOS, or Cube-macOS Scheme from within Xcode. In addition to devices, this demo will also run on the iOS Simulator or tvOS Simulator destinations.

The Cube demo is a simple example of installing MoltenVK as an XCFramework that is statically linked to the application. It supports all platforms, including Mac Catalyst, iOS Simulator and tvOS Simulator, and all architectures including Apple Silicon.

Khronos Vulkan Samples

Khronos Group provides a repository containing a full suite of standard Vulkan samples that run on MoltenVK on macOS.