Ryujinx/src/Ryujinx.Graphics.Vulkan
Aaron O'Mullan a7c6e6a8cf
fix(mvk): resumeLostDevice (#4800)
Command buffer errors currently trigger an exception "DeviceLost" crashing the process.

Looking at [MKV's code](53a4eb26f2/MoltenVK/MoltenVK/GPUObjects/MVKQueue.mm (L392-L408)) we observe that:
- It hard fails if error is:
  ```
   MTLCommandBufferErrorBlacklisted || MTLCommandBufferErrorNotPermitted || MTLCommandBufferErrorDeviceRemoved
   ```
- Otherwise fails conditionally if `config.resumeLostDevice == false` (current default)

For Ryujinx's use-case it's more graceful to resume on those errors rather than crashing the app, the error isn't totally silenced since `mvk` still logs it

Fixes #4704, #4575
2023-05-10 03:31:52 +02:00
..
Effects Move solution and projects to src 2023-04-27 23:51:14 +02:00
MoltenVK fix(mvk): resumeLostDevice (#4800) 2023-05-10 03:31:52 +02:00
Queries Move solution and projects to src 2023-04-27 23:51:14 +02:00
Shaders GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
Auto.cs Vulkan: Simplify MultiFenceHolder and managing them (#4845) 2023-05-08 12:45:12 +02:00
AutoFlushCounter.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
BackgroundResources.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
BitMap.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
BufferAllocationType.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
BufferHolder.cs Vulkan: Simplify MultiFenceHolder and managing them (#4845) 2023-05-08 12:45:12 +02:00
BufferManager.cs GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
BufferState.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
BufferUsageBitmap.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
CacheByRange.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
CommandBufferPool.cs Vulkan: Simplify MultiFenceHolder and managing them (#4845) 2023-05-08 12:45:12 +02:00
CommandBufferScoped.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
Constants.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DescriptorSetCollection.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DescriptorSetManager.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DescriptorSetUpdater.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DisposableBuffer.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DisposableBufferView.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DisposableFramebuffer.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DisposableImage.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DisposableImageView.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DisposableMemory.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DisposablePipeline.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DisposableRenderPass.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DisposableSampler.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
EnumConversion.cs GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
FenceHelper.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
FenceHolder.cs Vulkan: Simplify MultiFenceHolder and managing them (#4845) 2023-05-08 12:45:12 +02:00
FormatCapabilities.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
FormatConverter.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
FormatTable.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
FramebufferParams.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
HardwareCapabilities.cs GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
HashTableSlim.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
HelperShader.cs GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
HostMemoryAllocator.cs GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
IdList.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
IndexBufferPattern.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
IndexBufferState.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
MemoryAllocation.cs GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
MemoryAllocator.cs GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
MemoryAllocatorBlockList.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
MultiFenceHolder.cs Vulkan: Simplify MultiFenceHolder and managing them (#4845) 2023-05-08 12:45:12 +02:00
NativeArray.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
PersistentFlushBuffer.cs Vulkan: Simplify MultiFenceHolder and managing them (#4845) 2023-05-08 12:45:12 +02:00
PipelineBase.cs Vulkan: Batch vertex buffer updates (#4843) 2023-05-08 10:59:26 +02:00
PipelineConverter.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
PipelineDynamicState.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
PipelineFull.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
PipelineHelperShader.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
PipelineLayoutCache.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
PipelineLayoutCacheEntry.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
PipelineLayoutFactory.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
PipelineState.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
PipelineUid.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Graphics.Vulkan.csproj Move solution and projects to src 2023-04-27 23:51:14 +02:00
SamplerHolder.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
SemaphoreHolder.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
Shader.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
ShaderCollection.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
SpecInfo.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
StagingBuffer.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
SyncManager.cs GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
TextureBuffer.cs GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
TextureCopy.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
TextureStorage.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
TextureView.cs GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
Vendor.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
VertexBufferState.cs Vulkan: Batch vertex buffer updates (#4843) 2023-05-08 10:59:26 +02:00
VertexBufferUpdater.cs Vulkan: Batch vertex buffer updates (#4843) 2023-05-08 10:59:26 +02:00
VulkanConfiguration.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
VulkanDebugMessenger.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
VulkanException.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
VulkanInitialization.cs vulkan: Avoid hardcoding features in CreateDevice (#4858) 2023-05-08 10:48:16 +00:00
VulkanInstance.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
VulkanPhysicalDevice.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
VulkanRenderer.cs vulkan: Pass Vk instance to VulkanRenderer (#4859) 2023-05-08 13:05:37 +02:00
Window.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
WindowBase.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00