Vulkan Hardware Capability Viewer - Mac OSX support Device simulation JSON

New target platform - Mac OSX

With the recent updates from the Vulkan® Portability™ initiative and the addition of the relevant extensions in release 2.21, Mac OSX has become an even more important target for Vulkan applications.

So I decided to officially add support for Mac OSX to the Vulkan Hardware Capability Viewer. This only required a few changes to the application’s source code (mostly related to surface extensions) and a new target for the Travis CI setup to build the binaries. As the App is using Qt, getting the CI build for Mac OSX up-and-running was pretty straight forward. I’m using Brew to install a current version of the Vulkan SDK provided via a package from Andrew Grave.

Mac OSX related additions to the .travis.yml CI file:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
  - name: Build Mac OSX
    os: osx
    dist: xenial
    group: stable
    compiler: clang
    env: TARGET_PLATFORM=osx
    addons:
      homebrew:
        packages:
        - qt  
    install:
      - brew cask install apenngrace/vulkan/vulkan-sdk
      - export PATH=$PATH:/usr/local/opt/qt/bin
      - export CPATH=$CPATH:/usr/local/include/    
    script:
      - qmake -config release
      - make -j$(nproc)
      - macdeployqt vulkanCapsViewer.app -dmg
    after_success:
      - cp vulkanCapsviewer.dmg Vulkan_Caps_Viewer-osx-x86_64.dmg
      - chmod +x ./redist/deploy.sh
      - ./redist/deploy.sh

As I don’t own a Mac OSX device, testing was thankfully done by Oscar Barenys and Dietmar Suoch, which both provided valuable feedback and tests on proper hardware.

Device simulation JSON files

Along with the Vulkan® Portability™ initiative, LunarG also introduced a new JSON schema for generating JSON files to be used with the VK_KHR_portability_subset extension. Unlike the full JSON, containing all data from a report, this only contains information related to that particular extension. For reports from the database that support this new extension, you can now also download a JSON based on the VK_KHR_portability_subset schema. To make the JSON downloads more accessible, the download links have been moved into the device properties table. Info on how to use the DevSim layer can be found in LunarG’s Vulkan SDK documentation. A sample report for OSX can be found here.

Download

The Mac OSX version has been added to the download page, so from now on there’ll always be up-to-date builds for the Apple platform.