From 9fa89e39e33f63cd8fad8e6ef97b70fdb305f9c6 Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 13 Nov 2020 14:23:19 +0000 Subject: [PATCH] Disable mesa device select layer. Closes #2093 --- renderdoc/driver/vulkan/vk_layer.cpp | 5 +++++ renderdoc/driver/vulkan/vk_replay.cpp | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/renderdoc/driver/vulkan/vk_layer.cpp b/renderdoc/driver/vulkan/vk_layer.cpp index 442111d33..e8374098a 100644 --- a/renderdoc/driver/vulkan/vk_layer.cpp +++ b/renderdoc/driver/vulkan/vk_layer.cpp @@ -108,6 +108,11 @@ class VulkanHook : LibraryHook Process::RegisterEnvironmentModification( EnvironmentModification(EnvMod::Set, EnvSep::NoSep, "DISABLE_RTSS_LAYER", "1")); + // mesa device select layer crashes when it calls GPDP2 inside vkCreateInstance, which fails on + // the current loader. + Process::RegisterEnvironmentModification( + EnvironmentModification(EnvMod::Set, EnvSep::NoSep, "NODEVICE_SELECT", "1")); + #if ENABLED(RDOC_WIN32) // on windows support self-hosted capture by checking our filename and tweaking the env var we // set diff --git a/renderdoc/driver/vulkan/vk_replay.cpp b/renderdoc/driver/vulkan/vk_replay.cpp index 8254b43c7..9222a8453 100644 --- a/renderdoc/driver/vulkan/vk_replay.cpp +++ b/renderdoc/driver/vulkan/vk_replay.cpp @@ -4144,6 +4144,11 @@ ReplayStatus Vulkan_CreateReplayDevice(RDCFile *rdc, const ReplayOptions &opts, Process::RegisterEnvironmentModification( EnvironmentModification(EnvMod::Set, EnvSep::NoSep, "DISABLE_VULKAN_OBS_CAPTURE", "1")); + // mesa device select layer crashes when it calls GPDP2 inside vkCreateInstance, which fails on + // the current loader. + Process::RegisterEnvironmentModification( + EnvironmentModification(EnvMod::Set, EnvSep::NoSep, "NODEVICE_SELECT", "1")); + Process::ApplyEnvironmentModification(); void *module = LoadVulkanLibrary();