Jordan Justen pushed to branch debian/master at X Strike Force / app / renderdoc
Commits:
-
0e0278e2
by Jordan Justen at 2020-07-30T17:47:26-07:00
-
9bcc7bcb
by Jordan Justen at 2020-07-30T17:47:26-07:00
-
2ef7eb5a
by Jordan Justen at 2020-07-30T17:47:26-07:00
-
53e2b11d
by Jordan Justen at 2020-07-31T00:33:26-07:00
6 changed files:
- debian/changelog
- + debian/patches/0004-Add-RENDERDOC_X86_PROC_FAMILY-CMake-and-RDOC_X86_FAM.patch
- + debian/patches/0005-replay-Only-support-compressonator-on-x86.patch
- + debian/patches/0006-linux_process-Only-use-ptrace-for-x86-family-process.patch
- + debian/patches/0007-renderdoc-serialise-Add-DoStringise-const-long-el-fo.patch
- debian/patches/series
Changes:
1 |
+renderdoc (1.9+dfsg-2) unstable; urgency=medium
|
|
2 |
+ |
|
3 |
+ * d/patches: Add patches for arm/arm64 ftbfs. (Closes: #966155)
|
|
4 |
+ * d/patches: Add patch for i386 ftbfs. (Closes: #966155)
|
|
5 |
+ |
|
6 |
+ -- Jordan Justen <jljusten@debian.org> Thu, 30 Jul 2020 17:49:14 -0700
|
|
7 |
+ |
|
1 | 8 |
renderdoc (1.9+dfsg-1) unstable; urgency=medium
|
2 | 9 |
|
3 | 10 |
* New upstream release
|
1 |
+From: Jordan Justen <jordan.l.justen@intel.com>
|
|
2 |
+Date: Wed, 29 Jul 2020 02:01:24 -0700
|
|
3 |
+Subject: Add RENDERDOC_X86_PROC_FAMILY CMake and RDOC_X86_FAMILY C switches
|
|
4 |
+ |
|
5 |
+This can build useful when trying to build renderdoc on unsupported
|
|
6 |
+platforms. For example, if trying to build renderdoc on ARM, but
|
|
7 |
+without targeting ANDROID, the compressonator code will fail to
|
|
8 |
+compile. Instead of depending on the BUILD_ANDROID flag, we can use
|
|
9 |
+the RENDERDOC_X86 flag.
|
|
10 |
+ |
|
11 |
+Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
|
|
12 |
+---
|
|
13 |
+ CMakeLists.txt | 8 ++++++++
|
|
14 |
+ renderdoc/common/globalconfig.h | 10 ++++++++++
|
|
15 |
+ 2 files changed, 18 insertions(+)
|
|
16 |
+ |
|
17 |
+diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
18 |
+index 7a167a2..9f5864d 100644
|
|
19 |
+--- a/CMakeLists.txt
|
|
20 |
++++ b/CMakeLists.txt
|
|
21 |
+@@ -89,6 +89,14 @@ set(RENDERDOC_APK_PATH "" CACHE STRING "Path to RenderDoc .apk files after insta
|
|
22 |
+ set(LIB_SUFFIX "" CACHE STRING "Suffix for 'lib' folder in target directory structure. E.g. set to '64' to use /usr/local/lib64 instead of /usr/local/lib.")
|
|
23 |
+ set(LIB_SUBFOLDER "" CACHE STRING "Subfolder under the 'lib' folder in target directory structure. E.g. set to 'renderdoc' to use /usr/local/lib/renderdoc instead of /usr/local/lib.")
|
|
24 |
+
|
|
25 |
++if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64" OR
|
|
26 |
++ CMAKE_SYSTEM_PROCESSOR MATCHES "i686")
|
|
27 |
++set(RENDERDOC_X86_PROC_FAMILY TRUE)
|
|
28 |
++add_definitions(-DRENDERDOC_X86_PROC_FAMILY=1)
|
|
29 |
++else()
|
|
30 |
++set(RENDERDOC_X86_PROC_FAMILY FALSE)
|
|
31 |
++endif()
|
|
32 |
++
|
|
33 |
+ if(NOT LIB_SUFFIX STREQUAL "")
|
|
34 |
+ add_definitions(-DRENDERDOC_LIB_SUFFIX=${LIB_SUFFIX})
|
|
35 |
+ endif()
|
|
36 |
+diff --git a/renderdoc/common/globalconfig.h b/renderdoc/common/globalconfig.h
|
|
37 |
+index d266166..d21da15 100644
|
|
38 |
+--- a/renderdoc/common/globalconfig.h
|
|
39 |
++++ b/renderdoc/common/globalconfig.h
|
|
40 |
+@@ -125,6 +125,16 @@
|
|
41 |
+
|
|
42 |
+ #endif
|
|
43 |
+
|
|
44 |
++#if defined(RENDERDOC_X86_PROC_FAMILY)
|
|
45 |
++
|
|
46 |
++#define RDOC_X86_FAMILY OPTION_ON
|
|
47 |
++
|
|
48 |
++#else
|
|
49 |
++
|
|
50 |
++#define RDOC_X86_FAMILY OPTION_OFF
|
|
51 |
++
|
|
52 |
++#endif
|
|
53 |
++
|
|
54 |
+ // is size_t a real separate type, not just typedef'd to uint32_t or uint64_t (or equivalent)?
|
|
55 |
+ #if defined(RENDERDOC_PLATFORM_APPLE)
|
|
56 |
+ #define RDOC_SIZET_SEP_TYPE OPTION_ON
|
1 |
+From: Jordan Justen <jordan.l.justen@intel.com>
|
|
2 |
+Date: Wed, 29 Jul 2020 02:26:27 -0700
|
|
3 |
+Subject: replay: Only support compressonator on x86
|
|
4 |
+ |
|
5 |
+Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
|
|
6 |
+---
|
|
7 |
+ renderdoc/CMakeLists.txt | 2 +-
|
|
8 |
+ renderdoc/replay/replay_driver.cpp | 4 ++--
|
|
9 |
+ 2 files changed, 3 insertions(+), 3 deletions(-)
|
|
10 |
+ |
|
11 |
+diff --git a/renderdoc/CMakeLists.txt b/renderdoc/CMakeLists.txt
|
|
12 |
+index e3e8c28..59c8937 100644
|
|
13 |
+--- a/renderdoc/CMakeLists.txt
|
|
14 |
++++ b/renderdoc/CMakeLists.txt
|
|
15 |
+@@ -342,7 +342,7 @@ elseif(UNIX)
|
|
16 |
+ os/posix/posix_specific.h)
|
|
17 |
+ endif()
|
|
18 |
+
|
|
19 |
+-if(NOT ANDROID)
|
|
20 |
++if(RENDERDOC_X86_PROC_FAMILY)
|
|
21 |
+ list(APPEND sources
|
|
22 |
+ 3rdparty/compressonator/BC1_Encode_kernel.cpp
|
|
23 |
+ 3rdparty/compressonator/BC2_Encode_kernel.cpp
|
|
24 |
+diff --git a/renderdoc/replay/replay_driver.cpp b/renderdoc/replay/replay_driver.cpp
|
|
25 |
+index a704726..7f3387f 100644
|
|
26 |
+--- a/renderdoc/replay/replay_driver.cpp
|
|
27 |
++++ b/renderdoc/replay/replay_driver.cpp
|
|
28 |
+@@ -1430,8 +1430,8 @@ bytebuf GetDiscardPattern(DiscardType type, const ResourceFormat &fmt, uint32_t
|
|
29 |
+ fmt.type == ResourceFormatType::BC5 || fmt.type == ResourceFormatType::BC6 ||
|
|
30 |
+ fmt.type == ResourceFormatType::BC7)
|
|
31 |
+ {
|
|
32 |
+-#if ENABLED(RDOC_ANDROID)
|
|
33 |
+- RDCERR("Format %s not supported on android", fmt.Name().c_str());
|
|
34 |
++#if DISABLED(RDOC_X86_FAMILY)
|
|
35 |
++ RDCERR("Format %s is only supported on x86", fmt.Name().c_str());
|
|
36 |
+ #else
|
|
37 |
+ const uint16_t whalf = ConvertToHalf(1000.0f);
|
|
38 |
+
|
1 |
+From: Jordan Justen <jordan.l.justen@intel.com>
|
|
2 |
+Date: Tue, 28 Jul 2020 17:12:12 -0700
|
|
3 |
+Subject: linux_process: Only use ptrace for x86 family processors
|
|
4 |
+ |
|
5 |
+Although ptrace should be usable for other processor families, for now
|
|
6 |
+simply skipping the paths seems to work. I tested this by skipping the
|
|
7 |
+ptrace paths on x86.
|
|
8 |
+ |
|
9 |
+Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
|
|
10 |
+---
|
|
11 |
+ renderdoc/os/posix/linux/linux_process.cpp | 21 +++++++++++++++++++++
|
|
12 |
+ 1 file changed, 21 insertions(+)
|
|
13 |
+ |
|
14 |
+diff --git a/renderdoc/os/posix/linux/linux_process.cpp b/renderdoc/os/posix/linux/linux_process.cpp
|
|
15 |
+index 0a11603..b070fcd 100644
|
|
16 |
+--- a/renderdoc/os/posix/linux/linux_process.cpp
|
|
17 |
++++ b/renderdoc/os/posix/linux/linux_process.cpp
|
|
18 |
+@@ -48,6 +48,8 @@ extern char **environ;
|
|
19 |
+ #define INITIAL_WAIT_TIME 1
|
|
20 |
+ #define MAX_WAIT_TIME 0xfffff
|
|
21 |
+
|
|
22 |
++#define USE_PTRACE (ENABLED(RDOC_X86_FAMILY))
|
|
23 |
++
|
|
24 |
+ char **GetCurrentEnvironment()
|
|
25 |
+ {
|
|
26 |
+ return environ;
|
|
27 |
+@@ -148,6 +150,8 @@ int GetIdentPort(pid_t childPid)
|
|
28 |
+ return ret;
|
|
29 |
+ }
|
|
30 |
+
|
|
31 |
++#if USE_PTRACE
|
|
32 |
++
|
|
33 |
+ static bool ptrace_scope_ok()
|
|
34 |
+ {
|
|
35 |
+ if(!Linux_PtraceChildProcesses())
|
|
36 |
+@@ -479,6 +483,23 @@ void ResumeProcess(pid_t childPid, uint32_t delaySeconds)
|
|
37 |
+ }
|
|
38 |
+ }
|
|
39 |
+
|
|
40 |
++#else // #if USE_PTRACE
|
|
41 |
++
|
|
42 |
++bool StopChildAtMain(pid_t childPid)
|
|
43 |
++{
|
|
44 |
++ return false;
|
|
45 |
++}
|
|
46 |
++
|
|
47 |
++void StopAtMainInChild()
|
|
48 |
++{
|
|
49 |
++}
|
|
50 |
++
|
|
51 |
++void ResumeProcess(pid_t childPid, uint32_t delaySeconds)
|
|
52 |
++{
|
|
53 |
++}
|
|
54 |
++
|
|
55 |
++#endif
|
|
56 |
++
|
|
57 |
+ // because OSUtility::DebuggerPresent is called often we want it to be
|
|
58 |
+ // cheap. Opening and parsing a file would cause high overhead on each
|
|
59 |
+ // call, so instead we just cache it at startup. This fails in the case
|
1 |
+From: Jordan Justen <jordan.l.justen@intel.com>
|
|
2 |
+Date: Fri, 24 Jul 2020 15:36:34 -0700
|
|
3 |
+Subject: renderdoc/serialise: Add DoStringise(const long &el) for 32-bit x86
|
|
4 |
+ on GCC
|
|
5 |
+ |
|
6 |
+linux_process.cpp was generating linker errors:
|
|
7 |
+ |
|
8 |
+undefined reference to `rdcstr DoStringise<long>(long const&)
|
|
9 |
+ |
|
10 |
+Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
|
|
11 |
+---
|
|
12 |
+ renderdoc/serialise/serialiser.cpp | 8 ++++++++
|
|
13 |
+ 1 file changed, 8 insertions(+)
|
|
14 |
+ |
|
15 |
+diff --git a/renderdoc/serialise/serialiser.cpp b/renderdoc/serialise/serialiser.cpp
|
|
16 |
+index 55898db..f84e200 100644
|
|
17 |
+--- a/renderdoc/serialise/serialiser.cpp
|
|
18 |
++++ b/renderdoc/serialise/serialiser.cpp
|
|
19 |
+@@ -927,6 +927,14 @@ rdcstr DoStringise(const int16_t &el)
|
|
20 |
+ return StringFormat::Fmt("%hd", el);
|
|
21 |
+ }
|
|
22 |
+
|
|
23 |
++#if ENABLED(RDOC_LINUX) && ENABLED(RDOC_X86_FAMILY) && DISABLED(RDOC_X64)
|
|
24 |
++template <>
|
|
25 |
++rdcstr DoStringise(const long &el)
|
|
26 |
++{
|
|
27 |
++ return StringFormat::Fmt("%l", el);
|
|
28 |
++}
|
|
29 |
++#endif
|
|
30 |
++
|
|
31 |
+ template <>
|
|
32 |
+ rdcstr DoStringise(const float &el)
|
|
33 |
+ {
|
1 | 1 |
0001-use-debian-glslang-for-renderdoc-spirv-driver.patch
|
2 | 2 |
0002-Install-python-module-under-usr-lib-python3-dist-pac.patch
|
3 | 3 |
0004-renderdoc-Use-libstb-if-found-by-cmake.patch
|
4 |
+0004-Add-RENDERDOC_X86_PROC_FAMILY-CMake-and-RDOC_X86_FAM.patch
|
|
5 |
+0005-replay-Only-support-compressonator-on-x86.patch
|
|
6 |
+0006-linux_process-Only-use-ptrace-for-x86-family-process.patch
|
|
7 |
+0007-renderdoc-serialise-Add-DoStringise-const-long-el-fo.patch
|