summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2020-02-22 16:28:48 +0100
committerGitHub <noreply@github.com>2020-02-22 16:28:48 +0100
commitda3a504216c5338f6d271219676c2da9f7b272ae (patch)
treee61ea1f1af7734165e0248c711954a585cc3abfd
parentfc3ddef36021b01233b31d3b8103019c4638c19d (diff)
parente5964394977dc792e84a1352685b1afafbaa168b (diff)
Merge pull request #36454 from akien-mga/vulkan-workaround-32-bit-lib-error
Vulkan: Work around false positive on 64-bit Linux w/ 32-bit ICDs
-rw-r--r--drivers/vulkan/vulkan_context.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/vulkan/vulkan_context.cpp b/drivers/vulkan/vulkan_context.cpp
index 72acedb88f..51d66cf97e 100644
--- a/drivers/vulkan/vulkan_context.cpp
+++ b/drivers/vulkan/vulkan_context.cpp
@@ -29,11 +29,14 @@
/*************************************************************************/
#include "vulkan_context.h"
+
#include "core/engine.h"
#include "core/project_settings.h"
#include "core/ustring.h"
#include "core/version.h"
+
#include "vk_enum_string_helper.h"
+
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -47,16 +50,20 @@ VKAPI_ATTR VkBool32 VKAPI_CALL VulkanContext::_debug_messenger_callback(VkDebugU
const VkDebugUtilsMessengerCallbackDataEXT *pCallbackData,
void *pUserData) {
- //This error needs to be ignored because the AMD allocator will mix up memory types on IGP processors
+ // This error needs to be ignored because the AMD allocator will mix up memory types on IGP processors.
if (strstr(pCallbackData->pMessage, "Mapping an image with layout") != NULL &&
strstr(pCallbackData->pMessage, "can result in undefined behavior if this memory is used by the device") != NULL) {
return VK_FALSE;
}
- // This needs to be ignored because Validator is wrong here
+ // This needs to be ignored because Validator is wrong here.
if (strstr(pCallbackData->pMessage, "SPIR-V module not valid: Pointer operand") != NULL &&
strstr(pCallbackData->pMessage, "must be a memory object") != NULL) {
return VK_FALSE;
}
+ // Workaround for Vulkan-Loader usability bug: https://github.com/KhronosGroup/Vulkan-Loader/issues/262.
+ if (strstr(pCallbackData->pMessage, "wrong ELF class: ELFCLASS32") != NULL) {
+ return VK_FALSE;
+ }
if (strstr(pCallbackData->pMessageIdName, "UNASSIGNED-CoreValidation-DrawState-ClearCmdBeforeDraw") != NULL) {
return VK_FALSE;
}