From 0a119e58f3e0f1c9d7cba4becbadaedc01998bb1 Mon Sep 17 00:00:00 2001 From: Michael Rennie Date: Mon, 30 Jan 2017 16:27:47 +0000 Subject: [PATCH] Fix setting adb setprop debug.vulkan.layers to empty string. Workaround inconsistent CreateProcessW string parsing by setting the property to the Vulkan layer delimiter character. On some PCs it would remove the quotes before sending to adb, and on others they would remain. The quotes were interpreted by the Android loader as a layer name, and the replay context's vkCreateInstance returned VK_ERROR_LAYER_NOT_PRESENT. --- renderdoc/replay/entry_points.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/renderdoc/replay/entry_points.cpp b/renderdoc/replay/entry_points.cpp index a3047f2ab..f382e80ce 100644 --- a/renderdoc/replay/entry_points.cpp +++ b/renderdoc/replay/entry_points.cpp @@ -748,7 +748,7 @@ uint32_t StartAndroidPackageForCapture(const char *host, const char *package) } // Let the app pickup the setprop before we turn it back off for replaying. - adbExecCommand("shell setprop debug.vulkan.layers \\\"\\\""); + adbExecCommand("shell setprop debug.vulkan.layers :"); return ret; } @@ -786,7 +786,7 @@ extern "C" RENDERDOC_API void RENDERDOC_CC RENDERDOC_StartAndroidRemoteServer() { adbExecCommand("shell am force-stop org.renderdoc.renderdoccmd"); adbForwardPorts(); - adbExecCommand("shell setprop debug.vulkan.layers \\\"\\\""); + adbExecCommand("shell setprop debug.vulkan.layers :"); adbExecCommand( "shell am start -n org.renderdoc.renderdoccmd/.Loader -e renderdoccmd remoteserver"); }