From d763593db1c703885e663d5a606a63e2e65afadd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tur=C3=A1nszki=20J=C3=A1nos?= Date: Wed, 12 Mar 2025 19:26:14 +0100 Subject: [PATCH] linux: disabled vulkan resource aliasing because it sometimes returns unkown error --- WickedEngine/wiGraphicsDevice_Vulkan.cpp | 12 ++++++++++++ WickedEngine/wiVersion.cpp | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/WickedEngine/wiGraphicsDevice_Vulkan.cpp b/WickedEngine/wiGraphicsDevice_Vulkan.cpp index 0026bd201..5cfd3f1f7 100644 --- a/WickedEngine/wiGraphicsDevice_Vulkan.cpp +++ b/WickedEngine/wiGraphicsDevice_Vulkan.cpp @@ -3681,6 +3681,12 @@ using namespace vulkan_internal; } bool GraphicsDevice_Vulkan::CreateBuffer2(const GPUBufferDesc* desc, const std::function& init_callback, GPUBuffer* buffer, const GPUResource* alias, uint64_t alias_offset) const { +#ifdef PLATFORM_LINUX + // Resource aliasing on Linux sometimes fails with VK_ERROR_UNKOWN so I disable it: + alias = nullptr; + alias_offset = 0; +#endif // PLATFORM_LINUX + auto internal_state = std::make_shared(); internal_state->allocationhandler = allocationhandler; buffer->internal_state = internal_state; @@ -4010,6 +4016,12 @@ using namespace vulkan_internal; } bool GraphicsDevice_Vulkan::CreateTexture(const TextureDesc* desc, const SubresourceData* initial_data, Texture* texture, const GPUResource* alias, uint64_t alias_offset) const { +#ifdef PLATFORM_LINUX + // Resource aliasing on Linux sometimes fails with VK_ERROR_UNKOWN so I disable it: + alias = nullptr; + alias_offset = 0; +#endif // PLATFORM_LINUX + auto internal_state = std::make_shared(); internal_state->allocationhandler = allocationhandler; internal_state->defaultLayout = _ConvertImageLayout(desc->layout); diff --git a/WickedEngine/wiVersion.cpp b/WickedEngine/wiVersion.cpp index 176603753..fda901598 100644 --- a/WickedEngine/wiVersion.cpp +++ b/WickedEngine/wiVersion.cpp @@ -9,7 +9,7 @@ namespace wi::version // minor features, major updates, breaking compatibility changes const int minor = 71; // minor bug fixes, alterations, refactors, updates - const int revision = 703; + const int revision = 704; const std::string version_string = std::to_string(major) + "." + std::to_string(minor) + "." + std::to_string(revision);