summaryrefslogtreecommitdiff
path: root/media-gfx/renderdoc/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-03-20 00:40:44 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-03-20 00:40:44 +0000
commit4cbcc855382a06088e2f016f62cafdbcb7e40665 (patch)
tree356496503d52354aa6d9f2d36126302fed5f3a73 /media-gfx/renderdoc/files
parentfcc5224904648a8e6eb528d7603154160a20022f (diff)
gentoo resync : 20.03.2022
Diffstat (limited to 'media-gfx/renderdoc/files')
-rw-r--r--media-gfx/renderdoc/files/renderdoc-1.18-analytics-off.patch52
-rw-r--r--media-gfx/renderdoc/files/renderdoc-1.18-check-api-ver.patch50
-rw-r--r--media-gfx/renderdoc/files/renderdoc-1.18-conditional-pyside.patch54
-rw-r--r--media-gfx/renderdoc/files/renderdoc-1.18-env-home.patch26
-rw-r--r--media-gfx/renderdoc/files/renderdoc-1.18-system-compress.patch142
-rw-r--r--media-gfx/renderdoc/files/renderdoc-1.18-system-flags.patch26
-rw-r--r--media-gfx/renderdoc/files/renderdoc-1.18-system-glslang.patch210
7 files changed, 560 insertions, 0 deletions
diff --git a/media-gfx/renderdoc/files/renderdoc-1.18-analytics-off.patch b/media-gfx/renderdoc/files/renderdoc-1.18-analytics-off.patch
new file mode 100644
index 000000000000..4fd98c890bf4
--- /dev/null
+++ b/media-gfx/renderdoc/files/renderdoc-1.18-analytics-off.patch
@@ -0,0 +1,52 @@
+From 03d5a1f515bee326933e163eb3bd300deb4a5753 Mon Sep 17 00:00:00 2001
+From: Matthew Smith <matt@offtopica.uk>
+Date: Sun, 6 Feb 2022 09:54:17 +0000
+Subject: [PATCH 3/5] analytics: Default selection to off
+
+---
+ qrenderdoc/Code/Interface/PersistantConfig.h | 4 ++--
+ qrenderdoc/Windows/Dialogs/AnalyticsPromptDialog.ui | 6 +++---
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/qrenderdoc/Code/Interface/PersistantConfig.h b/qrenderdoc/Code/Interface/PersistantConfig.h
+index 5c074d27d..e37ecb3ce 100644
+--- a/qrenderdoc/Code/Interface/PersistantConfig.h
++++ b/qrenderdoc/Code/Interface/PersistantConfig.h
+@@ -588,8 +588,8 @@ DECLARE_REFLECTION_STRUCT(BugReport);
+ "``True`` if the user has selected to completely opt-out from and disable all analytics " \
+ "collection and reporting.\n" \
+ "\n" \
+- "Defaults to ``False``."); \
+- CONFIG_SETTING_VAL(public, bool, bool, Analytics_TotalOptOut, false) \
++ "Defaults to ``True``."); \
++ CONFIG_SETTING_VAL(public, bool, bool, Analytics_TotalOptOut, true) \
+ \
+ DOCUMENT( \
+ "``True`` if the user has remained with analytics turned on, but has chosen to manually " \
+diff --git a/qrenderdoc/Windows/Dialogs/AnalyticsPromptDialog.ui b/qrenderdoc/Windows/Dialogs/AnalyticsPromptDialog.ui
+index 5ec558161..e43574165 100644
+--- a/qrenderdoc/Windows/Dialogs/AnalyticsPromptDialog.ui
++++ b/qrenderdoc/Windows/Dialogs/AnalyticsPromptDialog.ui
+@@ -38,9 +38,6 @@
+ <property name="text">
+ <string>Gather anonymous low-detail statistics and submit automatically.</string>
+ </property>
+- <property name="checked">
+- <bool>true</bool>
+- </property>
+ </widget>
+ </item>
+ <item>
+@@ -55,6 +52,9 @@
+ <property name="text">
+ <string>Do not gather or submit any statistics.</string>
+ </property>
++ <property name="checked">
++ <bool>true</bool>
++ </property>
+ </widget>
+ </item>
+ </layout>
+--
+2.35.1
+
diff --git a/media-gfx/renderdoc/files/renderdoc-1.18-check-api-ver.patch b/media-gfx/renderdoc/files/renderdoc-1.18-check-api-ver.patch
new file mode 100644
index 000000000000..a6af5645d14b
--- /dev/null
+++ b/media-gfx/renderdoc/files/renderdoc-1.18-check-api-ver.patch
@@ -0,0 +1,50 @@
+From 3d49524da4a28ecc1ee1a9b3f9ec455fc0263c81 Mon Sep 17 00:00:00 2001
+From: baldurk <baldurk@baldurk.org>
+Date: Mon, 31 Jan 2022 19:28:08 +0000
+Subject: [PATCH] Don't enable functionality not supported by the current
+ physical device
+
+---
+ .../driver/vulkan/wrappers/vk_device_funcs.cpp | 14 ++++++++------
+ 1 file changed, 8 insertions(+), 6 deletions(-)
+
+diff --git a/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp
+index 4d342e0123..a40c52d6ef 100644
+--- a/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp
++++ b/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp
+@@ -3171,7 +3171,7 @@ bool WrappedVulkan::Serialise_vkCreateDevice(SerialiserType &ser, VkPhysicalDevi
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR,
+ };
+
+- if(physProps.apiVersion >= VK_MAKE_VERSION(1, 2, 0))
++ if(RDCMIN(m_EnabledExtensions.vulkanVersion, physProps.apiVersion) >= VK_MAKE_VERSION(1, 2, 0))
+ {
+ VkPhysicalDeviceVulkan12Features avail12Features = {
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES,
+@@ -3376,11 +3376,13 @@ bool WrappedVulkan::Serialise_vkCreateDevice(SerialiserType &ser, VkPhysicalDevi
+
+ CheckDeviceExts();
+
++ uint32_t effectiveApiVersion = RDCMIN(m_EnabledExtensions.vulkanVersion, physProps.apiVersion);
++
+ #undef CheckExt
+-#define CheckExt(name, ver) \
+- if(!strcmp(createInfo.ppEnabledExtensionNames[i], "VK_" #name) || physProps.apiVersion >= ver) \
+- { \
+- m_EnabledExtensions.ext_##name = true; \
++#define CheckExt(name, ver) \
++ if(!strcmp(createInfo.ppEnabledExtensionNames[i], "VK_" #name) || effectiveApiVersion >= ver) \
++ { \
++ m_EnabledExtensions.ext_##name = true; \
+ }
+
+ for(uint32_t i = 0; i < createInfo.enabledExtensionCount; i++)
+@@ -3391,7 +3393,7 @@ bool WrappedVulkan::Serialise_vkCreateDevice(SerialiserType &ser, VkPhysicalDevi
+ // for cases where a promoted extension isn't supported as the extension itself, manually
+ // disable them when the feature bit is false.
+
+- if(physProps.apiVersion >= VK_MAKE_VERSION(1, 2, 0))
++ if(effectiveApiVersion >= VK_MAKE_VERSION(1, 2, 0))
+ {
+ if(supportedExtensions.find(VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME) ==
+ supportedExtensions.end() &&
diff --git a/media-gfx/renderdoc/files/renderdoc-1.18-conditional-pyside.patch b/media-gfx/renderdoc/files/renderdoc-1.18-conditional-pyside.patch
new file mode 100644
index 000000000000..f09ff059528b
--- /dev/null
+++ b/media-gfx/renderdoc/files/renderdoc-1.18-conditional-pyside.patch
@@ -0,0 +1,54 @@
+From e6c0ee16967d3aa79f645a5a0aad0d50c20987f4 Mon Sep 17 00:00:00 2001
+From: Matthew Smith <matt@offtopica.uk>
+Date: Sun, 20 Feb 2022 09:19:03 +0000
+Subject: [PATCH] build: Only search for PySide2 if required
+
+---
+ qrenderdoc/CMakeLists.txt | 17 +++++++----------
+ 1 file changed, 7 insertions(+), 10 deletions(-)
+
+diff --git a/qrenderdoc/CMakeLists.txt b/qrenderdoc/CMakeLists.txt
+index 05ad8ba89..e4470715e 100644
+--- a/qrenderdoc/CMakeLists.txt
++++ b/qrenderdoc/CMakeLists.txt
+@@ -154,9 +154,6 @@ ExternalProject_Add(custom_swig
+ BUILD_COMMAND ${GENERATOR_MAKE} ${GENERATOR_MAKE_PARAMS} > /dev/null 2>&1
+ INSTALL_COMMAND ${GENERATOR_MAKE} install > /dev/null 2>&1)
+
+-find_package(Shiboken2 QUIET)
+-find_package(PySide2 QUIET)
+-
+ set(PYTHON_LINK "${PYTHON_LIBRARY}")
+
+ # ensure we link the whole python library so that modules have all the exports they need
+@@ -251,7 +248,13 @@ option(QRENDERDOC_ENABLE_PYSIDE2 "Enable PySide2 if found" ON)
+
+ if(NOT QRENDERDOC_ENABLE_PYSIDE2)
+ message(STATUS "PySide2 integration disabled")
+-elseif(PySide2_FOUND AND Shiboken2_FOUND AND TARGET Shiboken2::libshiboken AND TARGET PySide2::pyside2)
++ file(APPEND
++ ${CMAKE_BINARY_DIR}/qrenderdoc/qrenderdoc_cmake.pri
++ "DEFINES+=PYSIDE2_ENABLED=0\n")
++else()
++ find_package(Shiboken2 QUIET REQUIRED)
++ find_package(PySide2 QUIET REQUIRED)
++
+ message(STATUS "Building with PySide2 ${PySide2_VERSION} from ${PySide2_DIR}")
+
+ if(NOT PYTHONLIBS_VERSION_STRING MATCHES "${SHIBOKEN_PYTHON_VERSION_MAJOR}.${SHIBOKEN_PYTHON_VERSION_MINOR}")
+@@ -280,12 +283,6 @@ elseif(PySide2_FOUND AND Shiboken2_FOUND AND TARGET Shiboken2::libshiboken AND T
+ "DEFINES+=PYSIDE2_ENABLED=1\n"
+ "DEFINES+=PYSIDE2_SYS_PATH=${PYSIDE_PYTHONPATH}\n"
+ "LIBS+=-lshiboken2${SHIBOKEN_PYTHON_SHARED_LIBRARY_SUFFIX}\n")
+-else()
+- message(STATUS "PySide2 not found - Qt will not be accessible in python scripting. See https://github.com/baldurk/renderdoc/wiki/PySide2")
+-
+- file(APPEND
+- ${CMAKE_BINARY_DIR}/qrenderdoc/qrenderdoc_cmake.pri
+- "DEFINES+=PYSIDE2_ENABLED=0\n")
+ endif()
+
+ # generate the SWIG interface files
+--
+2.35.1
+
diff --git a/media-gfx/renderdoc/files/renderdoc-1.18-env-home.patch b/media-gfx/renderdoc/files/renderdoc-1.18-env-home.patch
new file mode 100644
index 000000000000..94ec9a9bbf14
--- /dev/null
+++ b/media-gfx/renderdoc/files/renderdoc-1.18-env-home.patch
@@ -0,0 +1,26 @@
+From 1a9c1bc02d2ed1b8e1723750d8e9eb9fa92fddef Mon Sep 17 00:00:00 2001
+From: Matthew Smith <matt@offtopica.uk>
+Date: Thu, 10 Feb 2022 18:02:37 +0000
+Subject: [PATCH] Use getenv("HOME") instead of getpwuid
+
+---
+ renderdoc/os/posix/linux/linux_stringio.cpp | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/renderdoc/os/posix/linux/linux_stringio.cpp b/renderdoc/os/posix/linux/linux_stringio.cpp
+index c704fc7fc..9a556ec16 100644
+--- a/renderdoc/os/posix/linux/linux_stringio.cpp
++++ b/renderdoc/os/posix/linux/linux_stringio.cpp
+@@ -595,8 +595,7 @@ rdcstr GetTempRootPath()
+
+ rdcstr GetAppFolderFilename(const rdcstr &filename)
+ {
+- passwd *pw = getpwuid(getuid());
+- const char *homedir = pw->pw_dir;
++ const char *homedir = getenv("HOME");
+
+ rdcstr ret = rdcstr(homedir) + "/.renderdoc/";
+
+--
+2.35.1
+
diff --git a/media-gfx/renderdoc/files/renderdoc-1.18-system-compress.patch b/media-gfx/renderdoc/files/renderdoc-1.18-system-compress.patch
new file mode 100644
index 000000000000..5b9a7472349b
--- /dev/null
+++ b/media-gfx/renderdoc/files/renderdoc-1.18-system-compress.patch
@@ -0,0 +1,142 @@
+From 8f16c974fc8ec0b286d803490baa6e00a83615cf Mon Sep 17 00:00:00 2001
+From: Matthew Smith <matt@offtopica.uk>
+Date: Sun, 30 Jan 2022 18:07:51 +0000
+Subject: [PATCH 2/3] build: Use system compression libs
+
+---
+ CMakeLists.txt | 6 +++
+ renderdoc/CMakeLists.txt | 48 +------------------
+ renderdoc/core/replay_proxy.cpp | 2 +-
+ .../driver/shaders/dxbc/dxbc_container.cpp | 2 +-
+ renderdoc/serialise/lz4io.h | 2 +-
+ 5 files changed, 10 insertions(+), 50 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index cb0a2c7f6..0ee4fc629 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -419,6 +419,12 @@ elseif(UNIX)
+ endif()
+ endif()
+
++find_package(PkgConfig REQUIRED)
++find_package(miniz REQUIRED CONFIG)
++
++pkg_check_modules(lz4 REQUIRED IMPORTED_TARGET liblz4)
++pkg_check_modules(zstd REQUIRED IMPORTED_TARGET libzstd)
++
+ # glslang package does not export a -config.cmake file.
+ option(GLSLANG_TARGET_DIR "Absolute path to glslangTargets.cmake directory")
+ include("${GLSLANG_TARGET_DIR}/OSDependentTargets.cmake")
+diff --git a/renderdoc/CMakeLists.txt b/renderdoc/CMakeLists.txt
+index 927e95fb9..5908be6de 100644
+--- a/renderdoc/CMakeLists.txt
++++ b/renderdoc/CMakeLists.txt
+@@ -218,56 +218,10 @@ set(sources
+ 3rdparty/pugixml/pugixml.cpp
+ 3rdparty/pugixml/pugixml.hpp
+ 3rdparty/pugixml/pugiconfig.hpp
+- 3rdparty/lz4/lz4.c
+- 3rdparty/lz4/lz4.h
+ 3rdparty/md5/md5.c
+ 3rdparty/md5/md5.h
+- 3rdparty/miniz/miniz.c
+- 3rdparty/miniz/miniz.h
+ 3rdparty/superluminal/superluminal.cpp
+ 3rdparty/superluminal/superluminal.h
+- 3rdparty/zstd/bitstream.h
+- 3rdparty/zstd/compiler.h
+- 3rdparty/zstd/cpu.h
+- 3rdparty/zstd/debug.c
+- 3rdparty/zstd/debug.h
+- 3rdparty/zstd/entropy_common.c
+- 3rdparty/zstd/error_private.c
+- 3rdparty/zstd/error_private.h
+- 3rdparty/zstd/fse.h
+- 3rdparty/zstd/fse_compress.c
+- 3rdparty/zstd/fse_decompress.c
+- 3rdparty/zstd/hist.c
+- 3rdparty/zstd/hist.h
+- 3rdparty/zstd/huf.h
+- 3rdparty/zstd/huf_compress.c
+- 3rdparty/zstd/huf_decompress.c
+- 3rdparty/zstd/mem.h
+- 3rdparty/zstd/pool.c
+- 3rdparty/zstd/pool.h
+- 3rdparty/zstd/threading.c
+- 3rdparty/zstd/threading.h
+- 3rdparty/zstd/xxhash.c
+- 3rdparty/zstd/xxhash.h
+- 3rdparty/zstd/zstd.h
+- 3rdparty/zstd/zstd_common.c
+- 3rdparty/zstd/zstd_compress.c
+- 3rdparty/zstd/zstd_compress_internal.h
+- 3rdparty/zstd/zstd_decompress.c
+- 3rdparty/zstd/zstd_double_fast.c
+- 3rdparty/zstd/zstd_double_fast.h
+- 3rdparty/zstd/zstd_errors.h
+- 3rdparty/zstd/zstd_fast.c
+- 3rdparty/zstd/zstd_fast.h
+- 3rdparty/zstd/zstd_internal.h
+- 3rdparty/zstd/zstd_lazy.c
+- 3rdparty/zstd/zstd_lazy.h
+- 3rdparty/zstd/zstd_ldm.c
+- 3rdparty/zstd/zstd_ldm.h
+- 3rdparty/zstd/zstd_opt.c
+- 3rdparty/zstd/zstd_opt.h
+- 3rdparty/zstd/zstdmt_compress.c
+- 3rdparty/zstd/zstdmt_compress.h
+ 3rdparty/stb/stb_image.h
+ 3rdparty/stb/stb_image_write.h
+ 3rdparty/stb/stb_image_resize.h
+@@ -580,7 +534,7 @@ endif()
+ add_library(renderdoc SHARED ${renderdoc_objects})
+ target_compile_definitions(renderdoc ${RDOC_DEFINITIONS})
+ target_include_directories(renderdoc ${RDOC_INCLUDES})
+-target_link_libraries(renderdoc ${RDOC_LIBRARIES} glslang SPIRV)
++target_link_libraries(renderdoc ${RDOC_LIBRARIES} glslang miniz::miniz PkgConfig::lz4 PkgConfig::zstd SPIRV)
+
+ add_dependencies(renderdoc renderdoc_libentry)
+
+diff --git a/renderdoc/core/replay_proxy.cpp b/renderdoc/core/replay_proxy.cpp
+index dea1e86cf..c9362e797 100644
+--- a/renderdoc/core/replay_proxy.cpp
++++ b/renderdoc/core/replay_proxy.cpp
+@@ -25,7 +25,7 @@
+
+ #include "replay_proxy.h"
+ #include <list>
+-#include "lz4/lz4.h"
++#include <lz4.h>
+ #include "replay/dummy_driver.h"
+ #include "serialise/lz4io.h"
+
+diff --git a/renderdoc/driver/shaders/dxbc/dxbc_container.cpp b/renderdoc/driver/shaders/dxbc/dxbc_container.cpp
+index ede1fdeb7..0c8fd4dfe 100644
+--- a/renderdoc/driver/shaders/dxbc/dxbc_container.cpp
++++ b/renderdoc/driver/shaders/dxbc/dxbc_container.cpp
+@@ -29,7 +29,7 @@
+ #include "common/common.h"
+ #include "core/settings.h"
+ #include "driver/shaders/dxil/dxil_bytecode.h"
+-#include "lz4/lz4.h"
++#include <lz4.h>
+ #include "md5/md5.h"
+ #include "serialise/serialiser.h"
+ #include "strings/string_utils.h"
+diff --git a/renderdoc/serialise/lz4io.h b/renderdoc/serialise/lz4io.h
+index 199fbbbc1..80fdf94f2 100644
+--- a/renderdoc/serialise/lz4io.h
++++ b/renderdoc/serialise/lz4io.h
+@@ -24,7 +24,7 @@
+
+ #pragma once
+
+-#include "lz4/lz4.h"
++#include <lz4.h>
+ #include "streamio.h"
+
+ class LZ4Compressor : public Compressor
+--
+2.35.1
+
diff --git a/media-gfx/renderdoc/files/renderdoc-1.18-system-flags.patch b/media-gfx/renderdoc/files/renderdoc-1.18-system-flags.patch
new file mode 100644
index 000000000000..64781875c3bd
--- /dev/null
+++ b/media-gfx/renderdoc/files/renderdoc-1.18-system-flags.patch
@@ -0,0 +1,26 @@
+From f83fea90e09d368cd3d8e119a2b3a6d7352d6de6 Mon Sep 17 00:00:00 2001
+From: Matthew Smith <matt@offtopica.uk>
+Date: Tue, 8 Feb 2022 18:42:02 +0000
+Subject: [PATCH] build: qrenderdoc: Respect CXX and LDFLAGS
+
+---
+ qrenderdoc/CMakeLists.txt | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/qrenderdoc/CMakeLists.txt b/qrenderdoc/CMakeLists.txt
+index 486832594..05ad8ba89 100644
+--- a/qrenderdoc/CMakeLists.txt
++++ b/qrenderdoc/CMakeLists.txt
+@@ -177,7 +177,9 @@ file(WRITE
+ "QMAKE_LINK=${CMAKE_CXX_COMPILER}\n"
+ "QMAKE_CXXFLAGS+=${warning_flags}\n"
+ "QMAKE_CXXFLAGS+=${QMAKE_CXXFLAGS}\n"
++ "QMAKE_CXXFLAGS+=${CMAKE_CXX_FLAGS}\n"
+ "QMAKE_LFLAGS+=${QMAKE_LDFLAGS}\n"
++ "QMAKE_LFLAGS+=${CMAKE_EXE_LINKER_FLAGS}\n"
+ "QMAKE_RPATHDIR+=${QMAKE_RPATHDIR}\n"
+ "\n"
+ "LIB_SUFFIX=${LIB_SUFFIX}\n"
+--
+2.35.1
+
diff --git a/media-gfx/renderdoc/files/renderdoc-1.18-system-glslang.patch b/media-gfx/renderdoc/files/renderdoc-1.18-system-glslang.patch
new file mode 100644
index 000000000000..12f6913002a0
--- /dev/null
+++ b/media-gfx/renderdoc/files/renderdoc-1.18-system-glslang.patch
@@ -0,0 +1,210 @@
+From 76052a739491c194e2d4aa3bace501083fb6c2a9 Mon Sep 17 00:00:00 2001
+From: Matthew Smith <matt@offtopica.uk>
+Date: Sun, 30 Jan 2022 17:19:47 +0000
+Subject: [PATCH 1/3] build: Use system glslang
+
+Requires -DGLSLANG_TARGET_DIR option.
+---
+ CMakeLists.txt | 11 +++
+ renderdoc/CMakeLists.txt | 2 +-
+ renderdoc/data/glsl_shaders.cpp | 2 +-
+ renderdoc/driver/shaders/spirv/CMakeLists.txt | 91 +------------------
+ .../driver/shaders/spirv/glslang_compile.cpp | 5 +-
+ .../driver/shaders/spirv/spirv_compile.cpp | 4 +-
+ 6 files changed, 19 insertions(+), 96 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 127cee3fd..cb0a2c7f6 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -419,6 +419,17 @@ elseif(UNIX)
+ endif()
+ endif()
+
++# glslang package does not export a -config.cmake file.
++option(GLSLANG_TARGET_DIR "Absolute path to glslangTargets.cmake directory")
++include("${GLSLANG_TARGET_DIR}/OSDependentTargets.cmake")
++include("${GLSLANG_TARGET_DIR}/OGLCompilerTargets.cmake")
++include("${GLSLANG_TARGET_DIR}/HLSLTargets.cmake")
++include("${GLSLANG_TARGET_DIR}/glslangTargets.cmake")
++include("${GLSLANG_TARGET_DIR}/SPIRVTargets.cmake")
++if(NOT TARGET glslang OR NOT TARGET SPIRV)
++ message(FATAL_ERROR "glslang or SPIRV target not found")
++endif()
++
+ add_subdirectory(renderdoc)
+
+ # these variables are handled within the CMakeLists.txt in qrenderdoc,
+diff --git a/renderdoc/CMakeLists.txt b/renderdoc/CMakeLists.txt
+index 9174afb2a..927e95fb9 100644
+--- a/renderdoc/CMakeLists.txt
++++ b/renderdoc/CMakeLists.txt
+@@ -580,7 +580,7 @@ endif()
+ add_library(renderdoc SHARED ${renderdoc_objects})
+ target_compile_definitions(renderdoc ${RDOC_DEFINITIONS})
+ target_include_directories(renderdoc ${RDOC_INCLUDES})
+-target_link_libraries(renderdoc ${RDOC_LIBRARIES})
++target_link_libraries(renderdoc ${RDOC_LIBRARIES} glslang SPIRV)
+
+ add_dependencies(renderdoc renderdoc_libentry)
+
+diff --git a/renderdoc/data/glsl_shaders.cpp b/renderdoc/data/glsl_shaders.cpp
+index d11cd0b88..d33f18099 100644
+--- a/renderdoc/data/glsl_shaders.cpp
++++ b/renderdoc/data/glsl_shaders.cpp
+@@ -26,7 +26,7 @@
+ #include "common/common.h"
+ #include "common/formatting.h"
+ #include "driver/shaders/spirv/glslang_compile.h"
+-#include "glslang/glslang/Public/ShaderLang.h"
++#include <glslang/Public/ShaderLang.h>
+ #include "os/os_specific.h"
+
+ #define GLSL_HEADERS(HEADER) \
+diff --git a/renderdoc/driver/shaders/spirv/CMakeLists.txt b/renderdoc/driver/shaders/spirv/CMakeLists.txt
+index 68229cd36..088645fbe 100644
+--- a/renderdoc/driver/shaders/spirv/CMakeLists.txt
++++ b/renderdoc/driver/shaders/spirv/CMakeLists.txt
+@@ -1,91 +1,3 @@
+-set(glslang_dir ${RDOC_SOURCE_DIR}/3rdparty/glslang)
+-set(glslang_sources
+- ${glslang_dir}/OGLCompilersDLL/InitializeDll.cpp
+- ${glslang_dir}/OGLCompilersDLL/InitializeDll.h
+- ${glslang_dir}/SPIRV/GlslangToSpv.cpp
+- ${glslang_dir}/SPIRV/GlslangToSpv.h
+- ${glslang_dir}/SPIRV/GLSL.std.450.h
+- ${glslang_dir}/SPIRV/GLSL.ext.AMD.h
+- ${glslang_dir}/SPIRV/GLSL.ext.EXT.h
+- ${glslang_dir}/SPIRV/GLSL.ext.KHR.h
+- ${glslang_dir}/SPIRV/GLSL.ext.NV.h
+- ${glslang_dir}/SPIRV/hex_float.h
+- ${glslang_dir}/SPIRV/InReadableOrder.cpp
+- ${glslang_dir}/SPIRV/Logger.cpp
+- ${glslang_dir}/SPIRV/Logger.h
+- ${glslang_dir}/SPIRV/SpvBuilder.cpp
+- ${glslang_dir}/SPIRV/SpvBuilder.h
+- ${glslang_dir}/SPIRV/SpvTools.cpp
+- ${glslang_dir}/SPIRV/SpvTools.h
+- ${glslang_dir}/SPIRV/SpvPostProcess.cpp
+- ${glslang_dir}/SPIRV/spvIR.h
+- ${glslang_dir}/glslang/GenericCodeGen/CodeGen.cpp
+- ${glslang_dir}/glslang/GenericCodeGen/Link.cpp
+- ${glslang_dir}/glslang/Include/arrays.h
+- ${glslang_dir}/glslang/Include/BaseTypes.h
+- ${glslang_dir}/glslang/Include/Common.h
+- ${glslang_dir}/glslang/Include/ConstantUnion.h
+- ${glslang_dir}/glslang/Include/InfoSink.h
+- ${glslang_dir}/glslang/Include/InitializeGlobals.h
+- ${glslang_dir}/glslang/Include/intermediate.h
+- ${glslang_dir}/glslang/Include/PoolAlloc.h
+- ${glslang_dir}/glslang/Include/ResourceLimits.h
+- ${glslang_dir}/glslang/Include/revision.h
+- ${glslang_dir}/glslang/Include/ShHandle.h
+- ${glslang_dir}/glslang/Include/Types.h
+- ${glslang_dir}/glslang/MachineIndependent/Constant.cpp
+- ${glslang_dir}/glslang/MachineIndependent/glslang_tab.cpp
+- ${glslang_dir}/glslang/MachineIndependent/glslang_tab.cpp.h
+- ${glslang_dir}/glslang/MachineIndependent/gl_types.h
+- ${glslang_dir}/glslang/MachineIndependent/iomapper.cpp
+- ${glslang_dir}/glslang/MachineIndependent/iomapper.h
+- ${glslang_dir}/glslang/MachineIndependent/gl_types.h
+- ${glslang_dir}/glslang/MachineIndependent/InfoSink.cpp
+- ${glslang_dir}/glslang/MachineIndependent/Initialize.cpp
+- ${glslang_dir}/glslang/MachineIndependent/Initialize.h
+- ${glslang_dir}/glslang/MachineIndependent/Intermediate.cpp
+- ${glslang_dir}/glslang/MachineIndependent/intermOut.cpp
+- ${glslang_dir}/glslang/MachineIndependent/IntermTraverse.cpp
+- ${glslang_dir}/glslang/MachineIndependent/limits.cpp
+- ${glslang_dir}/glslang/MachineIndependent/linkValidate.cpp
+- ${glslang_dir}/glslang/MachineIndependent/LiveTraverser.h
+- ${glslang_dir}/glslang/MachineIndependent/localintermediate.h
+- ${glslang_dir}/glslang/MachineIndependent/parseConst.cpp
+- ${glslang_dir}/glslang/MachineIndependent/ParseContextBase.cpp
+- ${glslang_dir}/glslang/MachineIndependent/ParseHelper.cpp
+- ${glslang_dir}/glslang/MachineIndependent/ParseHelper.h
+- ${glslang_dir}/glslang/MachineIndependent/PoolAlloc.cpp
+- ${glslang_dir}/glslang/MachineIndependent/propagateNoContraction.cpp
+- ${glslang_dir}/glslang/MachineIndependent/propagateNoContraction.h
+- ${glslang_dir}/glslang/MachineIndependent/preprocessor/PpAtom.cpp
+- ${glslang_dir}/glslang/MachineIndependent/preprocessor/PpContext.cpp
+- ${glslang_dir}/glslang/MachineIndependent/preprocessor/PpContext.h
+- ${glslang_dir}/glslang/MachineIndependent/preprocessor/Pp.cpp
+- ${glslang_dir}/glslang/MachineIndependent/preprocessor/PpScanner.cpp
+- ${glslang_dir}/glslang/MachineIndependent/preprocessor/PpTokens.cpp
+- ${glslang_dir}/glslang/MachineIndependent/preprocessor/PpTokens.h
+- ${glslang_dir}/glslang/MachineIndependent/reflection.cpp
+- ${glslang_dir}/glslang/MachineIndependent/reflection.h
+- ${glslang_dir}/glslang/MachineIndependent/RemoveTree.cpp
+- ${glslang_dir}/glslang/MachineIndependent/RemoveTree.h
+- ${glslang_dir}/glslang/MachineIndependent/ScanContext.h
+- ${glslang_dir}/glslang/MachineIndependent/Scan.cpp
+- ${glslang_dir}/glslang/MachineIndependent/Scan.h
+- ${glslang_dir}/glslang/MachineIndependent/ShaderLang.cpp
+- ${glslang_dir}/glslang/MachineIndependent/SymbolTable.cpp
+- ${glslang_dir}/glslang/MachineIndependent/SymbolTable.h
+- ${glslang_dir}/glslang/MachineIndependent/Versions.cpp
+- ${glslang_dir}/glslang/MachineIndependent/Versions.h
+- ${glslang_dir}/glslang/MachineIndependent/attribute.cpp
+- ${glslang_dir}/glslang/MachineIndependent/attribute.h
+- ${glslang_dir}/glslang/OSDependent/osinclude.h
+- ${glslang_dir}/glslang/Public/ShaderLang.h)
+-
+-if(UNIX)
+- list(APPEND glslang_sources
+- ${glslang_dir}/glslang/OSDependent/Unix/ossource.cpp)
+-endif()
+-
+ set(sources
+ glslang_compile.cpp
+ glslang_compile.h
+@@ -108,8 +20,7 @@ set(sources
+ spirv_processor.h
+ spirv_disassemble.cpp
+ spirv_stringise.cpp
+- var_dispatch_helpers.h
+- ${glslang_sources})
++ var_dispatch_helpers.h)
+
+ add_definitions(-DAMD_EXTENSIONS)
+ add_definitions(-DNV_EXTENSIONS)
+diff --git a/renderdoc/driver/shaders/spirv/glslang_compile.cpp b/renderdoc/driver/shaders/spirv/glslang_compile.cpp
+index ee1b02c73..ec0db8345 100644
+--- a/renderdoc/driver/shaders/spirv/glslang_compile.cpp
++++ b/renderdoc/driver/shaders/spirv/glslang_compile.cpp
+@@ -29,8 +29,8 @@
+ #undef min
+ #undef max
+
+-#include "glslang/glslang/Include/Types.h"
+-#include "glslang/glslang/Public/ShaderLang.h"
++#include <glslang/Include/Types.h>
++#include <glslang/Public/ShaderLang.h>
+
+ static bool glslang_inited = false;
+ rdcarray<glslang::TShader *> *allocatedShaders = NULL;
+@@ -129,6 +129,7 @@ static TBuiltInResource DefaultResources = {
+ /*.maxTaskWorkGroupSizeY_NV =*/1,
+ /*.maxTaskWorkGroupSizeZ_NV =*/1,
+ /*.maxMeshViewCountNV =*/4,
++ /*.maxDualSourceDrawBuffersEXT =*/1,
+
+ /*.limits*/
+ {
+diff --git a/renderdoc/driver/shaders/spirv/spirv_compile.cpp b/renderdoc/driver/shaders/spirv/spirv_compile.cpp
+index a2cc2bec4..a494cc69d 100644
+--- a/renderdoc/driver/shaders/spirv/spirv_compile.cpp
++++ b/renderdoc/driver/shaders/spirv/spirv_compile.cpp
+@@ -31,8 +31,8 @@
+ #undef min
+ #undef max
+
+-#include "glslang/SPIRV/GlslangToSpv.h"
+-#include "glslang/glslang/Public/ShaderLang.h"
++#include <glslang/SPIRV/GlslangToSpv.h>
++#include <glslang/Public/ShaderLang.h>
+
+ rdcstr rdcspv::Compile(const rdcspv::CompilationSettings &settings, const rdcarray<rdcstr> &sources,
+ rdcarray<uint32_t> &spirv)
+--
+2.35.1
+