From 2f066d1d6d7a4fe84016875f5fe9c25f50d7e831 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sun, 23 Jan 2022 01:41:15 +0000 Subject: [PATCH] Force device local storage for textures (fixes linux performance) --- Ryujinx.Graphics.Vulkan/TextureStorage.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Ryujinx.Graphics.Vulkan/TextureStorage.cs b/Ryujinx.Graphics.Vulkan/TextureStorage.cs index 406dfbe39..88a24d09a 100644 --- a/Ryujinx.Graphics.Vulkan/TextureStorage.cs +++ b/Ryujinx.Graphics.Vulkan/TextureStorage.cs @@ -10,6 +10,9 @@ namespace Ryujinx.Graphics.Vulkan { class TextureStorage : IDisposable { + private const MemoryPropertyFlags DefaultImageMemoryFlags = + MemoryPropertyFlags.MemoryPropertyDeviceLocalBit; + private const ImageUsageFlags DefaultUsageFlags = ImageUsageFlags.ImageUsageSampledBit | ImageUsageFlags.ImageUsageTransferSrcBit | @@ -127,7 +130,7 @@ namespace Ryujinx.Graphics.Vulkan if (foreignAllocation == null) { gd.Api.GetImageMemoryRequirements(device, _image, out var requirements); - var allocation = gd.MemoryAllocator.AllocateDeviceMemory(physicalDevice, requirements); + var allocation = gd.MemoryAllocator.AllocateDeviceMemory(physicalDevice, requirements, DefaultImageMemoryFlags); if (allocation.Memory.Handle == 0UL) {