diff --git a/.gitignore b/.gitignore index 2c1164f8..50fc6363 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,7 @@ third_party/swiftshader third_party/vulkan-headers third_party/vulkan-loader third_party/vulkan-validationlayers/ +third_party/vulkan-utility-libraries/ third_party/robin-hood-hashing .vs diff --git a/CMakeLists.txt b/CMakeLists.txt index 9b3a88bc..f1ba2cfb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -56,11 +56,7 @@ if (${AMBER_ENABLE_VK_DEBUGGING}) message(FATAL_ERROR "Amber no longer supports Vulkan debugging") endif() -if (${AMBER_USE_CLSPV} OR ${AMBER_ENABLE_SWIFTSHADER}) - set(CMAKE_CXX_STANDARD 17) -else() - set(CMAKE_CXX_STANDARD 11) -endif() +set(CMAKE_CXX_STANDARD 17) if(WIN32) # On Windows, CMake by default compiles with the shared CRT. diff --git a/DEPS b/DEPS index e85da905..6a86d51c 100644 --- a/DEPS +++ b/DEPS @@ -20,12 +20,13 @@ vars = { 'googletest_revision': '16f637fbf4ffc3f7a01fa4eceb7906634565242f', 'json_revision': '4f8fba14066156b73f1189a2b8bd568bde5284c5', 'lodepng_revision': '5601b8272a6850b7c5d693dd0c0e16da50be8d8d', - 'shaderc_revision': 'e72186b66bb90ed06aaf15cbdc9a053581a0616b', + 'shaderc_revision': 'f59f0d11b80fd622383199c867137ededf89d43b', 'spirv_headers_revision': '5e3ad389ee56fca27c9705d093ae5387ce404df4', 'spirv_tools_revision': '9241a58a8028c49510bc174b6c970e3c2b4b8e51', 'swiftshader_revision': 'da334852e70510d259bfa8cbaa7c5412966b2f41', 'vulkan_headers_revision': '4bc77c26ff9ce89cf4a4f79e1c24a44604132d53', 'vulkan_loader_revision': 'e69a59a96b241038f24a0e425445d001ea099b2c', + 'vulkan_utility_libraries_revision': '358a107a6ff284906dcccbabe5b0183c03fd85b6', 'vulkan_validationlayers_revision': 'a5f65dae0d9b08cd7076d88c3dabddf1b41b73b4', } @@ -77,4 +78,7 @@ deps = { 'third_party/vulkan-loader': Var('khronos_git') + '/Vulkan-Loader.git@' + Var('vulkan_loader_revision'), + + 'third_party/vulkan-utility-libraries': Var('khronos_git') + '/Vulkan-Utility-Libraries.git@' + + Var('vulkan_utility_libraries_revision'), } diff --git a/src/dxc_helper.cc b/src/dxc_helper.cc index 0e15dd4e..0cf761f6 100644 --- a/src/dxc_helper.cc +++ b/src/dxc_helper.cc @@ -41,6 +41,13 @@ #pragma clang diagnostic ignored "-Wunused-function" #pragma clang diagnostic ignored "-Wunused-parameter" #pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant" +#pragma clang diagnostic ignored "-Wreserved-identifier" +#pragma clang diagnostic ignored "-Wnon-virtual-dtor" +#pragma clang diagnostic ignored "-Wglobal-constructors" +#pragma clang diagnostic ignored "-Wdocumentation-deprecated-sync" +#pragma clang diagnostic ignored "-Wsuggest-override" +#pragma clang diagnostic ignored "-Wmissing-variable-declarations" +#pragma clang diagnostic ignored "-Wdeprecated" #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-function" #pragma GCC diagnostic ignored "-Wunused-parameter" @@ -83,7 +90,11 @@ void ConvertIDxcBlobToUint32(IDxcBlob* blob, } class IncludeHandler : public IDxcIncludeHandler { + DXC_MICROCOM_REF_FIELD(dw_ref_) + public: + DXC_MICROCOM_ADDREF_RELEASE_IMPL(dw_ref_) + IncludeHandler(const VirtualFileStore* file_store, IDxcLibrary* dxc_lib, IDxcIncludeHandler* fallback) diff --git a/src/dxc_helper.h b/src/dxc_helper.h index eb832163..43cb1300 100644 --- a/src/dxc_helper.h +++ b/src/dxc_helper.h @@ -17,6 +17,7 @@ #include #include +#include #include "amber/result.h" diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt index f1ddc3a9..eb951008 100644 --- a/third_party/CMakeLists.txt +++ b/third_party/CMakeLists.txt @@ -52,6 +52,8 @@ endif() if (${AMBER_USE_LOCAL_VULKAN}) add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/vulkan-headers) + add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/vulkan-utility-libraries) + # Skip adding the validation layers and the Vulkan loader on Android. if (NOT ANDROID)