Prepare for Vulkan backend (#6595)

* externals: Add libraries required for vulkan

* build: Add support for downloading bundled MoltenVK.

* ci: Install tools needed for Vulkan.

* citra_qt: Add API status indicator

---------

Co-authored-by: GPUCode <geoster3d@gmail.com>
This commit is contained in:
Steveice10 2023-06-05 07:29:05 -07:00 committed by GitHub
parent 5b7cc76ba3
commit 54c499ed5b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 166 additions and 11 deletions

View file

@ -93,6 +93,13 @@ endif()
# Glad
add_subdirectory(glad)
# glslang
set(SKIP_GLSLANG_INSTALL ON)
set(ENABLE_GLSLANG_BINARIES OFF)
set(ENABLE_SPVREMAPPER OFF)
set(ENABLE_CTEST OFF)
add_subdirectory(glslang)
# inih
add_subdirectory(inih)
@ -106,16 +113,19 @@ target_include_directories(nihstro-headers INTERFACE ./nihstro/include)
if (MSVC)
target_compile_options(nihstro-headers INTERFACE /W0)
endif()
# Open Source Archives
add_subdirectory(open_source_archives)
# SoundTouch
set(INTEGER_SAMPLES ON CACHE BOOL "")
set(SOUNDSTRETCH OFF CACHE BOOL "")
set(SOUNDTOUCH_DLL OFF CACHE BOOL "")
add_subdirectory(soundtouch EXCLUDE_FROM_ALL)
# sirit
add_subdirectory(sirit EXCLUDE_FROM_ALL)
# Teakra
add_subdirectory(teakra EXCLUDE_FROM_ALL)
@ -205,3 +215,11 @@ if (ENABLE_OPENAL)
set(LIBTYPE "STATIC" CACHE STRING "")
add_subdirectory(openal-soft EXCLUDE_FROM_ALL)
endif()
# VMA
add_library(vma INTERFACE)
target_include_directories(vma INTERFACE ./vma/include)
# vulkan-headers
add_library(vulkan-headers INTERFACE)
target_include_directories(vulkan-headers INTERFACE ./vulkan-headers/include)

1
externals/glslang vendored Submodule

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

1
externals/sirit vendored Submodule

@ -0,0 +1 @@
Subproject commit 4ab79a8c023aa63caaa93848b09b9fe8b183b1a9

1
externals/vma vendored Submodule

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

1
externals/vulkan-headers vendored Submodule

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