summaryrefslogtreecommitdiff
path: root/media-gfx/renderdoc
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
parentfcc5224904648a8e6eb528d7603154160a20022f (diff)
gentoo resync : 20.03.2022
Diffstat (limited to 'media-gfx/renderdoc')
-rw-r--r--media-gfx/renderdoc/Manifest11
-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
-rw-r--r--media-gfx/renderdoc/metadata.xml19
-rw-r--r--media-gfx/renderdoc/renderdoc-1.18-r1.ebuild182
10 files changed, 772 insertions, 0 deletions
diff --git a/media-gfx/renderdoc/Manifest b/media-gfx/renderdoc/Manifest
new file mode 100644
index 000000000000..da3a2fd0a9bb
--- /dev/null
+++ b/media-gfx/renderdoc/Manifest
@@ -0,0 +1,11 @@
+AUX renderdoc-1.18-analytics-off.patch 2552 BLAKE2B fbea7a5635acee3ae1f79850d0395ead2ef7e062c098b69458d56da0d41fdd1acbfbcc008317320767360450ac2d4b9eb0b026dad68599fe15cd7f1b0dd6e442 SHA512 1c3d73b0a5972f8fc7d6f9595ac032e3fc1709f2eced84f9f90ef35f543b908c9237f08e2933f10427e7facb609cf74d794aea8ecff72c72094ca53e3d1c1c7c
+AUX renderdoc-1.18-check-api-ver.patch 2745 BLAKE2B d438deba560c3ebcb7cf0ef1eb96d0d0ff8713f760138d15b6a0972d5afb051ff0e041df4a3aa4a8b08374bc9f1152d0f9f9b821d5e787d498163ef274b22888 SHA512 99d512192b5416e150171047ddb43ff258a3773d56c0172bc0d7ecc6b2748442fb41b84ebf2b497612b8861499522a88817e1cdd60f2fa2a78b1610c0bc7b61e
+AUX renderdoc-1.18-conditional-pyside.patch 2178 BLAKE2B b79e3fc960b83248a6991c0a5071e08e86e58bc9fd96a64f3d5bcdc392ac9104260c2159848d7def25ce3e6ef77d5003d537a469846ad0b859f5c415b012ae4f SHA512 9962aeb29c70711a922e9da5081ea8e73eb4d2acc055fa95298b4f6ac3bf8ce45ac61fa756948bc6e430d73153e28cdeea25437f057f7c6fe744ab9f53311f8b
+AUX renderdoc-1.18-env-home.patch 832 BLAKE2B f994893dceded797646b51f7e1a54cbd91c3175278f264c58bc13e67e22b5c2b085251a7b3e91923641e0566888d564145b3f67297fa623cba3a91034ac57208 SHA512 9a176468da8f5c5572349252a59def973ea178e15b7d5e5780cbd776c4ab08a8bf7939d0765f47386b60c582993d14ce5500fc788ce4d5395c6ef90c3f55801c
+AUX renderdoc-1.18-system-compress.patch 4699 BLAKE2B 4f37058deef1773a4a35b64415a8c8133b232374e419e490d81864ab0d1600b84a6f15a4760530078c489c97f7e12baff331cb845cdaced2fad4b2525987876d SHA512 08c38cbadb4cce24036dd22b185a78d4bca074c0d8caa44c1567aca414bc00a60a8adf73a2430930a620b624689be31f690fee92919d9245211f1189493ea091
+AUX renderdoc-1.18-system-flags.patch 845 BLAKE2B 0d4aae31af353b2d199ae66ec999beefa04e2105e6368305bb89359806fa99f4b7048c3d6c30a2787a3125718d3cbd7c97d3381f61f4f98a2e08730b5a22db02 SHA512 bd2692f14729360983f5ca4fb8af87085ab5bd209d82f3cfd99e7753d0dd406905a6280051aa5d1476b863566b385cdc28fbe9120d0d6f5efd78411af15b68ef
+AUX renderdoc-1.18-system-glslang.patch 9100 BLAKE2B a033377083705bbbccaa56657eccf632bcc5093bc86f319d3d30e94eed41bf849fe8e983dd9085b1628ecaed9ab0b358a487b40c8672239d4b32ee83e24ab1df SHA512 a0eea5b3c24092f30b2ec5c9fde327b4683839a34a5f11a64fb85b54d645f50b8e87f8fc59cb87450566caa3ad87aadc6baa7c8843256726cb8bd71fb0444dd0
+DIST renderdoc-1.18.tar.gz 46372788 BLAKE2B 3f07e29770e033d96f202fa143c7dd2e422750b28f33d14736c43f667fd45ec1b899e66136e415a2b947fbba7cdf0f822fe1dc6978c5146ae5432b44ed497a75 SHA512 4f7baba39ee8e346d00c2d80b5bf7370adebe0200ea2a95a339b3d207fc58f42bff109ffe922604ad49bcd3b5ff8d1ef2a282dd4aa16f09fd6b57aba06aa493d
+DIST swig-renderdoc-7.tar.gz 4006241 BLAKE2B 619f41239f4aef496264d61f44ae042cf80d3ff28491d452cf11ad07e898554c4a32df6119ee0e8e3de36e6bee61855358cd968ad01c9281976e24e9a6cac839 SHA512 5285a65924c069cfb9f73104ad8a95251badac4001293a1757b97ebead5953730c03289159741f82da4c5afe4f61f7c826b105eaf82df044ed2fa21810242c86
+EBUILD renderdoc-1.18-r1.ebuild 4806 BLAKE2B 37bafc11732e9930f1477ae614eb4e8be68394df82240cf2cdf68194aee393fe446a98d8e06578f7315205d07b2d39460e16541d5870b15dd657eee40bf05a88 SHA512 12813b7e5636f9c7b86f3022361a1c5fd44e075d633af4903f21b95cf0e74f169b1f7a2a2f316d24544f8d214f1d673cf8106dfd4cdeeb3cbd998d119519fce2
+MISC metadata.xml 551 BLAKE2B 6b04ab731ce0f9c836b958914e25fcd4a4b76032fd97ba41f6bda742e99a4b7404de51acac99fe4736ba87e488300e94dc1ef7621a780d0a8e453d0fde0430f2 SHA512 a1c2b5260d0265efe2e1294cb88aa1c43618654c7d989cd8f4bd6e919082ea1d37fed4df8a601a702b5b120d5fb5f6658d3e155c5346dacb17249fed629c04d0
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
+
diff --git a/media-gfx/renderdoc/metadata.xml b/media-gfx/renderdoc/metadata.xml
new file mode 100644
index 000000000000..81616f84b9f6
--- /dev/null
+++ b/media-gfx/renderdoc/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <use>
+ <flag name="pyside2">
+ Expose the QRenderdoc UI to Python scripting to allow for customisation
+ </flag>
+ <flag name="qt5">
+ Build and install the qrenderdoc GUI
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="github">baldurk/renderdoc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/media-gfx/renderdoc/renderdoc-1.18-r1.ebuild b/media-gfx/renderdoc/renderdoc-1.18-r1.ebuild
new file mode 100644
index 000000000000..f669767e6d38
--- /dev/null
+++ b/media-gfx/renderdoc/renderdoc-1.18-r1.ebuild
@@ -0,0 +1,182 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# The swig fork is required for compatibility with both provided and
+# 3rd-party Python scripts. Required patch was sent to upstream in
+# 2014: https://github.com/swig/swig/pull/251
+MY_SWIG_VER=7
+MY_SWIG=swig-${PN}-${MY_SWIG_VER}
+
+AUTOTOOLS_AUTO_DEPEND="no"
+DOCS_BUILDER="sphinx"
+DOCS_DIR="docs"
+PYTHON_COMPAT=( python3_{9,10} )
+inherit autotools cmake optfeature python-single-r1 docs xdg
+
+DESCRIPTION="A stand-alone graphics debugging tool"
+HOMEPAGE="https://renderdoc.org https://github.com/baldurk/renderdoc"
+SRC_URI="
+ https://github.com/baldurk/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+ qt5? ( https://github.com/baldurk/swig/archive/${PN}-modified-${MY_SWIG_VER}.tar.gz -> ${MY_SWIG}.tar.gz )
+"
+
+# renderdoc: MIT
+# + cmdline: BSD (not compatible with upstream lib)
+# + farm fresh icons: CC-BY-3.0
+# + half: MIT (not compatible with system dev-libs/half)
+# + include-bin ZLIB (upstream doesn't exist anymore, maintained in tree)
+# + md5: public-domain
+# + plthook: BSD-2
+# + pugixml: MIT
+# + radeon gpu analyzer: MIT
+# + source code pro: OFL-1.1
+# + stb: public-domain
+# + tinyfiledialogs: ZLIB
+# + docs? ( sphinx.paramlinks: MIT )
+# swig: GPL-3+ BSD BSD-2
+LICENSE="BSD BSD-2 CC-BY-3.0 GPL-3+ MIT OFL-1.1 public-domain ZLIB"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="pyside2 qt5"
+REQUIRED_USE="doc? ( qt5 ) pyside2? ( qt5 ) qt5? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ app-arch/lz4:=
+ app-arch/zstd:=
+ dev-libs/miniz
+ dev-util/glslang
+ x11-libs/libX11
+ x11-libs/libxcb:=
+ x11-libs/xcb-util-keysyms
+ virtual/opengl
+ pyside2? (
+ $(python_gen_cond_dep '
+ dev-python/pyside2[${PYTHON_USEDEP}]
+ ')
+ )
+ qt5? (
+ ${PYTHON_DEPS}
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5[ssl]
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtx11extras:5
+ )
+"
+DEPEND="${RDEPEND}"
+# qtcore provides qmake, which is required to build the qrenderdoc gui.
+BDEPEND="
+ x11-base/xorg-proto
+ virtual/pkgconfig
+ qt5? (
+ ${AUTOTOOLS_DEPEND}
+ ${PYTHON_DEPS}
+ dev-libs/libpcre
+ dev-qt/qtcore:5
+ sys-devel/bison
+ )
+"
+
+PATCHES=(
+ # The analytics seem very reasonable, and even without this patch
+ # they are NOT sent before the user accepts. But default the
+ # selection to off, just in case.
+ "${FILESDIR}"/${PN}-1.18-analytics-off.patch
+
+ # Only search for PySide2 if pyside2 USE flag is set.
+ # Bug #833627
+ "${FILESDIR}"/${PN}-1.18-conditional-pyside.patch
+
+ # Pass CXXFLAGS and LDFLAGS through to qmake when qrenderdoc is
+ # built.
+ "${FILESDIR}"/${PN}-1.18-system-flags.patch
+
+ # Needed to prevent sandbox violations during build.
+ "${FILESDIR}"/${PN}-1.18-env-home.patch
+
+ "${FILESDIR}"/${PN}-1.18-system-glslang.patch
+ "${FILESDIR}"/${PN}-1.18-system-compress.patch
+
+ # Check physical device API version and supported extensions. Fixes
+ # segfault on some GPU/driver combinations. Will be in release 1.19
+ "${FILESDIR}"/${PN}-1.18-check-api-ver.patch
+)
+
+DOCS=( util/LINUX_DIST_README )
+
+pkg_setup() {
+ use qt5 && python-single-r1_pkg_setup
+}
+
+src_unpack() {
+ # Do not unpack the swig sources here. CMake will do that if
+ # required.
+ unpack ${P}.tar.gz
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # Remove the calls to install the documentation files. Instead,
+ # install them with einstalldocs.
+ sed -i '/share\/doc\/renderdoc/d' \
+ "${S}"/CMakeLists.txt "${S}"/qrenderdoc/CMakeLists.txt \
+ || die 'sed remove doc install failed'
+
+ # Assumes that the build directory is "${S}"/build, which it is not.
+ sed -i "s|../build/lib|${BUILD_DIR}/lib|" \
+ "${S}"/docs/conf.py \
+ || die 'sed patch doc sys.path failed'
+}
+
+src_configure() {
+ local mycmakeargs=(
+ # Build system does not know that this is a tagged release, as
+ # we just have the tarball and not the git repository.
+ -DBUILD_VERSION_STABLE=ON
+
+ -DENABLE_EGL=ON
+ -DENABLE_GL=ON
+ -DENABLE_GLES=ON
+ -DENABLE_PYRENDERDOC=$(usex qt5)
+ -DENABLE_QRENDERDOC=$(usex qt5)
+ -DENABLE_VULKAN=ON
+
+ # Upstream says that this option is unsupported and should not
+ # be used yet.
+ -DENABLE_WAYLAND=OFF
+
+ -DENABLE_XCB=ON
+ -DENABLE_XLIB=ON
+
+ # Path to glslang*.cmake.
+ -DGLSLANG_TARGET_DIR="${ESYSROOT}"/usr/$(get_libdir)/cmake
+
+ # renderdoc_capture.json is installed here
+ -DVULKAN_LAYER_FOLDER="${EPREFIX}"/etc/vulkan/implicit_layer.d
+ )
+
+ use qt5 && mycmakeargs+=(
+ -DPython3_EXECUTABLE="${PYTHON}"
+ -DRENDERDOC_SWIG_PACKAGE="${DISTDIR}"/${MY_SWIG}.tar.gz
+ -DQRENDERDOC_ENABLE_PYSIDE2=$(usex pyside2)
+ )
+
+ use pyside2 && mycmakeargs+=( -DPYTHON_CONFIG_SUFFIX=-${EPYTHON} )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ docs_compile
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ optfeature "android remote contexts" dev-util/android-tools
+ optfeature "vulkan contexts" media-libs/vulkan-loader
+}