externals: Upgraded Vulkan dependencies to vulkan-sdk-1.4.313.0

This commit is contained in:
OpenSauce04 2025-07-11 21:18:43 +01:00 committed by OpenSauce
parent c1761f87f9
commit 5937e0bf12
8 changed files with 106 additions and 4 deletions

8
.gitmodules vendored
View File

@ -77,7 +77,7 @@
path = externals/vulkan-headers path = externals/vulkan-headers
url = https://github.com/KhronosGroup/Vulkan-Headers url = https://github.com/KhronosGroup/Vulkan-Headers
[submodule "sirit"] [submodule "sirit"]
path = externals/sirit path = externals/sirit/sirit
url = https://github.com/azahar-emu/sirit url = https://github.com/azahar-emu/sirit
[submodule "faad2"] [submodule "faad2"]
path = externals/faad2/faad2 path = externals/faad2/faad2
@ -94,3 +94,9 @@
[submodule "compatibility-list"] [submodule "compatibility-list"]
path = dist/compatibility_list path = dist/compatibility_list
url = https://github.com/azahar-emu/compatibility-list url = https://github.com/azahar-emu/compatibility-list
[submodule "spirv-tools"]
path = externals/spirv-tools
url = https://github.com/KhronosGroup/SPIRV-Tools
[submodule "spirv-headers"]
path = externals/spirv-headers
url = https://github.com/KhronosGroup/SPIRV-Headers

View File

@ -392,13 +392,16 @@ if (ENABLE_VULKAN)
get_target_property(GLSLANG_PREFIX glslang::SPIRV INTERFACE_INCLUDE_DIRECTORIES) get_target_property(GLSLANG_PREFIX glslang::SPIRV INTERFACE_INCLUDE_DIRECTORIES)
target_include_directories(SPIRV SYSTEM INTERFACE "${GLSLANG_PREFIX}/glslang") target_include_directories(SPIRV SYSTEM INTERFACE "${GLSLANG_PREFIX}/glslang")
else() else()
set(SPIRV-Headers_SOURCE_DIR "${CMAKE_SOURCE_DIR}/externals/spirv-headers")
add_subdirectory(spirv-headers EXCLUDE_FROM_ALL)
set(SPIRV_SKIP_EXECUTABLES ON)
add_subdirectory(spirv-tools EXCLUDE_FROM_ALL)
set(SKIP_GLSLANG_INSTALL ON CACHE BOOL "") set(SKIP_GLSLANG_INSTALL ON CACHE BOOL "")
set(ENABLE_GLSLANG_BINARIES OFF CACHE BOOL "") set(ENABLE_GLSLANG_BINARIES OFF CACHE BOOL "")
set(ENABLE_SPVREMAPPER OFF CACHE BOOL "") set(ENABLE_SPVREMAPPER OFF CACHE BOOL "")
set(ENABLE_CTEST OFF CACHE BOOL "") set(ENABLE_CTEST OFF CACHE BOOL "")
set(ENABLE_HLSL OFF CACHE BOOL "") set(ENABLE_HLSL OFF CACHE BOOL "")
set(BUILD_EXTERNAL OFF CACHE BOOL "") set(BUILD_EXTERNAL OFF CACHE BOOL "")
set(ALLOW_EXTERNAL_SPIRV_TOOLS ON)
add_subdirectory(glslang) add_subdirectory(glslang)
endif() endif()

2
externals/glslang vendored

@ -1 +1 @@
Subproject commit b3a6aa7b03c51ba976e4f4e96b1e31f77f43f312 Subproject commit fc9889c889561c5882e83819dcaffef5ed45529b

91
externals/sirit/CMakeLists.txt vendored Normal file
View File

@ -0,0 +1,91 @@
# This file has been adapted from dynarmic
cmake_minimum_required(VERSION 3.8)
project(sirit CXX)
# Determine if we're built as a subproject (using add_subdirectory)
# or if this is the master project.
set(MASTER_PROJECT OFF)
if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
set(MASTER_PROJECT ON)
endif()
# Sirit project options
option(SIRIT_TESTS "Build tests" OFF)
option(SIRIT_USE_SYSTEM_SPIRV_HEADERS "Use system SPIR-V headers" OFF)
# Default to a Release build
if (NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE)
message(STATUS "Defaulting to a Release build")
endif()
# Set hard requirements for C++
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
# Warn on CMake API deprecations
set(CMAKE_WARN_DEPRECATED ON)
# Disable in-source builds
set(CMAKE_DISABLE_SOURCE_CHANGES ON)
set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
if ("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
message(SEND_ERROR "In-source builds are not allowed.")
endif()
# Add the module directory to the list of paths
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/CMakeModules")
# Compiler flags
if (MSVC)
set(SIRIT_CXX_FLAGS
/std:c++latest # CMAKE_CXX_STANDARD as no effect on MSVC until CMake 3.10.
/W4
/w34263 # Non-virtual member function hides base class virtual function
/w44265 # Class has virtual functions, but destructor is not virtual
/w34456 # Declaration of 'var' hides previous local declaration
/w34457 # Declaration of 'var' hides function parameter
/w34458 # Declaration of 'var' hides class member
/w34459 # Declaration of 'var' hides global definition
/w34946 # Reinterpret-cast between related types
/wd4592 # Symbol will be dynamically initialized (implementation limitation)
/permissive- # Stricter C++ standards conformance
/MP
/Zi
/Zo
/EHsc
/Zc:throwingNew # Assumes new never returns null
/Zc:inline # Omits inline functions from object-file output
/DNOMINMAX
/WX)
if (CMAKE_VS_PLATFORM_TOOLSET MATCHES "LLVM-vs[0-9]+")
list(APPEND SIRIT_CXX_FLAGS
-Qunused-arguments
-Wno-missing-braces)
endif()
else()
set(SIRIT_CXX_FLAGS
-Wall
-Wextra
-Wcast-qual
-pedantic
-pedantic-errors
-Wfatal-errors
-Wno-missing-braces
-Wconversion
-Wsign-conversion
-Wshadow
-Werror)
endif()
# Enable unit-testing.
enable_testing(true)
# Sirit project files
add_subdirectory(sirit/src)
if (SIRIT_TESTS)
add_subdirectory(sirit/tests)
endif()

1
externals/spirv-headers vendored Submodule

@ -0,0 +1 @@
Subproject commit aa6cef192b8e693916eb713e7a9ccadf06062ceb

1
externals/spirv-tools vendored Submodule

@ -0,0 +1 @@
Subproject commit a62abcb402009b9ca5975e6167c09f237f630e0e

@ -1 +1 @@
Subproject commit d4a196d8c84e032d27f999adcea3075517c1c97f Subproject commit 409c16be502e39fe70dd6fe2d9ad4842ef2c9a53