Move code to Windows Vulkan context initialization context

This workaround is not needed for rendering drivers other than Vulkan.
This commit is contained in:
Hugo Locurcio 2023-02-17 17:47:55 +01:00
parent 31a9345189
commit 950c5b57e4
No known key found for this signature in database
GPG key ID: 39E8F8BE30B0A49C
2 changed files with 4 additions and 5 deletions

View file

@ -151,11 +151,6 @@ static void _error_handler(void *p_self, const char *p_func, const char *p_file,
void OS_Windows::initialize() {
crash_handler.initialize();
// Workaround for Vulkan not working on setups with AMD integrated graphics + NVIDIA dedicated GPU (GH-57708).
// This prevents using AMD integrated graphics with Vulkan entirely, but it allows the engine to start
// even on outdated/broken driver setups.
OS::get_singleton()->set_environment("DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1", "1");
#ifdef WINDOWS_DEBUG_OUTPUT_ENABLED
error_handlers.errfunc = _error_handler;
error_handlers.userdata = this;

View file

@ -55,6 +55,10 @@ Error VulkanContextWindows::window_create(DisplayServer::WindowID p_window_id, D
}
VulkanContextWindows::VulkanContextWindows() {
// Workaround for Vulkan not working on setups with AMD integrated graphics + NVIDIA dedicated GPU (GH-57708).
// This prevents using AMD integrated graphics with Vulkan entirely, but it allows the engine to start
// even on outdated/broken driver setups.
OS::get_singleton()->set_environment("DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1", "1");
}
VulkanContextWindows::~VulkanContextWindows() {