summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt2
-rw-r--r--Externals/glslang/CMakeLists.txt9
-rw-r--r--Externals/glslang/exports.props1
m---------Externals/glslang/glslang0
-rw-r--r--Source/Core/VideoBackends/D3DCommon/CMakeLists.txt11
-rw-r--r--Source/Core/VideoBackends/D3DCommon/Shader.cpp2
-rw-r--r--Source/Core/VideoBackends/Metal/CMakeLists.txt1
-rw-r--r--Source/Core/VideoBackends/Vulkan/CMakeLists.txt2
-rw-r--r--Source/Core/VideoCommon/CMakeLists.txt12
-rw-r--r--Source/Core/VideoCommon/Spirv.cpp5
-rw-r--r--Source/Core/VideoCommon/Spirv.h2
11 files changed, 19 insertions, 28 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c277e2a10a..7febb80846 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -651,7 +651,7 @@ dolphin_find_optional_system_library_pkgconfig(FMT
add_subdirectory(Externals/imgui)
add_subdirectory(Externals/implot)
-add_subdirectory(Externals/glslang)
+dolphin_find_optional_system_library(glslang Externals/glslang 15.0)
# SPIRV-Cross is used on Windows for GLSL to HLSL conversion for the Direct3D 11 and Direct3D 12
# video backends, and on Apple devices for the Metal video backend.
if(WIN32 OR APPLE)
diff --git a/Externals/glslang/CMakeLists.txt b/Externals/glslang/CMakeLists.txt
index 432db7e56c..b3e311560d 100644
--- a/Externals/glslang/CMakeLists.txt
+++ b/Externals/glslang/CMakeLists.txt
@@ -1,7 +1,6 @@
set(ENABLE_PCH OFF)
set(BUILD_EXTERNAL OFF)
set(SKIP_GLSLANG_INSTALL ON)
-set(ENABLE_SPVREMAPPER OFF)
set(ENABLE_GLSLANG_BINARIES OFF)
set(ENABLE_HLSL OFF)
set(ENABLE_OPT OFF)
@@ -10,5 +9,13 @@ set(ENABLE_EXCEPTIONS OFF)
add_subdirectory(glslang)
if (TARGET glslang)
+ target_include_directories(glslang
+ # Silence warnings on glslang by flagging it as a system include
+ SYSTEM PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/glslang>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/glslang/Public>
+ PUBLIC
+ "${CMAKE_CURRENT_SOURCE_DIR}"
+ )
dolphin_disable_warnings(glslang)
endif()
diff --git a/Externals/glslang/exports.props b/Externals/glslang/exports.props
index 86808a64d2..1bc420fa29 100644
--- a/Externals/glslang/exports.props
+++ b/Externals/glslang/exports.props
@@ -2,6 +2,7 @@
<Project>
<ItemDefinitionGroup>
<ClCompile>
+ <AdditionalIncludeDirectories>$(ExternalsDir)glslang;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(ExternalsDir)glslang\glslang;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(ExternalsDir)glslang\glslang\glslang;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(ExternalsDir)glslang\glslang\glslang\Public;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
diff --git a/Externals/glslang/glslang b/Externals/glslang/glslang
-Subproject 8a85691a0740d390761a1008b4696f57facd02c
+Subproject a57276bf558f5cf94d3a9854ebdf5a2236849a5
diff --git a/Source/Core/VideoBackends/D3DCommon/CMakeLists.txt b/Source/Core/VideoBackends/D3DCommon/CMakeLists.txt
index 3baca1a44d..18a033f0cb 100644
--- a/Source/Core/VideoBackends/D3DCommon/CMakeLists.txt
+++ b/Source/Core/VideoBackends/D3DCommon/CMakeLists.txt
@@ -12,15 +12,8 @@ PUBLIC
common
videocommon
spirv_cross
-)
-
-target_include_directories(videod3dcommon
-SYSTEM PUBLIC
- ${CMAKE_SOURCE_DIR}/Externals/glslang/glslang/Public
-SYSTEM PRIVATE
- ${CMAKE_SOURCE_DIR}/Externals/glslang/StandAlone
- ${CMAKE_SOURCE_DIR}/Externals/glslang/SPIRV
- ${CMAKE_SOURCE_DIR}/Externals/glslang
+PRIVATE
+ glslang::glslang
)
if(MSVC)
diff --git a/Source/Core/VideoBackends/D3DCommon/Shader.cpp b/Source/Core/VideoBackends/D3DCommon/Shader.cpp
index 1be4b2298e..369af7c8a1 100644
--- a/Source/Core/VideoBackends/D3DCommon/Shader.cpp
+++ b/Source/Core/VideoBackends/D3DCommon/Shader.cpp
@@ -8,8 +8,8 @@
#include <string_view>
#include <fmt/format.h>
+#include <glslang/SPIRV/disassemble.h>
#include <wrl/client.h>
-#include "disassemble.h"
#include "spirv_hlsl.hpp"
#include "Common/Assert.h"
diff --git a/Source/Core/VideoBackends/Metal/CMakeLists.txt b/Source/Core/VideoBackends/Metal/CMakeLists.txt
index db633a0380..0aaf79bfd1 100644
--- a/Source/Core/VideoBackends/Metal/CMakeLists.txt
+++ b/Source/Core/VideoBackends/Metal/CMakeLists.txt
@@ -35,6 +35,7 @@ PUBLIC
videocommon
PRIVATE
spirv_cross
+ glslang::glslang
${FOUNDATION_LIBRARY}
${METAL_LIBRARY}
${QUARTZCORE_LIBRARY}
diff --git a/Source/Core/VideoBackends/Vulkan/CMakeLists.txt b/Source/Core/VideoBackends/Vulkan/CMakeLists.txt
index c4fbd847e1..c717488c83 100644
--- a/Source/Core/VideoBackends/Vulkan/CMakeLists.txt
+++ b/Source/Core/VideoBackends/Vulkan/CMakeLists.txt
@@ -44,7 +44,7 @@ PUBLIC
PRIVATE
# Link against glslang, the other necessary libraries are referenced by the executable.
- glslang
+ glslang::glslang
xxhash::xxhash
)
diff --git a/Source/Core/VideoCommon/CMakeLists.txt b/Source/Core/VideoCommon/CMakeLists.txt
index 0ead1af2f8..ae9aafbbba 100644
--- a/Source/Core/VideoCommon/CMakeLists.txt
+++ b/Source/Core/VideoCommon/CMakeLists.txt
@@ -224,7 +224,7 @@ PRIVATE
xxhash::xxhash
imgui
implot
- glslang
+ glslang::glslang
tinygltf
)
@@ -267,16 +267,6 @@ if(FFmpeg_FOUND)
endif()
endif()
-# Silence warnings on glslang by flagging it as a system include
-target_include_directories(videocommon
-SYSTEM PUBLIC
- ${CMAKE_SOURCE_DIR}/Externals/glslang/glslang/glslang/Public
-SYSTEM PRIVATE
- ${CMAKE_SOURCE_DIR}/Externals/glslang/glslang/glslang
- ${CMAKE_SOURCE_DIR}/Externals/glslang/glslang/SPIRV
- ${CMAKE_SOURCE_DIR}/Externals/glslang/glslang
-)
-
if(MSVC)
# Add precompiled header
target_link_libraries(videocommon PRIVATE use_pch)
diff --git a/Source/Core/VideoCommon/Spirv.cpp b/Source/Core/VideoCommon/Spirv.cpp
index 1ee3d6da2d..59bc872f93 100644
--- a/Source/Core/VideoCommon/Spirv.cpp
+++ b/Source/Core/VideoCommon/Spirv.cpp
@@ -3,9 +3,8 @@
#include "VideoCommon/Spirv.h"
-// glslang includes
-#include "GlslangToSpv.h"
-#include "disassemble.h"
+#include <glslang/SPIRV/GlslangToSpv.h>
+#include <glslang/SPIRV/disassemble.h>
#include "Common/FileUtil.h"
#include "Common/Logging/Log.h"
diff --git a/Source/Core/VideoCommon/Spirv.h b/Source/Core/VideoCommon/Spirv.h
index fe75ea0f99..4da7b01c17 100644
--- a/Source/Core/VideoCommon/Spirv.h
+++ b/Source/Core/VideoCommon/Spirv.h
@@ -8,7 +8,7 @@
#include <string_view>
#include <vector>
-#include "ShaderLang.h"
+#include <glslang/Public/ShaderLang.h>
#include "Common/CommonTypes.h"
#include "VideoCommon/VideoCommon.h"