diff --git a/src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp b/src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp index 7b6571d33d..f87ec1f375 100644 --- a/src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp +++ b/src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp @@ -33,7 +33,11 @@ constexpr VkDeviceSize MAX_ALIGNMENT = 256; // Windows ones however, can intake bigger buffers and generally do not OOM. // - GTX 960 on Windows will not OOM with 256mib // - GT 1030 on ^NIX will OOM with 256mib -#if defined(__FreeBSD__) +// With Orbis we need to be insanely chary with our allocations +// anything over 64MB is prone to crash the GPU, I'm sorry. +#if defined(__OPENORBIS__) +constexpr VkDeviceSize MAX_STREAM_BUFFER_SIZE = 32_MiB; +#elif defined(__FreeBSD__) constexpr VkDeviceSize MAX_STREAM_BUFFER_SIZE = 128_MiB; #else constexpr VkDeviceSize MAX_STREAM_BUFFER_SIZE = 256_MiB; diff --git a/src/video_core/vulkan_common/vulkan_surface.cpp b/src/video_core/vulkan_common/vulkan_surface.cpp index 7aea55fdca..d5155cb35e 100644 --- a/src/video_core/vulkan_common/vulkan_surface.cpp +++ b/src/video_core/vulkan_common/vulkan_surface.cpp @@ -108,10 +108,12 @@ vk::SurfaceKHR CreateSurface( } #endif +#ifndef __OPENORBIS__ if (!unsafe_surface) { LOG_ERROR(Render_Vulkan, "Presentation not supported on this platform"); throw vk::Exception(VK_ERROR_INITIALIZATION_FAILED); } +#endif return vk::SurfaceKHR(unsafe_surface, *instance, dld); }