#!/bin/sh

set -e

workdir=$(mktemp -d)
trap 'rm -fr "$workdir"' EXIT

cat <<'EOF' > "$workdir/tmp.cpp"
#include <vulkan/vulkan.h>
#include <vulkan/vulkan_profiles.hpp>

int main() {
    VpCapabilities capabilities = VK_NULL_HANDLE;
    VpCapabilitiesCreateInfo createInfo{};
    createInfo.apiVersion = VK_API_VERSION_1_1;
    createInfo.flags = VP_PROFILE_CREATE_STATIC_BIT;
    createInfo.pVulkanFunctions = nullptr;
    VkResult result = vpCreateCapabilities(&createInfo, nullptr, &capabilities);
    if (result != VK_SUCCESS || capabilities == VK_NULL_HANDLE) {
        return 1;
    }
}
EOF

g++ "$workdir/tmp.cpp" -lVkLayer_khronos_profiles -lvulkan -o "$workdir/a.out"
$workdir/a.out
