From 6e590c31d0ceaf3edc717d4e79aacc9afed46f5c Mon Sep 17 00:00:00 2001 From: Mark Lobodzinski Date: Wed, 11 Apr 2018 13:38:11 -0600 Subject: [PATCH] cube: Move cube directory up to top level dir Change-Id: Ie1116b0b6de742b4f85834a4c9d1927dd641e19b --- CMakeLists.txt | 41 +- common/android_util.cpp | 84 ---- common/android_util.h | 32 -- common/vulkan_wrapper.cpp | 446 --------------------- common/vulkan_wrapper.h | 239 ----------- {demos => cube}/CMakeLists.txt | 107 +++-- .../android/cube-with-layers/AndroidManifest.xml | 0 .../android/cube-with-layers/custom_rules.xml | 0 .../cube-with-layers/res/values/strings.xml | 0 {demos => cube}/android/cube/AndroidManifest.xml | 0 {demos => cube}/android/cube/custom_rules.xml | 0 .../android/cube/res/values/strings.xml | 0 {demos => cube}/android/include/cube.frag.h | 0 {demos => cube}/android/include/cube.frag.inc | 0 {demos => cube}/android/include/cube.vert.h | 0 {demos => cube}/android/include/cube.vert.inc | 0 {demos => cube}/android/include/lunarg.ppm.h | 0 {demos => cube}/android/jni/Android.mk | 0 {demos => cube}/android/jni/Application.mk | 0 {demos => cube}/cube.c | 0 {demos => cube}/cube.cpp | 0 {demos => cube}/cube.frag | 0 {demos => cube}/cube.vcxproj.user | 0 {demos => cube}/cube.vert | 0 {demos => cube}/gettime.h | 0 {demos => cube}/linmath.h | 0 {demos => cube}/lunarg.ppm | 0 {demos => cube}/macOS/common.cmake | 0 .../macOS/cubepp => cube/macOS/cube}/AppDelegate.h | 0 {demos => cube}/macOS/cube/AppDelegate.m | 0 .../macOS/cube}/DemoViewController.h | 0 {demos => cube}/macOS/cube/DemoViewController.m | 0 {demos => cube}/macOS/cube/Info.plist | 0 .../macOS/cube}/Resources/LunarGIcon.icns | Bin .../macOS/cube}/Resources/Main.storyboard | 0 {demos => cube}/macOS/cube/cube.cmake | 0 {demos => cube}/macOS/cube/main.m | 0 .../macOS/cube => cube/macOS/cubepp}/AppDelegate.h | 0 {demos => cube}/macOS/cubepp/AppDelegate.mm | 0 .../macOS/cubepp}/DemoViewController.h | 0 {demos => cube}/macOS/cubepp/DemoViewController.mm | 0 {demos => cube}/macOS/cubepp/Info.plist | 0 .../macOS/cubepp/Resources/LunarGIcon.icns | Bin .../macOS/cubepp}/Resources/Main.storyboard | 0 {demos => cube}/macOS/cubepp/cubepp.cmake | 0 {demos => cube}/macOS/cubepp/main.mm | 0 {demos => cube}/object_type_string_helper.h | 0 .../vulkaninfo => vulkaninfo/macOS}/Info.plist | 0 .../macOS}/Resources/LunarGIcon.icns | Bin .../macOS}/vulkaninfo.cmake | 0 .../vulkaninfo => vulkaninfo/macOS}/vulkaninfo.sh | 0 51 files changed, 71 insertions(+), 878 deletions(-) delete mode 100644 common/android_util.cpp delete mode 100644 common/android_util.h delete mode 100644 common/vulkan_wrapper.cpp delete mode 100644 common/vulkan_wrapper.h rename {demos => cube}/CMakeLists.txt (64%) rename {demos => cube}/android/cube-with-layers/AndroidManifest.xml (100%) rename {demos => cube}/android/cube-with-layers/custom_rules.xml (100%) rename {demos => cube}/android/cube-with-layers/res/values/strings.xml (100%) rename {demos => cube}/android/cube/AndroidManifest.xml (100%) rename {demos => cube}/android/cube/custom_rules.xml (100%) rename {demos => cube}/android/cube/res/values/strings.xml (100%) rename {demos => cube}/android/include/cube.frag.h (100%) rename {demos => cube}/android/include/cube.frag.inc (100%) rename {demos => cube}/android/include/cube.vert.h (100%) rename {demos => cube}/android/include/cube.vert.inc (100%) rename {demos => cube}/android/include/lunarg.ppm.h (100%) rename {demos => cube}/android/jni/Android.mk (100%) rename {demos => cube}/android/jni/Application.mk (100%) rename {demos => cube}/cube.c (100%) rename {demos => cube}/cube.cpp (100%) rename {demos => cube}/cube.frag (100%) rename {demos => cube}/cube.vcxproj.user (100%) rename {demos => cube}/cube.vert (100%) rename {demos => cube}/gettime.h (100%) rename {demos => cube}/linmath.h (100%) rename {demos => cube}/lunarg.ppm (100%) rename {demos => cube}/macOS/common.cmake (100%) rename {demos/macOS/cubepp => cube/macOS/cube}/AppDelegate.h (100%) rename {demos => cube}/macOS/cube/AppDelegate.m (100%) rename {demos/macOS/cubepp => cube/macOS/cube}/DemoViewController.h (100%) rename {demos => cube}/macOS/cube/DemoViewController.m (100%) rename {demos => cube}/macOS/cube/Info.plist (100%) rename {demos/macOS/vulkaninfo => cube/macOS/cube}/Resources/LunarGIcon.icns (100%) rename {demos/macOS/cubepp => cube/macOS/cube}/Resources/Main.storyboard (100%) rename {demos => cube}/macOS/cube/cube.cmake (100%) rename {demos => cube}/macOS/cube/main.m (100%) rename {demos/macOS/cube => cube/macOS/cubepp}/AppDelegate.h (100%) rename {demos => cube}/macOS/cubepp/AppDelegate.mm (100%) rename {demos/macOS/cube => cube/macOS/cubepp}/DemoViewController.h (100%) rename {demos => cube}/macOS/cubepp/DemoViewController.mm (100%) rename {demos => cube}/macOS/cubepp/Info.plist (100%) rename {demos => cube}/macOS/cubepp/Resources/LunarGIcon.icns (100%) rename {demos/macOS/cube => cube/macOS/cubepp}/Resources/Main.storyboard (100%) rename {demos => cube}/macOS/cubepp/cubepp.cmake (100%) rename {demos => cube}/macOS/cubepp/main.mm (100%) rename {demos => cube}/object_type_string_helper.h (100%) rename {demos/macOS/vulkaninfo => vulkaninfo/macOS}/Info.plist (100%) rename {demos/macOS/cube => vulkaninfo/macOS}/Resources/LunarGIcon.icns (100%) rename {demos/macOS/vulkaninfo => vulkaninfo/macOS}/vulkaninfo.cmake (100%) rename {demos/macOS/vulkaninfo => vulkaninfo/macOS}/vulkaninfo.sh (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index c13c099..97486d6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,40 +46,7 @@ endif() set_property(GLOBAL PROPERTY USE_FOLDERS ON) set(LVL_TARGET_FOLDER lvl_cmake_targets) -if(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "Darwin") - set(FALLBACK_CONFIG_DIRS "/etc/xdg" CACHE STRING - "Search path to use when XDG_CONFIG_DIRS is unset or empty or the current process is SUID/SGID. Default is freedesktop compliant.") - set(FALLBACK_DATA_DIRS "/usr/local/share:/usr/share" CACHE STRING - "Search path to use when XDG_DATA_DIRS is unset or empty or the current process is SUID/SGID. Default is freedesktop compliant.") -endif() - -if(CMAKE_SYSTEM_NAME STREQUAL "Linux") - include(FindPkgConfig) - option(BUILD_WSI_XCB_SUPPORT "Build XCB WSI support" ON) - option(BUILD_WSI_XLIB_SUPPORT "Build Xlib WSI support" ON) - option(BUILD_WSI_WAYLAND_SUPPORT "Build Wayland WSI support" ON) - option(BUILD_WSI_MIR_SUPPORT "Build Mir WSI support" OFF) - set(DEMOS_WSI_SELECTION "XCB" CACHE STRING "Select WSI target for demos (XCB, XLIB, WAYLAND, MIR, DISPLAY)") - - if (BUILD_WSI_XCB_SUPPORT) - find_package(XCB REQUIRED) - endif() - - if (BUILD_WSI_XLIB_SUPPORT) - find_package(X11 REQUIRED) - endif() - - if (BUILD_WSI_WAYLAND_SUPPORT) - find_package(Wayland REQUIRED) - include_directories(${WAYLAND_CLIENT_INCLUDE_DIR}) - endif() - - if (BUILD_WSI_MIR_SUPPORT) - find_package(Mir REQUIRED) - endif() - -endif() - +# Move to ICD set(SCRIPTS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/scripts") # Header file for CMake settings @@ -151,7 +118,7 @@ else() endif() endif() -option(BUILD_DEMOS "Build demos" ON) +option(BUILD_CUBE "Build cube" ON) option(BUILD_VULKANINFO "Build vulkaninfo" ON) option(BUILD_ICD "Build icd" ON) @@ -192,8 +159,8 @@ endif() add_definitions(-DAPI_NAME="${API_NAME}") -if(BUILD_DEMOS) - add_subdirectory(demos) +if(BUILD_CUBE) + add_subdirectory(cube) endif() if(BUILD_VULKANINFO) add_subdirectory(vulkaninfo) diff --git a/common/android_util.cpp b/common/android_util.cpp deleted file mode 100644 index 173e8ab..0000000 --- a/common/android_util.cpp +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (c) 2016 Google, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * Relicensed from the WTFPL (http://www.wtfpl.net/faq/). - */ - -#include "android_util.h" -#include -#include -#include -#include -#include -#include -#include - -extern "C" { - -// Convert Intents to arg list, returning argc and argv -// Note that this C routine mallocs memory that the caller must free -char **get_args(struct android_app *app, const char *intent_extra_data_key, const char *appTag, int *count) { - std::vector args; - JavaVM &vm = *app->activity->vm; - JNIEnv *p_env; - if (vm.AttachCurrentThread(&p_env, nullptr) != JNI_OK) return nullptr; - - JNIEnv &env = *p_env; - jobject activity = app->activity->clazz; - jmethodID get_intent_method = env.GetMethodID(env.GetObjectClass(activity), "getIntent", "()Landroid/content/Intent;"); - jobject intent = env.CallObjectMethod(activity, get_intent_method); - jmethodID get_string_extra_method = - env.GetMethodID(env.GetObjectClass(intent), "getStringExtra", "(Ljava/lang/String;)Ljava/lang/String;"); - jvalue get_string_extra_args; - get_string_extra_args.l = env.NewStringUTF(intent_extra_data_key); - jstring extra_str = static_cast(env.CallObjectMethodA(intent, get_string_extra_method, &get_string_extra_args)); - - std::string args_str; - if (extra_str) { - const char *extra_utf = env.GetStringUTFChars(extra_str, nullptr); - args_str = extra_utf; - env.ReleaseStringUTFChars(extra_str, extra_utf); - env.DeleteLocalRef(extra_str); - } - - env.DeleteLocalRef(get_string_extra_args.l); - env.DeleteLocalRef(intent); - vm.DetachCurrentThread(); - - // split args_str - std::stringstream ss(args_str); - std::string arg; - while (std::getline(ss, arg, ' ')) { - if (!arg.empty()) args.push_back(arg); - } - - // Convert our STL results to C friendly constructs - assert(count != nullptr); - *count = args.size() + 1; - char **vector = (char **)malloc(*count * sizeof(char *)); - const char *appName = appTag ? appTag : (const char *)"appTag"; - - vector[0] = (char *)malloc(strlen(appName) * sizeof(char)); - strcpy(vector[0], appName); - - for (uint32_t i = 0; i < args.size(); i++) { - vector[i + 1] = (char *)malloc(strlen(args[i].c_str()) * sizeof(char)); - strcpy(vector[i + 1], args[i].c_str()); - } - - return vector; -} - -} // extern "C" diff --git a/common/android_util.h b/common/android_util.h deleted file mode 100644 index e896645..0000000 --- a/common/android_util.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (c) 2016 Google, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * Relicensed from the WTFPL (http://www.wtfpl.net/faq/). - */ - -#ifndef ANDROID_UTIL_H -#define ANDROID_UTIL_H - -#ifdef __cplusplus -extern "C" { -#endif - -char **get_args(struct android_app *app, const char *intent_extra_data_key, const char *appTag, int *count); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/common/vulkan_wrapper.cpp b/common/vulkan_wrapper.cpp deleted file mode 100644 index b51290c..0000000 --- a/common/vulkan_wrapper.cpp +++ /dev/null @@ -1,446 +0,0 @@ -/* - * Copyright 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -// This file is generated. -#ifdef __cplusplus -extern "C" { -#endif - -#include "vulkan_wrapper.h" -#include - -int InitVulkan(void) { - void *libvulkan = dlopen("libvulkan.so", RTLD_NOW | RTLD_LOCAL); - if (!libvulkan) return 0; - - // Vulkan supported, set function addresses - vkCreateInstance = reinterpret_cast(dlsym(libvulkan, "vkCreateInstance")); - vkDestroyInstance = reinterpret_cast(dlsym(libvulkan, "vkDestroyInstance")); - vkEnumeratePhysicalDevices = reinterpret_cast(dlsym(libvulkan, "vkEnumeratePhysicalDevices")); - vkGetPhysicalDeviceFeatures = - reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceFeatures")); - vkGetPhysicalDeviceFeatures2 = - reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceFeatures2")); - vkGetPhysicalDeviceFormatProperties = - reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceFormatProperties")); - vkGetPhysicalDeviceImageFormatProperties = reinterpret_cast( - dlsym(libvulkan, "vkGetPhysicalDeviceImageFormatProperties")); - vkGetPhysicalDeviceProperties = - reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceProperties")); - vkGetPhysicalDeviceQueueFamilyProperties = reinterpret_cast( - dlsym(libvulkan, "vkGetPhysicalDeviceQueueFamilyProperties")); - vkGetPhysicalDeviceMemoryProperties = - reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceMemoryProperties")); - vkGetInstanceProcAddr = reinterpret_cast(dlsym(libvulkan, "vkGetInstanceProcAddr")); - vkGetDeviceProcAddr = reinterpret_cast(dlsym(libvulkan, "vkGetDeviceProcAddr")); - vkCreateDevice = reinterpret_cast(dlsym(libvulkan, "vkCreateDevice")); - vkDestroyDevice = reinterpret_cast(dlsym(libvulkan, "vkDestroyDevice")); - vkEnumerateInstanceExtensionProperties = - reinterpret_cast(dlsym(libvulkan, "vkEnumerateInstanceExtensionProperties")); - vkEnumerateDeviceExtensionProperties = - reinterpret_cast(dlsym(libvulkan, "vkEnumerateDeviceExtensionProperties")); - vkEnumerateInstanceLayerProperties = - reinterpret_cast(dlsym(libvulkan, "vkEnumerateInstanceLayerProperties")); - vkEnumerateDeviceLayerProperties = - reinterpret_cast(dlsym(libvulkan, "vkEnumerateDeviceLayerProperties")); - vkGetDeviceQueue = reinterpret_cast(dlsym(libvulkan, "vkGetDeviceQueue")); - vkQueueSubmit = reinterpret_cast(dlsym(libvulkan, "vkQueueSubmit")); - vkQueueWaitIdle = reinterpret_cast(dlsym(libvulkan, "vkQueueWaitIdle")); - vkDeviceWaitIdle = reinterpret_cast(dlsym(libvulkan, "vkDeviceWaitIdle")); - vkAllocateMemory = reinterpret_cast(dlsym(libvulkan, "vkAllocateMemory")); - vkFreeMemory = reinterpret_cast(dlsym(libvulkan, "vkFreeMemory")); - vkMapMemory = reinterpret_cast(dlsym(libvulkan, "vkMapMemory")); - vkUnmapMemory = reinterpret_cast(dlsym(libvulkan, "vkUnmapMemory")); - vkFlushMappedMemoryRanges = reinterpret_cast(dlsym(libvulkan, "vkFlushMappedMemoryRanges")); - vkInvalidateMappedMemoryRanges = - reinterpret_cast(dlsym(libvulkan, "vkInvalidateMappedMemoryRanges")); - vkGetDeviceMemoryCommitment = - reinterpret_cast(dlsym(libvulkan, "vkGetDeviceMemoryCommitment")); - vkBindBufferMemory = reinterpret_cast(dlsym(libvulkan, "vkBindBufferMemory")); - vkBindImageMemory = reinterpret_cast(dlsym(libvulkan, "vkBindImageMemory")); - vkGetBufferMemoryRequirements = - reinterpret_cast(dlsym(libvulkan, "vkGetBufferMemoryRequirements")); - vkGetImageMemoryRequirements = - reinterpret_cast(dlsym(libvulkan, "vkGetImageMemoryRequirements")); - vkGetImageSparseMemoryRequirements = - reinterpret_cast(dlsym(libvulkan, "vkGetImageSparseMemoryRequirements")); - vkGetPhysicalDeviceSparseImageFormatProperties = reinterpret_cast( - dlsym(libvulkan, "vkGetPhysicalDeviceSparseImageFormatProperties")); - vkQueueBindSparse = reinterpret_cast(dlsym(libvulkan, "vkQueueBindSparse")); - vkCreateFence = reinterpret_cast(dlsym(libvulkan, "vkCreateFence")); - vkDestroyFence = reinterpret_cast(dlsym(libvulkan, "vkDestroyFence")); - vkResetFences = reinterpret_cast(dlsym(libvulkan, "vkResetFences")); - vkGetFenceStatus = reinterpret_cast(dlsym(libvulkan, "vkGetFenceStatus")); - vkWaitForFences = reinterpret_cast(dlsym(libvulkan, "vkWaitForFences")); - vkCreateSemaphore = reinterpret_cast(dlsym(libvulkan, "vkCreateSemaphore")); - vkDestroySemaphore = reinterpret_cast(dlsym(libvulkan, "vkDestroySemaphore")); - vkCreateEvent = reinterpret_cast(dlsym(libvulkan, "vkCreateEvent")); - vkDestroyEvent = reinterpret_cast(dlsym(libvulkan, "vkDestroyEvent")); - vkGetEventStatus = reinterpret_cast(dlsym(libvulkan, "vkGetEventStatus")); - vkSetEvent = reinterpret_cast(dlsym(libvulkan, "vkSetEvent")); - vkResetEvent = reinterpret_cast(dlsym(libvulkan, "vkResetEvent")); - vkCreateQueryPool = reinterpret_cast(dlsym(libvulkan, "vkCreateQueryPool")); - vkDestroyQueryPool = reinterpret_cast(dlsym(libvulkan, "vkDestroyQueryPool")); - vkGetQueryPoolResults = reinterpret_cast(dlsym(libvulkan, "vkGetQueryPoolResults")); - vkCreateBuffer = reinterpret_cast(dlsym(libvulkan, "vkCreateBuffer")); - vkDestroyBuffer = reinterpret_cast(dlsym(libvulkan, "vkDestroyBuffer")); - vkCreateBufferView = reinterpret_cast(dlsym(libvulkan, "vkCreateBufferView")); - vkDestroyBufferView = reinterpret_cast(dlsym(libvulkan, "vkDestroyBufferView")); - vkCreateImage = reinterpret_cast(dlsym(libvulkan, "vkCreateImage")); - vkDestroyImage = reinterpret_cast(dlsym(libvulkan, "vkDestroyImage")); - vkGetImageSubresourceLayout = - reinterpret_cast(dlsym(libvulkan, "vkGetImageSubresourceLayout")); - vkCreateImageView = reinterpret_cast(dlsym(libvulkan, "vkCreateImageView")); - vkDestroyImageView = reinterpret_cast(dlsym(libvulkan, "vkDestroyImageView")); - vkCreateShaderModule = reinterpret_cast(dlsym(libvulkan, "vkCreateShaderModule")); - vkDestroyShaderModule = reinterpret_cast(dlsym(libvulkan, "vkDestroyShaderModule")); - vkCreatePipelineCache = reinterpret_cast(dlsym(libvulkan, "vkCreatePipelineCache")); - vkDestroyPipelineCache = reinterpret_cast(dlsym(libvulkan, "vkDestroyPipelineCache")); - vkGetPipelineCacheData = reinterpret_cast(dlsym(libvulkan, "vkGetPipelineCacheData")); - vkMergePipelineCaches = reinterpret_cast(dlsym(libvulkan, "vkMergePipelineCaches")); - vkCreateGraphicsPipelines = reinterpret_cast(dlsym(libvulkan, "vkCreateGraphicsPipelines")); - vkCreateComputePipelines = reinterpret_cast(dlsym(libvulkan, "vkCreateComputePipelines")); - vkDestroyPipeline = reinterpret_cast(dlsym(libvulkan, "vkDestroyPipeline")); - vkCreatePipelineLayout = reinterpret_cast(dlsym(libvulkan, "vkCreatePipelineLayout")); - vkDestroyPipelineLayout = reinterpret_cast(dlsym(libvulkan, "vkDestroyPipelineLayout")); - vkCreateSampler = reinterpret_cast(dlsym(libvulkan, "vkCreateSampler")); - vkDestroySampler = reinterpret_cast(dlsym(libvulkan, "vkDestroySampler")); - vkCreateDescriptorSetLayout = - reinterpret_cast(dlsym(libvulkan, "vkCreateDescriptorSetLayout")); - vkDestroyDescriptorSetLayout = - reinterpret_cast(dlsym(libvulkan, "vkDestroyDescriptorSetLayout")); - vkCreateDescriptorPool = reinterpret_cast(dlsym(libvulkan, "vkCreateDescriptorPool")); - vkDestroyDescriptorPool = reinterpret_cast(dlsym(libvulkan, "vkDestroyDescriptorPool")); - vkResetDescriptorPool = reinterpret_cast(dlsym(libvulkan, "vkResetDescriptorPool")); - vkAllocateDescriptorSets = reinterpret_cast(dlsym(libvulkan, "vkAllocateDescriptorSets")); - vkFreeDescriptorSets = reinterpret_cast(dlsym(libvulkan, "vkFreeDescriptorSets")); - vkUpdateDescriptorSets = reinterpret_cast(dlsym(libvulkan, "vkUpdateDescriptorSets")); - vkCreateFramebuffer = reinterpret_cast(dlsym(libvulkan, "vkCreateFramebuffer")); - vkDestroyFramebuffer = reinterpret_cast(dlsym(libvulkan, "vkDestroyFramebuffer")); - vkCreateRenderPass = reinterpret_cast(dlsym(libvulkan, "vkCreateRenderPass")); - vkDestroyRenderPass = reinterpret_cast(dlsym(libvulkan, "vkDestroyRenderPass")); - vkGetRenderAreaGranularity = reinterpret_cast(dlsym(libvulkan, "vkGetRenderAreaGranularity")); - vkCreateCommandPool = reinterpret_cast(dlsym(libvulkan, "vkCreateCommandPool")); - vkDestroyCommandPool = reinterpret_cast(dlsym(libvulkan, "vkDestroyCommandPool")); - vkResetCommandPool = reinterpret_cast(dlsym(libvulkan, "vkResetCommandPool")); - vkAllocateCommandBuffers = reinterpret_cast(dlsym(libvulkan, "vkAllocateCommandBuffers")); - vkFreeCommandBuffers = reinterpret_cast(dlsym(libvulkan, "vkFreeCommandBuffers")); - vkBeginCommandBuffer = reinterpret_cast(dlsym(libvulkan, "vkBeginCommandBuffer")); - vkEndCommandBuffer = reinterpret_cast(dlsym(libvulkan, "vkEndCommandBuffer")); - vkResetCommandBuffer = reinterpret_cast(dlsym(libvulkan, "vkResetCommandBuffer")); - vkCmdBindPipeline = reinterpret_cast(dlsym(libvulkan, "vkCmdBindPipeline")); - vkCmdSetViewport = reinterpret_cast(dlsym(libvulkan, "vkCmdSetViewport")); - vkCmdSetScissor = reinterpret_cast(dlsym(libvulkan, "vkCmdSetScissor")); - vkCmdSetLineWidth = reinterpret_cast(dlsym(libvulkan, "vkCmdSetLineWidth")); - vkCmdSetDepthBias = reinterpret_cast(dlsym(libvulkan, "vkCmdSetDepthBias")); - vkCmdSetBlendConstants = reinterpret_cast(dlsym(libvulkan, "vkCmdSetBlendConstants")); - vkCmdSetDepthBounds = reinterpret_cast(dlsym(libvulkan, "vkCmdSetDepthBounds")); - vkCmdSetStencilCompareMask = reinterpret_cast(dlsym(libvulkan, "vkCmdSetStencilCompareMask")); - vkCmdSetStencilWriteMask = reinterpret_cast(dlsym(libvulkan, "vkCmdSetStencilWriteMask")); - vkCmdSetStencilReference = reinterpret_cast(dlsym(libvulkan, "vkCmdSetStencilReference")); - vkCmdBindDescriptorSets = reinterpret_cast(dlsym(libvulkan, "vkCmdBindDescriptorSets")); - vkCmdBindIndexBuffer = reinterpret_cast(dlsym(libvulkan, "vkCmdBindIndexBuffer")); - vkCmdBindVertexBuffers = reinterpret_cast(dlsym(libvulkan, "vkCmdBindVertexBuffers")); - vkCmdDraw = reinterpret_cast(dlsym(libvulkan, "vkCmdDraw")); - vkCmdDrawIndexed = reinterpret_cast(dlsym(libvulkan, "vkCmdDrawIndexed")); - vkCmdDrawIndirect = reinterpret_cast(dlsym(libvulkan, "vkCmdDrawIndirect")); - vkCmdDrawIndexedIndirect = reinterpret_cast(dlsym(libvulkan, "vkCmdDrawIndexedIndirect")); - vkCmdDispatch = reinterpret_cast(dlsym(libvulkan, "vkCmdDispatch")); - vkCmdDispatchIndirect = reinterpret_cast(dlsym(libvulkan, "vkCmdDispatchIndirect")); - vkCmdCopyBuffer = reinterpret_cast(dlsym(libvulkan, "vkCmdCopyBuffer")); - vkCmdCopyImage = reinterpret_cast(dlsym(libvulkan, "vkCmdCopyImage")); - vkCmdBlitImage = reinterpret_cast(dlsym(libvulkan, "vkCmdBlitImage")); - vkCmdCopyBufferToImage = reinterpret_cast(dlsym(libvulkan, "vkCmdCopyBufferToImage")); - vkCmdCopyImageToBuffer = reinterpret_cast(dlsym(libvulkan, "vkCmdCopyImageToBuffer")); - vkCmdUpdateBuffer = reinterpret_cast(dlsym(libvulkan, "vkCmdUpdateBuffer")); - vkCmdFillBuffer = reinterpret_cast(dlsym(libvulkan, "vkCmdFillBuffer")); - vkCmdClearColorImage = reinterpret_cast(dlsym(libvulkan, "vkCmdClearColorImage")); - vkCmdClearDepthStencilImage = - reinterpret_cast(dlsym(libvulkan, "vkCmdClearDepthStencilImage")); - vkCmdClearAttachments = reinterpret_cast(dlsym(libvulkan, "vkCmdClearAttachments")); - vkCmdResolveImage = reinterpret_cast(dlsym(libvulkan, "vkCmdResolveImage")); - vkCmdSetEvent = reinterpret_cast(dlsym(libvulkan, "vkCmdSetEvent")); - vkCmdResetEvent = reinterpret_cast(dlsym(libvulkan, "vkCmdResetEvent")); - vkCmdWaitEvents = reinterpret_cast(dlsym(libvulkan, "vkCmdWaitEvents")); - vkCmdPipelineBarrier = reinterpret_cast(dlsym(libvulkan, "vkCmdPipelineBarrier")); - vkCmdBeginQuery = reinterpret_cast(dlsym(libvulkan, "vkCmdBeginQuery")); - vkCmdEndQuery = reinterpret_cast(dlsym(libvulkan, "vkCmdEndQuery")); - vkCmdResetQueryPool = reinterpret_cast(dlsym(libvulkan, "vkCmdResetQueryPool")); - vkCmdWriteTimestamp = reinterpret_cast(dlsym(libvulkan, "vkCmdWriteTimestamp")); - vkCmdCopyQueryPoolResults = reinterpret_cast(dlsym(libvulkan, "vkCmdCopyQueryPoolResults")); - vkCmdPushConstants = reinterpret_cast(dlsym(libvulkan, "vkCmdPushConstants")); - vkCmdBeginRenderPass = reinterpret_cast(dlsym(libvulkan, "vkCmdBeginRenderPass")); - vkCmdNextSubpass = reinterpret_cast(dlsym(libvulkan, "vkCmdNextSubpass")); - vkCmdEndRenderPass = reinterpret_cast(dlsym(libvulkan, "vkCmdEndRenderPass")); - vkCmdExecuteCommands = reinterpret_cast(dlsym(libvulkan, "vkCmdExecuteCommands")); - vkDestroySurfaceKHR = reinterpret_cast(dlsym(libvulkan, "vkDestroySurfaceKHR")); - vkGetPhysicalDeviceSurfaceSupportKHR = - reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceSurfaceSupportKHR")); - vkGetPhysicalDeviceSurfaceCapabilitiesKHR = reinterpret_cast( - dlsym(libvulkan, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR")); - vkGetPhysicalDeviceSurfaceFormatsKHR = - reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceSurfaceFormatsKHR")); - vkGetPhysicalDeviceSurfacePresentModesKHR = reinterpret_cast( - dlsym(libvulkan, "vkGetPhysicalDeviceSurfacePresentModesKHR")); - vkCreateSwapchainKHR = reinterpret_cast(dlsym(libvulkan, "vkCreateSwapchainKHR")); - vkDestroySwapchainKHR = reinterpret_cast(dlsym(libvulkan, "vkDestroySwapchainKHR")); - vkGetSwapchainImagesKHR = reinterpret_cast(dlsym(libvulkan, "vkGetSwapchainImagesKHR")); - vkAcquireNextImageKHR = reinterpret_cast(dlsym(libvulkan, "vkAcquireNextImageKHR")); - vkQueuePresentKHR = reinterpret_cast(dlsym(libvulkan, "vkQueuePresentKHR")); - vkGetPhysicalDeviceDisplayPropertiesKHR = - reinterpret_cast(dlsym(libvulkan, "vkGetPhysicalDeviceDisplayPropertiesKHR")); - vkGetPhysicalDeviceDisplayPlanePropertiesKHR = reinterpret_cast( - dlsym(libvulkan, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR")); - vkGetDisplayPlaneSupportedDisplaysKHR = - reinterpret_cast(dlsym(libvulkan, "vkGetDisplayPlaneSupportedDisplaysKHR")); - vkGetDisplayModePropertiesKHR = - reinterpret_cast(dlsym(libvulkan, "vkGetDisplayModePropertiesKHR")); - vkCreateDisplayModeKHR = reinterpret_cast(dlsym(libvulkan, "vkCreateDisplayModeKHR")); - vkGetDisplayPlaneCapabilitiesKHR = - reinterpret_cast(dlsym(libvulkan, "vkGetDisplayPlaneCapabilitiesKHR")); - vkCreateDisplayPlaneSurfaceKHR = - reinterpret_cast(dlsym(libvulkan, "vkCreateDisplayPlaneSurfaceKHR")); - vkCreateSharedSwapchainsKHR = - reinterpret_cast(dlsym(libvulkan, "vkCreateSharedSwapchainsKHR")); - -#ifdef VK_USE_PLATFORM_XLIB_KHR - vkCreateXlibSurfaceKHR = reinterpret_cast(dlsym(libvulkan, "vkCreateXlibSurfaceKHR")); - vkGetPhysicalDeviceXlibPresentationSupportKHR = reinterpret_cast( - dlsym(libvulkan, "vkGetPhysicalDeviceXlibPresentationSupportKHR")); -#endif - -#ifdef VK_USE_PLATFORM_XCB_KHR - vkCreateXcbSurfaceKHR = reinterpret_cast(dlsym(libvulkan, "vkCreateXcbSurfaceKHR")); - vkGetPhysicalDeviceXcbPresentationSupportKHR = reinterpret_cast( - dlsym(libvulkan, "vkGetPhysicalDeviceXcbPresentationSupportKHR")); -#endif - -#ifdef VK_USE_PLATFORM_WAYLAND_KHR - vkCreateWaylandSurfaceKHR = reinterpret_cast(dlsym(libvulkan, "vkCreateWaylandSurfaceKHR")); - vkGetPhysicalDeviceWaylandPresentationSupportKHR = reinterpret_cast( - dlsym(libvulkan, "vkGetPhysicalDeviceWaylandPresentationSupportKHR")); -#endif - -#ifdef VK_USE_PLATFORM_MIR_KHR - vkCreateMirSurfaceKHR = reinterpret_cast(dlsym(libvulkan, "vkCreateMirSurfaceKHR")); - vkGetPhysicalDeviceMirPresentationSupportKHR = reinterpret_cast( - dlsym(libvulkan, "vkGetPhysicalDeviceMirPresentationSupportKHR")); -#endif - -#ifdef VK_USE_PLATFORM_ANDROID_KHR - vkCreateAndroidSurfaceKHR = reinterpret_cast(dlsym(libvulkan, "vkCreateAndroidSurfaceKHR")); -#endif - -#ifdef VK_USE_PLATFORM_WIN32_KHR - vkCreateWin32SurfaceKHR = reinterpret_cast(dlsym(libvulkan, "vkCreateWin32SurfaceKHR")); - vkGetPhysicalDeviceWin32PresentationSupportKHR = reinterpret_cast( - dlsym(libvulkan, "vkGetPhysicalDeviceWin32PresentationSupportKHR")); -#endif - return 1; -} - -// No Vulkan support, do not set function addresses -PFN_vkCreateInstance vkCreateInstance; -PFN_vkDestroyInstance vkDestroyInstance; -PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices; -PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures; -PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2; -PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties; -PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties; -PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties; -PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties; -PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties; -PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr; -PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr; -PFN_vkCreateDevice vkCreateDevice; -PFN_vkDestroyDevice vkDestroyDevice; -PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties; -PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties; -PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties; -PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties; -PFN_vkGetDeviceQueue vkGetDeviceQueue; -PFN_vkQueueSubmit vkQueueSubmit; -PFN_vkQueueWaitIdle vkQueueWaitIdle; -PFN_vkDeviceWaitIdle vkDeviceWaitIdle; -PFN_vkAllocateMemory vkAllocateMemory; -PFN_vkFreeMemory vkFreeMemory; -PFN_vkMapMemory vkMapMemory; -PFN_vkUnmapMemory vkUnmapMemory; -PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges; -PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges; -PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment; -PFN_vkBindBufferMemory vkBindBufferMemory; -PFN_vkBindImageMemory vkBindImageMemory; -PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements; -PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements; -PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements; -PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties; -PFN_vkQueueBindSparse vkQueueBindSparse; -PFN_vkCreateFence vkCreateFence; -PFN_vkDestroyFence vkDestroyFence; -PFN_vkResetFences vkResetFences; -PFN_vkGetFenceStatus vkGetFenceStatus; -PFN_vkWaitForFences vkWaitForFences; -PFN_vkCreateSemaphore vkCreateSemaphore; -PFN_vkDestroySemaphore vkDestroySemaphore; -PFN_vkCreateEvent vkCreateEvent; -PFN_vkDestroyEvent vkDestroyEvent; -PFN_vkGetEventStatus vkGetEventStatus; -PFN_vkSetEvent vkSetEvent; -PFN_vkResetEvent vkResetEvent; -PFN_vkCreateQueryPool vkCreateQueryPool; -PFN_vkDestroyQueryPool vkDestroyQueryPool; -PFN_vkGetQueryPoolResults vkGetQueryPoolResults; -PFN_vkCreateBuffer vkCreateBuffer; -PFN_vkDestroyBuffer vkDestroyBuffer; -PFN_vkCreateBufferView vkCreateBufferView; -PFN_vkDestroyBufferView vkDestroyBufferView; -PFN_vkCreateImage vkCreateImage; -PFN_vkDestroyImage vkDestroyImage; -PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout; -PFN_vkCreateImageView vkCreateImageView; -PFN_vkDestroyImageView vkDestroyImageView; -PFN_vkCreateShaderModule vkCreateShaderModule; -PFN_vkDestroyShaderModule vkDestroyShaderModule; -PFN_vkCreatePipelineCache vkCreatePipelineCache; -PFN_vkDestroyPipelineCache vkDestroyPipelineCache; -PFN_vkGetPipelineCacheData vkGetPipelineCacheData; -PFN_vkMergePipelineCaches vkMergePipelineCaches; -PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines; -PFN_vkCreateComputePipelines vkCreateComputePipelines; -PFN_vkDestroyPipeline vkDestroyPipeline; -PFN_vkCreatePipelineLayout vkCreatePipelineLayout; -PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout; -PFN_vkCreateSampler vkCreateSampler; -PFN_vkDestroySampler vkDestroySampler; -PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout; -PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout; -PFN_vkCreateDescriptorPool vkCreateDescriptorPool; -PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool; -PFN_vkResetDescriptorPool vkResetDescriptorPool; -PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets; -PFN_vkFreeDescriptorSets vkFreeDescriptorSets; -PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets; -PFN_vkCreateFramebuffer vkCreateFramebuffer; -PFN_vkDestroyFramebuffer vkDestroyFramebuffer; -PFN_vkCreateRenderPass vkCreateRenderPass; -PFN_vkDestroyRenderPass vkDestroyRenderPass; -PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity; -PFN_vkCreateCommandPool vkCreateCommandPool; -PFN_vkDestroyCommandPool vkDestroyCommandPool; -PFN_vkResetCommandPool vkResetCommandPool; -PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers; -PFN_vkFreeCommandBuffers vkFreeCommandBuffers; -PFN_vkBeginCommandBuffer vkBeginCommandBuffer; -PFN_vkEndCommandBuffer vkEndCommandBuffer; -PFN_vkResetCommandBuffer vkResetCommandBuffer; -PFN_vkCmdBindPipeline vkCmdBindPipeline; -PFN_vkCmdSetViewport vkCmdSetViewport; -PFN_vkCmdSetScissor vkCmdSetScissor; -PFN_vkCmdSetLineWidth vkCmdSetLineWidth; -PFN_vkCmdSetDepthBias vkCmdSetDepthBias; -PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants; -PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds; -PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask; -PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask; -PFN_vkCmdSetStencilReference vkCmdSetStencilReference; -PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets; -PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer; -PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers; -PFN_vkCmdDraw vkCmdDraw; -PFN_vkCmdDrawIndexed vkCmdDrawIndexed; -PFN_vkCmdDrawIndirect vkCmdDrawIndirect; -PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect; -PFN_vkCmdDispatch vkCmdDispatch; -PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect; -PFN_vkCmdCopyBuffer vkCmdCopyBuffer; -PFN_vkCmdCopyImage vkCmdCopyImage; -PFN_vkCmdBlitImage vkCmdBlitImage; -PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage; -PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer; -PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer; -PFN_vkCmdFillBuffer vkCmdFillBuffer; -PFN_vkCmdClearColorImage vkCmdClearColorImage; -PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage; -PFN_vkCmdClearAttachments vkCmdClearAttachments; -PFN_vkCmdResolveImage vkCmdResolveImage; -PFN_vkCmdSetEvent vkCmdSetEvent; -PFN_vkCmdResetEvent vkCmdResetEvent; -PFN_vkCmdWaitEvents vkCmdWaitEvents; -PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier; -PFN_vkCmdBeginQuery vkCmdBeginQuery; -PFN_vkCmdEndQuery vkCmdEndQuery; -PFN_vkCmdResetQueryPool vkCmdResetQueryPool; -PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp; -PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults; -PFN_vkCmdPushConstants vkCmdPushConstants; -PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass; -PFN_vkCmdNextSubpass vkCmdNextSubpass; -PFN_vkCmdEndRenderPass vkCmdEndRenderPass; -PFN_vkCmdExecuteCommands vkCmdExecuteCommands; -PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR; -PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR; -PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR; -PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR; -PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR; -PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR; -PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR; -PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR; -PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR; -PFN_vkQueuePresentKHR vkQueuePresentKHR; -PFN_vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR; -PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR; -PFN_vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR; -PFN_vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR; -PFN_vkCreateDisplayModeKHR vkCreateDisplayModeKHR; -PFN_vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR; -PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR; -PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR; - -#ifdef VK_USE_PLATFORM_XLIB_KHR -PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR; -PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR; -#endif - -#ifdef VK_USE_PLATFORM_XCB_KHR -PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR; -PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR; -#endif - -#ifdef VK_USE_PLATFORM_WAYLAND_KHR -PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR; -PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR; -#endif - -#ifdef VK_USE_PLATFORM_MIR_KHR -PFN_vkCreateMirSurfaceKHR vkCreateMirSurfaceKHR; -PFN_vkGetPhysicalDeviceMirPresentationSupportKHR vkGetPhysicalDeviceMirPresentationSupportKHR; -#endif - -#ifdef VK_USE_PLATFORM_ANDROID_KHR -PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR; -#endif - -#ifdef VK_USE_PLATFORM_WIN32_KHR -PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR; -PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR; -#endif -PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT; -PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT; -PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT; - -#ifdef __cplusplus -} -#endif diff --git a/common/vulkan_wrapper.h b/common/vulkan_wrapper.h deleted file mode 100644 index 3fa3ac3..0000000 --- a/common/vulkan_wrapper.h +++ /dev/null @@ -1,239 +0,0 @@ -/* - * Copyright 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -// This file is generated. -#ifndef VULKAN_WRAPPER_H -#define VULKAN_WRAPPER_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define VK_NO_PROTOTYPES 1 -#include - -/* Initialize the Vulkan function pointer variables declared in this header. - * Returns 0 if vulkan is not available, non-zero if it is available. - */ -int InitVulkan(void); - -// VK_core -extern PFN_vkCreateInstance vkCreateInstance; -extern PFN_vkDestroyInstance vkDestroyInstance; -extern PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices; -extern PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures; -extern PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2; -extern PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties; -extern PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties; -extern PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties; -extern PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties; -extern PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties; -extern PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr; -extern PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr; -extern PFN_vkCreateDevice vkCreateDevice; -extern PFN_vkDestroyDevice vkDestroyDevice; -extern PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties; -extern PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties; -extern PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties; -extern PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties; -extern PFN_vkGetDeviceQueue vkGetDeviceQueue; -extern PFN_vkQueueSubmit vkQueueSubmit; -extern PFN_vkQueueWaitIdle vkQueueWaitIdle; -extern PFN_vkDeviceWaitIdle vkDeviceWaitIdle; -extern PFN_vkAllocateMemory vkAllocateMemory; -extern PFN_vkFreeMemory vkFreeMemory; -extern PFN_vkMapMemory vkMapMemory; -extern PFN_vkUnmapMemory vkUnmapMemory; -extern PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges; -extern PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges; -extern PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment; -extern PFN_vkBindBufferMemory vkBindBufferMemory; -extern PFN_vkBindImageMemory vkBindImageMemory; -extern PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements; -extern PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements; -extern PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements; -extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties; -extern PFN_vkQueueBindSparse vkQueueBindSparse; -extern PFN_vkCreateFence vkCreateFence; -extern PFN_vkDestroyFence vkDestroyFence; -extern PFN_vkResetFences vkResetFences; -extern PFN_vkGetFenceStatus vkGetFenceStatus; -extern PFN_vkWaitForFences vkWaitForFences; -extern PFN_vkCreateSemaphore vkCreateSemaphore; -extern PFN_vkDestroySemaphore vkDestroySemaphore; -extern PFN_vkCreateEvent vkCreateEvent; -extern PFN_vkDestroyEvent vkDestroyEvent; -extern PFN_vkGetEventStatus vkGetEventStatus; -extern PFN_vkSetEvent vkSetEvent; -extern PFN_vkResetEvent vkResetEvent; -extern PFN_vkCreateQueryPool vkCreateQueryPool; -extern PFN_vkDestroyQueryPool vkDestroyQueryPool; -extern PFN_vkGetQueryPoolResults vkGetQueryPoolResults; -extern PFN_vkCreateBuffer vkCreateBuffer; -extern PFN_vkDestroyBuffer vkDestroyBuffer; -extern PFN_vkCreateBufferView vkCreateBufferView; -extern PFN_vkDestroyBufferView vkDestroyBufferView; -extern PFN_vkCreateImage vkCreateImage; -extern PFN_vkDestroyImage vkDestroyImage; -extern PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout; -extern PFN_vkCreateImageView vkCreateImageView; -extern PFN_vkDestroyImageView vkDestroyImageView; -extern PFN_vkCreateShaderModule vkCreateShaderModule; -extern PFN_vkDestroyShaderModule vkDestroyShaderModule; -extern PFN_vkCreatePipelineCache vkCreatePipelineCache; -extern PFN_vkDestroyPipelineCache vkDestroyPipelineCache; -extern PFN_vkGetPipelineCacheData vkGetPipelineCacheData; -extern PFN_vkMergePipelineCaches vkMergePipelineCaches; -extern PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines; -extern PFN_vkCreateComputePipelines vkCreateComputePipelines; -extern PFN_vkDestroyPipeline vkDestroyPipeline; -extern PFN_vkCreatePipelineLayout vkCreatePipelineLayout; -extern PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout; -extern PFN_vkCreateSampler vkCreateSampler; -extern PFN_vkDestroySampler vkDestroySampler; -extern PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout; -extern PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout; -extern PFN_vkCreateDescriptorPool vkCreateDescriptorPool; -extern PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool; -extern PFN_vkResetDescriptorPool vkResetDescriptorPool; -extern PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets; -extern PFN_vkFreeDescriptorSets vkFreeDescriptorSets; -extern PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets; -extern PFN_vkCreateFramebuffer vkCreateFramebuffer; -extern PFN_vkDestroyFramebuffer vkDestroyFramebuffer; -extern PFN_vkCreateRenderPass vkCreateRenderPass; -extern PFN_vkDestroyRenderPass vkDestroyRenderPass; -extern PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity; -extern PFN_vkCreateCommandPool vkCreateCommandPool; -extern PFN_vkDestroyCommandPool vkDestroyCommandPool; -extern PFN_vkResetCommandPool vkResetCommandPool; -extern PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers; -extern PFN_vkFreeCommandBuffers vkFreeCommandBuffers; -extern PFN_vkBeginCommandBuffer vkBeginCommandBuffer; -extern PFN_vkEndCommandBuffer vkEndCommandBuffer; -extern PFN_vkResetCommandBuffer vkResetCommandBuffer; -extern PFN_vkCmdBindPipeline vkCmdBindPipeline; -extern PFN_vkCmdSetViewport vkCmdSetViewport; -extern PFN_vkCmdSetScissor vkCmdSetScissor; -extern PFN_vkCmdSetLineWidth vkCmdSetLineWidth; -extern PFN_vkCmdSetDepthBias vkCmdSetDepthBias; -extern PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants; -extern PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds; -extern PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask; -extern PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask; -extern PFN_vkCmdSetStencilReference vkCmdSetStencilReference; -extern PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets; -extern PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer; -extern PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers; -extern PFN_vkCmdDraw vkCmdDraw; -extern PFN_vkCmdDrawIndexed vkCmdDrawIndexed; -extern PFN_vkCmdDrawIndirect vkCmdDrawIndirect; -extern PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect; -extern PFN_vkCmdDispatch vkCmdDispatch; -extern PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect; -extern PFN_vkCmdCopyBuffer vkCmdCopyBuffer; -extern PFN_vkCmdCopyImage vkCmdCopyImage; -extern PFN_vkCmdBlitImage vkCmdBlitImage; -extern PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage; -extern PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer; -extern PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer; -extern PFN_vkCmdFillBuffer vkCmdFillBuffer; -extern PFN_vkCmdClearColorImage vkCmdClearColorImage; -extern PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage; -extern PFN_vkCmdClearAttachments vkCmdClearAttachments; -extern PFN_vkCmdResolveImage vkCmdResolveImage; -extern PFN_vkCmdSetEvent vkCmdSetEvent; -extern PFN_vkCmdResetEvent vkCmdResetEvent; -extern PFN_vkCmdWaitEvents vkCmdWaitEvents; -extern PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier; -extern PFN_vkCmdBeginQuery vkCmdBeginQuery; -extern PFN_vkCmdEndQuery vkCmdEndQuery; -extern PFN_vkCmdResetQueryPool vkCmdResetQueryPool; -extern PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp; -extern PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults; -extern PFN_vkCmdPushConstants vkCmdPushConstants; -extern PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass; -extern PFN_vkCmdNextSubpass vkCmdNextSubpass; -extern PFN_vkCmdEndRenderPass vkCmdEndRenderPass; -extern PFN_vkCmdExecuteCommands vkCmdExecuteCommands; - -// VK_KHR_surface -extern PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR; -extern PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR; -extern PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR; -extern PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR; -extern PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR; - -// VK_KHR_swapchain -extern PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR; -extern PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR; -extern PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR; -extern PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR; -extern PFN_vkQueuePresentKHR vkQueuePresentKHR; - -// VK_KHR_display -extern PFN_vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR; -extern PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR; -extern PFN_vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR; -extern PFN_vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR; -extern PFN_vkCreateDisplayModeKHR vkCreateDisplayModeKHR; -extern PFN_vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR; -extern PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR; - -// VK_KHR_display_swapchain -extern PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR; - -#ifdef VK_USE_PLATFORM_XLIB_KHR -// VK_KHR_xlib_surface -extern PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR; -extern PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR; -#endif - -#ifdef VK_USE_PLATFORM_XCB_KHR -// VK_KHR_xcb_surface -extern PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR; -extern PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR; -#endif - -#ifdef VK_USE_PLATFORM_WAYLAND_KHR -// VK_KHR_wayland_surface -extern PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR; -extern PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR; -#endif - -#ifdef VK_USE_PLATFORM_MIR_KHR -// VK_KHR_mir_surface -extern PFN_vkCreateMirSurfaceKHR vkCreateMirSurfaceKHR; -extern PFN_vkGetPhysicalDeviceMirPresentationSupportKHR vkGetPhysicalDeviceMirPresentationSupportKHR; -#endif - -#ifdef VK_USE_PLATFORM_ANDROID_KHR -// VK_KHR_android_surface -extern PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR; -#endif - -#ifdef VK_USE_PLATFORM_WIN32_KHR -// VK_KHR_win32_surface -extern PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR; -extern PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR; -#endif - -// VK_KHR_sampler_mirror_clamp_to_edge - -#ifdef __cplusplus -} -#endif - -#endif // VULKAN_WRAPPER_H diff --git a/demos/CMakeLists.txt b/cube/CMakeLists.txt similarity index 64% rename from demos/CMakeLists.txt rename to cube/CMakeLists.txt index 46b1f6b..d437cf8 100644 --- a/demos/CMakeLists.txt +++ b/cube/CMakeLists.txt @@ -1,73 +1,100 @@ -set(DEMO_INCLUDE_DIRS +set(CUBE_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/.. ) +if(CMAKE_SYSTEM_NAME STREQUAL "Linux") + include(FindPkgConfig) + option(BUILD_WSI_XCB_SUPPORT "Build XCB WSI support" ON) + option(BUILD_WSI_XLIB_SUPPORT "Build Xlib WSI support" ON) + option(BUILD_WSI_WAYLAND_SUPPORT "Build Wayland WSI support" ON) + option(BUILD_WSI_MIR_SUPPORT "Build Mir WSI support" OFF) + set(CUBE_WSI_SELECTION "XCB" CACHE STRING "Select WSI target for cube (XCB, XLIB, WAYLAND, MIR, DISPLAY)") + + if (BUILD_WSI_XCB_SUPPORT) + find_package(XCB REQUIRED) + endif() + + if (BUILD_WSI_XLIB_SUPPORT) + find_package(X11 REQUIRED) + endif() + + if (BUILD_WSI_WAYLAND_SUPPORT) + find_package(Wayland REQUIRED) + include_directories(${WAYLAND_CLIENT_INCLUDE_DIR}) + endif() + + if (BUILD_WSI_MIR_SUPPORT) + find_package(Mir REQUIRED) + endif() + +endif() + if(CMAKE_SYSTEM_NAME STREQUAL "Windows") add_definitions(-DVK_USE_PLATFORM_WIN32_KHR -DWIN32_LEAN_AND_MEAN) set(DisplayServer Win32) if (NOT MSVC_VERSION LESS 1900) # Enable control flow guard - message(STATUS "Building demos with control flow guard") + message(STATUS "Building cube with control flow guard") add_compile_options("$<$:/guard:cf>") set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /guard:cf") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /guard:cf") endif() - set(DEMO_INCLUDE_DIRS + set(CUBE_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/icd/common" - ${DEMO_INCLUDE_DIRS} + ${CUBE_INCLUDE_DIRS} ) elseif(CMAKE_SYSTEM_NAME STREQUAL "Android") add_definitions(-DVK_USE_PLATFORM_ANDROID_KHR) elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") - if (NOT DEMOS_WSI_SELECTION) - set(DEMOS_WSI_SELECTION "XCB") + if (NOT CUBE_WSI_SELECTION) + set(CUBE_WSI_SELECTION "XCB") endif() - if (DEMOS_WSI_SELECTION STREQUAL "XCB") + if (CUBE_WSI_SELECTION STREQUAL "XCB") if (NOT BUILD_WSI_XCB_SUPPORT) - message( FATAL_ERROR "Selected XCB for demos build but not building Xcb support" ) + message( FATAL_ERROR "Selected XCB for cube build but not building Xcb support" ) endif() - set(DEMO_INCLUDE_DIRS + set(CUBE_INCLUDE_DIRS ${XCB_INCLUDE_DIRS} - ${DEMO_INCLUDE_DIRS} + ${CUBE_INCLUDE_DIRS} ) link_libraries(${XCB_LIBRARIES}) add_definitions(-DVK_USE_PLATFORM_XCB_KHR) - elseif(DEMOS_WSI_SELECTION STREQUAL "XLIB") + elseif(CUBE_WSI_SELECTION STREQUAL "XLIB") if (NOT BUILD_WSI_XLIB_SUPPORT) - message( FATAL_ERROR "Selected XLIB for demos build but not building Xlib support" ) + message( FATAL_ERROR "Selected XLIB for cube build but not building Xlib support" ) endif() - set(DEMO_INCLUDE_DIRS + set(CUBE_INCLUDE_DIRS ${X11_INCLUDE_DIR} - ${DEMO_INCLUDE_DIRS} + ${CUBE_INCLUDE_DIRS} ) link_libraries(${X11_LIBRARIES}) add_definitions(-DVK_USE_PLATFORM_XLIB_KHR) - elseif(DEMOS_WSI_SELECTION STREQUAL "WAYLAND") + elseif(CUBE_WSI_SELECTION STREQUAL "WAYLAND") if (NOT BUILD_WSI_WAYLAND_SUPPORT) - message( FATAL_ERROR "Selected Wayland for demos build but not building Wayland support" ) + message( FATAL_ERROR "Selected Wayland for cube build but not building Wayland support" ) endif() - set(DEMO_INCLUDE_DIRS + set(CUBE_INCLUDE_DIRS ${WAYLAND_CLIENT_INCLUDE_DIR} - ${DEMO_INCLUDE_DIRS} + ${CUBE_INCLUDE_DIRS} ) link_libraries(${WAYLAND_CLIENT_LIBRARIES}) add_definitions(-DVK_USE_PLATFORM_WAYLAND_KHR) - elseif(DEMOS_WSI_SELECTION STREQUAL "MIR") + elseif(CUBE_WSI_SELECTION STREQUAL "MIR") if (NOT BUILD_WSI_MIR_SUPPORT) - message( FATAL_ERROR "Selected MIR for demos build but not building Mir support" ) + message( FATAL_ERROR "Selected MIR for cube build but not building Mir support" ) endif() add_definitions(-DVK_USE_PLATFORM_MIR_KHR) - set(DEMO_INCLUDE_DIRS + set(CUBE_INCLUDE_DIRS ${MIR_INCLUDE_DIR} - ${DEMO_INCLUDE_DIRS} + ${CUBE_INCLUDE_DIRS} ) # TODO - Add Mir support - elseif(DEMOS_WSI_SELECTION STREQUAL "DISPLAY") + elseif(CUBE_WSI_SELECTION STREQUAL "DISPLAY") add_definitions(-DVK_USE_PLATFORM_DISPLAY_KHR) else() - message( FATAL_ERROR "Unrecognized value for DEMOS_WSI_SELECTION: ${DEMOS_WSI_SELECTION}" ) + message( FATAL_ERROR "Unrecognized value for CUBE_WSI_SELECTION: ${CUBE_WSI_SELECTION}" ) endif() include_directories ("${PROJECT_SOURCE_DIR}/icd/common") @@ -79,7 +106,7 @@ else() endif() file(GLOB TEXTURES - "${PROJECT_SOURCE_DIR}/demos/*.ppm" + "${PROJECT_SOURCE_DIR}/cube/*.ppm" ) file(COPY ${TEXTURES} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) @@ -113,22 +140,22 @@ if(WIN32) endif() endforeach() - file(COPY cube.vcxproj.user DESTINATION ${CMAKE_BINARY_DIR}/demos) + file(COPY cube.vcxproj.user DESTINATION ${CMAKE_BINARY_DIR}/cube) endif() add_custom_command( - COMMENT "Compiling cube demo vertex shader" + COMMENT "Compiling cube vertex shader" OUTPUT cube.vert.inc - COMMAND ${GLSLANG_VALIDATOR} -V -x -o ${CMAKE_CURRENT_BINARY_DIR}/cube.vert.inc ${PROJECT_SOURCE_DIR}/demos/cube.vert - MAIN_DEPENDENCY ${PROJECT_SOURCE_DIR}/demos/cube.vert - DEPENDS ${PROJECT_SOURCE_DIR}/demos/cube.vert ${GLSLANG_VALIDATOR} + COMMAND ${GLSLANG_VALIDATOR} -V -x -o ${CMAKE_CURRENT_BINARY_DIR}/cube.vert.inc ${PROJECT_SOURCE_DIR}/cube/cube.vert + MAIN_DEPENDENCY ${PROJECT_SOURCE_DIR}/cube/cube.vert + DEPENDS ${PROJECT_SOURCE_DIR}/cube/cube.vert ${GLSLANG_VALIDATOR} ) add_custom_command( - COMMENT "Compiling cube demo fragment shader" + COMMENT "Compiling cube fragment shader" OUTPUT cube.frag.inc - COMMAND ${GLSLANG_VALIDATOR} -V -x -o ${CMAKE_CURRENT_BINARY_DIR}/cube.frag.inc ${PROJECT_SOURCE_DIR}/demos/cube.frag - MAIN_DEPENDENCY ${PROJECT_SOURCE_DIR}/demos/cube.frag - DEPENDS ${PROJECT_SOURCE_DIR}/demos/cube.frag ${GLSLANG_VALIDATOR} + COMMAND ${GLSLANG_VALIDATOR} -V -x -o ${CMAKE_CURRENT_BINARY_DIR}/cube.frag.inc ${PROJECT_SOURCE_DIR}/cube/cube.frag + MAIN_DEPENDENCY ${PROJECT_SOURCE_DIR}/cube/cube.frag + DEPENDS ${PROJECT_SOURCE_DIR}/cube/cube.frag ${GLSLANG_VALIDATOR} ) include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) @@ -138,13 +165,13 @@ if(WIN32) set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS -D_USE_MATH_DEFINES") endif() -# MacOS setup common to all demos +# MacOS setup if(APPLE) include(macOS/common.cmake) endif() include_directories( - ${DEMO_INCLUDE_DIRS} + ${CUBE_INCLUDE_DIRS} ) # vulkaninfo @@ -191,7 +218,7 @@ if(APPLE) include(macOS/cube/cube.cmake) elseif(NOT WIN32) if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR}) - add_executable(cube cube.c ${PROJECT_SOURCE_DIR}/demos/cube.vert ${PROJECT_SOURCE_DIR}/demos/cube.frag cube.vert.inc cube.frag.inc) + add_executable(cube cube.c ${PROJECT_SOURCE_DIR}/cube/cube.vert ${PROJECT_SOURCE_DIR}/cube/cube.frag cube.vert.inc cube.frag.inc) target_link_libraries(cube ${LIBRARIES}) endif() else() @@ -201,7 +228,7 @@ else() set (LIB_DIR "Win32") endif() - add_executable(cube WIN32 cube.c ${PROJECT_SOURCE_DIR}/demos/cube.vert ${PROJECT_SOURCE_DIR}/demos/cube.frag cube.vert.inc cube.frag.inc) + add_executable(cube WIN32 cube.c ${PROJECT_SOURCE_DIR}/cube/cube.vert ${PROJECT_SOURCE_DIR}/cube/cube.frag cube.vert.inc cube.frag.inc) target_link_libraries(cube ${LIBRARIES}) endif() @@ -212,7 +239,7 @@ if(APPLE) include(macOS/cubepp/cubepp.cmake) elseif(NOT WIN32) if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR}) - add_executable(cubepp cube.cpp ${PROJECT_SOURCE_DIR}/demos/cube.vert ${PROJECT_SOURCE_DIR}/demos/cube.frag cube.vert.inc cube.frag.inc) + add_executable(cubepp cube.cpp ${PROJECT_SOURCE_DIR}/cube/cube.vert ${PROJECT_SOURCE_DIR}/cube/cube.frag cube.vert.inc cube.frag.inc) target_link_libraries(cubepp ${LIBRARIES}) endif() else() @@ -222,6 +249,6 @@ else() set (LIB_DIR "Win32") endif() - add_executable(cubepp WIN32 cube.cpp ${PROJECT_SOURCE_DIR}/demos/cube.vert ${PROJECT_SOURCE_DIR}/demos/cube.frag cube.vert.inc cube.frag.inc) + add_executable(cubepp WIN32 cube.cpp ${PROJECT_SOURCE_DIR}/cube/cube.vert ${PROJECT_SOURCE_DIR}/cube/cube.frag cube.vert.inc cube.frag.inc) target_link_libraries(cubepp ${LIBRARIES}) endif() diff --git a/demos/android/cube-with-layers/AndroidManifest.xml b/cube/android/cube-with-layers/AndroidManifest.xml similarity index 100% rename from demos/android/cube-with-layers/AndroidManifest.xml rename to cube/android/cube-with-layers/AndroidManifest.xml diff --git a/demos/android/cube-with-layers/custom_rules.xml b/cube/android/cube-with-layers/custom_rules.xml similarity index 100% rename from demos/android/cube-with-layers/custom_rules.xml rename to cube/android/cube-with-layers/custom_rules.xml diff --git a/demos/android/cube-with-layers/res/values/strings.xml b/cube/android/cube-with-layers/res/values/strings.xml similarity index 100% rename from demos/android/cube-with-layers/res/values/strings.xml rename to cube/android/cube-with-layers/res/values/strings.xml diff --git a/demos/android/cube/AndroidManifest.xml b/cube/android/cube/AndroidManifest.xml similarity index 100% rename from demos/android/cube/AndroidManifest.xml rename to cube/android/cube/AndroidManifest.xml diff --git a/demos/android/cube/custom_rules.xml b/cube/android/cube/custom_rules.xml similarity index 100% rename from demos/android/cube/custom_rules.xml rename to cube/android/cube/custom_rules.xml diff --git a/demos/android/cube/res/values/strings.xml b/cube/android/cube/res/values/strings.xml similarity index 100% rename from demos/android/cube/res/values/strings.xml rename to cube/android/cube/res/values/strings.xml diff --git a/demos/android/include/cube.frag.h b/cube/android/include/cube.frag.h similarity index 100% rename from demos/android/include/cube.frag.h rename to cube/android/include/cube.frag.h diff --git a/demos/android/include/cube.frag.inc b/cube/android/include/cube.frag.inc similarity index 100% rename from demos/android/include/cube.frag.inc rename to cube/android/include/cube.frag.inc diff --git a/demos/android/include/cube.vert.h b/cube/android/include/cube.vert.h similarity index 100% rename from demos/android/include/cube.vert.h rename to cube/android/include/cube.vert.h diff --git a/demos/android/include/cube.vert.inc b/cube/android/include/cube.vert.inc similarity index 100% rename from demos/android/include/cube.vert.inc rename to cube/android/include/cube.vert.inc diff --git a/demos/android/include/lunarg.ppm.h b/cube/android/include/lunarg.ppm.h similarity index 100% rename from demos/android/include/lunarg.ppm.h rename to cube/android/include/lunarg.ppm.h diff --git a/demos/android/jni/Android.mk b/cube/android/jni/Android.mk similarity index 100% rename from demos/android/jni/Android.mk rename to cube/android/jni/Android.mk diff --git a/demos/android/jni/Application.mk b/cube/android/jni/Application.mk similarity index 100% rename from demos/android/jni/Application.mk rename to cube/android/jni/Application.mk diff --git a/demos/cube.c b/cube/cube.c similarity index 100% rename from demos/cube.c rename to cube/cube.c diff --git a/demos/cube.cpp b/cube/cube.cpp similarity index 100% rename from demos/cube.cpp rename to cube/cube.cpp diff --git a/demos/cube.frag b/cube/cube.frag similarity index 100% rename from demos/cube.frag rename to cube/cube.frag diff --git a/demos/cube.vcxproj.user b/cube/cube.vcxproj.user similarity index 100% rename from demos/cube.vcxproj.user rename to cube/cube.vcxproj.user diff --git a/demos/cube.vert b/cube/cube.vert similarity index 100% rename from demos/cube.vert rename to cube/cube.vert diff --git a/demos/gettime.h b/cube/gettime.h similarity index 100% rename from demos/gettime.h rename to cube/gettime.h diff --git a/demos/linmath.h b/cube/linmath.h similarity index 100% rename from demos/linmath.h rename to cube/linmath.h diff --git a/demos/lunarg.ppm b/cube/lunarg.ppm similarity index 100% rename from demos/lunarg.ppm rename to cube/lunarg.ppm diff --git a/demos/macOS/common.cmake b/cube/macOS/common.cmake similarity index 100% rename from demos/macOS/common.cmake rename to cube/macOS/common.cmake diff --git a/demos/macOS/cubepp/AppDelegate.h b/cube/macOS/cube/AppDelegate.h similarity index 100% rename from demos/macOS/cubepp/AppDelegate.h rename to cube/macOS/cube/AppDelegate.h diff --git a/demos/macOS/cube/AppDelegate.m b/cube/macOS/cube/AppDelegate.m similarity index 100% rename from demos/macOS/cube/AppDelegate.m rename to cube/macOS/cube/AppDelegate.m diff --git a/demos/macOS/cubepp/DemoViewController.h b/cube/macOS/cube/DemoViewController.h similarity index 100% rename from demos/macOS/cubepp/DemoViewController.h rename to cube/macOS/cube/DemoViewController.h diff --git a/demos/macOS/cube/DemoViewController.m b/cube/macOS/cube/DemoViewController.m similarity index 100% rename from demos/macOS/cube/DemoViewController.m rename to cube/macOS/cube/DemoViewController.m diff --git a/demos/macOS/cube/Info.plist b/cube/macOS/cube/Info.plist similarity index 100% rename from demos/macOS/cube/Info.plist rename to cube/macOS/cube/Info.plist diff --git a/demos/macOS/vulkaninfo/Resources/LunarGIcon.icns b/cube/macOS/cube/Resources/LunarGIcon.icns similarity index 100% rename from demos/macOS/vulkaninfo/Resources/LunarGIcon.icns rename to cube/macOS/cube/Resources/LunarGIcon.icns diff --git a/demos/macOS/cubepp/Resources/Main.storyboard b/cube/macOS/cube/Resources/Main.storyboard similarity index 100% rename from demos/macOS/cubepp/Resources/Main.storyboard rename to cube/macOS/cube/Resources/Main.storyboard diff --git a/demos/macOS/cube/cube.cmake b/cube/macOS/cube/cube.cmake similarity index 100% rename from demos/macOS/cube/cube.cmake rename to cube/macOS/cube/cube.cmake diff --git a/demos/macOS/cube/main.m b/cube/macOS/cube/main.m similarity index 100% rename from demos/macOS/cube/main.m rename to cube/macOS/cube/main.m diff --git a/demos/macOS/cube/AppDelegate.h b/cube/macOS/cubepp/AppDelegate.h similarity index 100% rename from demos/macOS/cube/AppDelegate.h rename to cube/macOS/cubepp/AppDelegate.h diff --git a/demos/macOS/cubepp/AppDelegate.mm b/cube/macOS/cubepp/AppDelegate.mm similarity index 100% rename from demos/macOS/cubepp/AppDelegate.mm rename to cube/macOS/cubepp/AppDelegate.mm diff --git a/demos/macOS/cube/DemoViewController.h b/cube/macOS/cubepp/DemoViewController.h similarity index 100% rename from demos/macOS/cube/DemoViewController.h rename to cube/macOS/cubepp/DemoViewController.h diff --git a/demos/macOS/cubepp/DemoViewController.mm b/cube/macOS/cubepp/DemoViewController.mm similarity index 100% rename from demos/macOS/cubepp/DemoViewController.mm rename to cube/macOS/cubepp/DemoViewController.mm diff --git a/demos/macOS/cubepp/Info.plist b/cube/macOS/cubepp/Info.plist similarity index 100% rename from demos/macOS/cubepp/Info.plist rename to cube/macOS/cubepp/Info.plist diff --git a/demos/macOS/cubepp/Resources/LunarGIcon.icns b/cube/macOS/cubepp/Resources/LunarGIcon.icns similarity index 100% rename from demos/macOS/cubepp/Resources/LunarGIcon.icns rename to cube/macOS/cubepp/Resources/LunarGIcon.icns diff --git a/demos/macOS/cube/Resources/Main.storyboard b/cube/macOS/cubepp/Resources/Main.storyboard similarity index 100% rename from demos/macOS/cube/Resources/Main.storyboard rename to cube/macOS/cubepp/Resources/Main.storyboard diff --git a/demos/macOS/cubepp/cubepp.cmake b/cube/macOS/cubepp/cubepp.cmake similarity index 100% rename from demos/macOS/cubepp/cubepp.cmake rename to cube/macOS/cubepp/cubepp.cmake diff --git a/demos/macOS/cubepp/main.mm b/cube/macOS/cubepp/main.mm similarity index 100% rename from demos/macOS/cubepp/main.mm rename to cube/macOS/cubepp/main.mm diff --git a/demos/object_type_string_helper.h b/cube/object_type_string_helper.h similarity index 100% rename from demos/object_type_string_helper.h rename to cube/object_type_string_helper.h diff --git a/demos/macOS/vulkaninfo/Info.plist b/vulkaninfo/macOS/Info.plist similarity index 100% rename from demos/macOS/vulkaninfo/Info.plist rename to vulkaninfo/macOS/Info.plist diff --git a/demos/macOS/cube/Resources/LunarGIcon.icns b/vulkaninfo/macOS/Resources/LunarGIcon.icns similarity index 100% rename from demos/macOS/cube/Resources/LunarGIcon.icns rename to vulkaninfo/macOS/Resources/LunarGIcon.icns diff --git a/demos/macOS/vulkaninfo/vulkaninfo.cmake b/vulkaninfo/macOS/vulkaninfo.cmake similarity index 100% rename from demos/macOS/vulkaninfo/vulkaninfo.cmake rename to vulkaninfo/macOS/vulkaninfo.cmake diff --git a/demos/macOS/vulkaninfo/vulkaninfo.sh b/vulkaninfo/macOS/vulkaninfo.sh similarity index 100% rename from demos/macOS/vulkaninfo/vulkaninfo.sh rename to vulkaninfo/macOS/vulkaninfo.sh -- 2.7.4