Skip to content

Support Vulkan Loader and VVL on iOS Simulator for SDKs >= 1.4.357 - #1572

Open
SRSaunders wants to merge 4 commits into
KhronosGroup:mainfrom
SRSaunders:iossim-loader-vvl
Open

Support Vulkan Loader and VVL on iOS Simulator for SDKs >= 1.4.357#1572
SRSaunders wants to merge 4 commits into
KhronosGroup:mainfrom
SRSaunders:iossim-loader-vvl

Conversation

@SRSaunders

Copy link
Copy Markdown
Contributor

Description

The Vulkan SDK 1.4.357 now includes support for the Vulkan Loader and Vulkan Validation Layer (VVL) on the iOS Simulator. New .xcframework packages are available in the SDK that include these target libraries.

This PR adds support for these new target libs in the Vulkan-Samples build system for Vulkan SDKs >= 1.4.357.

This PR also fixes a bind_vertex_buffers() boundary validation error in gui.h specifically for the iOS Simulator. This was discovered once the VVL was available to run on that target.

Fixes #1571.

Tested on macOS Sequoia x86_64 running the iOS Simulator. Regression tested on macOS Sequoia native. Since these changes are guarded by iOS Simulator #ifdef guards, there should be no need to worry about other platforms.

General Checklist:

Please ensure the following points are checked:

  • My code follows the coding style
  • I have reviewed file licenses
  • I have commented any added functions (in line with Doxygen)
  • I have commented any code that could be hard to understand
  • My changes do not add any new compiler warnings
  • My changes do not add any new validation layer errors or warnings
  • I have used existing framework/helper functions where possible
  • My changes do not add any regressions
  • I have tested every sample to ensure everything runs correctly
  • This PR describes the scope and expected impact of the changes I am making

Note: The Samples CI runs a number of checks including:

  • I have updated the header Copyright to reflect the current year (CI build will fail if Copyright is out of date)
  • My changes build on Windows, Linux, macOS and Android. Otherwise I have documented any exceptions

If this PR contains framework changes:

  • I did a full batch run using the batch command line argument to make sure all samples still work properly

Sample Checklist

If your PR contains a new or modified sample, these further checks must be carried out in addition to the General Checklist:

  • I have tested the sample on at least one compliant Vulkan implementation
  • If the sample is vendor-specific, I have tagged it appropriately
  • I have stated on what implementation the sample has been tested so that others can test on different implementations and platforms
  • Any dependent assets have been merged and published in downstream modules
  • For new samples, I have added a paragraph with a summary to the appropriate chapter in the readme of the folder that the sample belongs to e.g. api samples readme
  • For new samples, I have added a tutorial README.md file to guide users through what they need to know to implement code using this feature. For example, see conditional_rendering
  • For new samples, I have added a link to the Antora navigation so that the sample will be listed at the Vulkan documentation site

@SRSaunders

SRSaunders commented Sep 8, 2026

Copy link
Copy Markdown
Contributor Author

I don't understand why Clang Tidy is failing. No useful error message:

/usr/bin/run-clang-tidy -j $(($(nproc)/2+1)) -p build/clang -header-filter=framework,samples,app -checks=-*,google-*,-google-runtime-references -quiet bldsys/cmake/global_options.cmake framework/gui.h 2>&1 | grep -v "third_party/glfw"
shell: sh -e {0}
env:
  TARGET_BRANCH: main
Error: Process completed with exit code 1.

The only thing that seems off is the following message from cmake in the setup, for a file I did not touch (this may be a red herring since earlier successful runs seem to show this as well):

cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DGLFW_BUILD_WAYLAND=OFF -Bbuild/clang
...
-- Looking for fwrite_unlocked
-- Looking for fwrite_unlocked - found
fatal: No names found, cannot describe anything.
CMake Warning at third_party/flatbuffers/CMake/Version.cmake:32 (message):
-- Proceeding with version: 25.2.10.0
-- Looking for strtof_l
  git describe failed with exit code: 128

  Make sure you cloned with tags or run 'git fetch --tags'.
Call Stack (most recent call first):
  third_party/flatbuffers/CMakeLists.txt:5 (include)


-- Looking for strtof_l - found
...

@SRSaunders

SRSaunders commented Sep 9, 2026

Copy link
Copy Markdown
Contributor Author

There may be something wrong in the CI environment that is causing Clang Tidy to fail. When I run the same cmake setup and run-clang-tidy command locally on my Manjaro Linux box, it runs fine with no errors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Missing support for the Vulkan Loader and VVL on iOS Simulator

1 participant