Created
April 25, 2020 00:02
-
-
Save prideout/63cc56bb4fbc9847e3779fec0db75c31 to your computer and use it in GitHub Desktop.
Vulkan Validation on macOS
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(1) cd ~/github/glslang/build | |
git pull | |
cmake .. | |
sudo chown -R $(whoami) /usr/local/bin /usr/local/etc /usr/local/sbin /usr/local/share /usr/local/share/doc | |
make install | |
(2) cd ~/github/Vulkan-Headers | |
git pull | |
rm -rf build ; mkdir -p build && cd build | |
make install | |
(3) | |
VkImageViewAddressPropertiesNVX | |
unknown type name 'VkRayTracingPipelineCreateInfoKHR'; did you mean 'VkRayTracingPipelineCreateInfoNV'? | |
KHR is Beta, NV is not. | |
cd ~/github/Vulkan-ValidationLayers | |
git clone https://github.com/google/googletest.git external/googletest | |
cd external/googletest | |
git checkout tags/release-1.8.1 | |
rm -rf build ; mkdir -p build && cd build | |
cmake \ | |
-DCMAKE_BUILD_TYPE=Debug \ | |
-DGLSLANG_INSTALL_DIR=/usr/local \ | |
-DVULKAN_HEADERS_INSTALL_DIR=/usr/local .. | |
make | |
export VK_ICD_FILENAMES=/Users/prideout/github/vulkansdk-macos-1.2.135.0/macOS/share/vulkan/icd.d/MoltenVK_icd.json | |
./tests/vk_layer_validation_tests | |
--- | |
1. Download the latest tarball from https://vulkan.lunarg.com/sdk/home | |
2. Unpack the tarball and run `./install_vulkan.py` | |
- If you see a complaint about `/usr/local/lib/cmake`, do a force install. | |
- It might complain about permissions, in which case you could do | |
`sudo chown -R $(whoami) /usr/local/bin`. | |
3. To set environment variables such as VK_ICD_FILENAMES etc, do `source MY_SDK/setup-env.sh`. | |
4. If you see a dialog like "Apple cannot check it for malicious software..." then you might need | |
enable the dylib by ctrl-clicking it in Finder, clicking open, then clicking open again. | |
Image layout validation is done in multiple places throughout the core_validation layer. When it is | |
possible to know the layout at command buffer record time (for example if an image layout transition | |
was done earlier in that command buffer), the current image layout is compared against the | |
binding/usage in copy, dispatch, and draw calls. Where the image layout state cannot be determined | |
that check is deferred until queue submission of the command buffer, when the required state of the | |
image layout from the point of view of the command buffer is compared to the current/global state of | |
the image layout. |
Author
prideout
commented
Apr 27, 2020
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment