aclysma/skulpin

Crash on resize

Closed this issue · 8 comments

Whenever I resize the window, the window crashes.

OS:
Arch Linux

Logs
[2021-04-10T14:23:46Z INFO  winit::platform_impl::platform::x11::window] Guessed window scale factor: 1.1666666666666667
[2021-04-10T14:23:46Z DEBUG winit::platform_impl::platform::x11::window] Calculated physical dimensions: 1050x700
[2021-04-10T14:23:46Z INFO  rafx_api::backends::vulkan::api] Link method for vulkan: Dynamic
[2021-04-10T14:23:46Z INFO  rafx_api::backends::vulkan::internal::instance] Found Vulkan version: (1, 2, 172)
[2021-04-10T14:23:46Z DEBUG rafx_api::backends::vulkan::internal::instance] Available Layers: []
[2021-04-10T14:23:46Z DEBUG rafx_api::backends::vulkan::internal::instance] Available Extensions: [
    ExtensionProperties {
        extension_name: "VK_KHR_device_group_creation",
        spec_version: 1,
    },
    ExtensionProperties {
        extension_name: "VK_KHR_display",
        spec_version: 23,
    },
    ExtensionProperties {
        extension_name: "VK_KHR_external_fence_capabilities",
        spec_version: 1,
    },
    ExtensionProperties {
        extension_name: "VK_KHR_external_memory_capabilities",
        spec_version: 1,
    },
    ExtensionProperties {
        extension_name: "VK_KHR_external_semaphore_capabilities",
        spec_version: 1,
    },
    ExtensionProperties {
        extension_name: "VK_KHR_get_display_properties2",
        spec_version: 1,
    },
    ExtensionProperties {
        extension_name: "VK_KHR_get_physical_device_properties2",
        spec_version: 1,
    },
    ExtensionProperties {
        extension_name: "VK_KHR_get_surface_capabilities2",
        spec_version: 1,
    },
    ExtensionProperties {
        extension_name: "VK_KHR_surface",
        spec_version: 25,
    },
    ExtensionProperties {
        extension_name: "VK_KHR_surface_protected_capabilities",
        spec_version: 1,
    },
    ExtensionProperties {
        extension_name: "VK_KHR_wayland_surface",
        spec_version: 6,
    },
    ExtensionProperties {
        extension_name: "VK_KHR_xcb_surface",
        spec_version: 6,
    },
    ExtensionProperties {
        extension_name: "VK_KHR_xlib_surface",
        spec_version: 6,
    },
    ExtensionProperties {
        extension_name: "VK_EXT_acquire_xlib_display",
        spec_version: 1,
    },
    ExtensionProperties {
        extension_name: "VK_EXT_debug_report",
        spec_version: 8,
    },
    ExtensionProperties {
        extension_name: "VK_EXT_direct_mode_display",
        spec_version: 1,
    },
    ExtensionProperties {
        extension_name: "VK_EXT_display_surface_counter",
        spec_version: 1,
    },
    ExtensionProperties {
        extension_name: "VK_EXT_debug_utils",
        spec_version: 2,
    },
]
[2021-04-10T14:23:46Z DEBUG rafx_api::backends::vulkan::internal::instance] Using layers: []
[2021-04-10T14:23:46Z DEBUG rafx_api::backends::vulkan::internal::instance] Using extensions: ["VK_KHR_surface", "VK_KHR_xlib_surface"]
[2021-04-10T14:23:46Z INFO  rafx_api::backends::vulkan::internal::instance] Creating vulkan instance
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

[2021-04-10T14:23:46Z INFO  rafx_api::backends::vulkan::device_context] Preferred device types: [DiscreteGpu, IntegratedGpu]
[2021-04-10T14:23:46Z INFO  rafx_api::backends::vulkan::device_context] Available queue families:
[2021-04-10T14:23:46Z INFO  rafx_api::backends::vulkan::device_context] Queue Family 0
[2021-04-10T14:23:46Z INFO  rafx_api::backends::vulkan::device_context] QueueFamilyProperties {
    queue_flags: GRAPHICS | COMPUTE | TRANSFER,
    queue_count: 1,
    timestamp_valid_bits: 36,
    min_image_transfer_granularity: Extent3D {
        width: 1,
        height: 1,
        depth: 1,
    },
}
[2021-04-10T14:23:46Z INFO  rafx_api::backends::vulkan::device_context] Graphics QF: Some(0)  Compute QF: Some(0)  Transfer QF: Some(0)
[2021-04-10T14:23:46Z INFO  rafx_api::backends::vulkan::device_context] Found suitable device 'Intel(R) UHD Graphics 620 (WHL GT2)' API: 1.2.145 DriverVersion: 21.0.1 Score = 100
[2021-04-10T14:23:46Z DEBUG rafx_api::backends::vulkan::internal::queue_allocation] Determine required queue counts. Allocation strategies: Graphics: ShareFirstQueueInFamily, Compute: ShareFirstQueueInFamily, Transfer: ShareFirstQueueInFamily
[2021-04-10T14:23:46Z DEBUG rafx_api::backends::vulkan::internal::queue_allocation] Queue family indices: VkQueueFamilyIndices { graphics_queue_family_index: 0, compute_queue_family_index: 0, transfer_queue_family_index: 0 }
[2021-04-10T14:23:46Z DEBUG rafx_api::backends::vulkan::internal::queue_allocation] Queue families: [QueueFamilyProperties { queue_flags: GRAPHICS | COMPUTE | TRANSFER, queue_count: 1, timestamp_valid_bits: 36, min_image_transfer_granularity: Extent3D { width: 1, height: 1, depth: 1 } }]
[2021-04-10T14:23:46Z DEBUG rafx_api::backends::vulkan::internal::queue_allocation] Queue counts: {0: 1}
[2021-04-10T14:23:46Z DEBUG rafx_api::backends::vulkan::internal::queue_allocation] Graphics queue allocation config: VkQueueAllocationConfig { allocation_strategy: ShareFirstQueueInFamily, queue_family_index: 0, first_queue_index: 0 }
[2021-04-10T14:23:46Z DEBUG rafx_api::backends::vulkan::internal::queue_allocation] Compute queue allocation config: VkQueueAllocationConfig { allocation_strategy: ShareFirstQueueInFamily, queue_family_index: 0, first_queue_index: 0 }
[2021-04-10T14:23:46Z DEBUG rafx_api::backends::vulkan::internal::queue_allocation] Transfer queue allocation config: VkQueueAllocationConfig { allocation_strategy: ShareFirstQueueInFamily, queue_family_index: 0, first_queue_index: 0 }
[2021-04-10T14:23:46Z DEBUG rafx_api::backends::vulkan::internal::queue_allocation] Creating queue allocators
[2021-04-10T14:23:46Z INFO  rafx_api::backends::vulkan::swapchain] Surface format: SurfaceFormatKHR { format: B8G8R8A8_SRGB, color_space: SRGB_NONLINEAR }
[2021-04-10T14:23:46Z INFO  rafx_api::backends::vulkan::swapchain] Available present modes: [IMMEDIATE, MAILBOX, FIFO, FIFO_RELAXED]
[2021-04-10T14:23:46Z INFO  rafx_api::backends::vulkan::swapchain] Preferred present modes: [Fifo]
[2021-04-10T14:23:46Z INFO  rafx_api::backends::vulkan::swapchain] Present mode: FIFO
[2021-04-10T14:23:46Z DEBUG rafx_api::backends::vulkan::swapchain] Swapchain extents chosen by surface capabilities (1050 700)
[2021-04-10T14:23:46Z DEBUG rafx_api::backends::vulkan::swapchain] chose swapchain extents Extent2D { width: 1050, height: 700 }
[2021-04-10T14:23:46Z INFO  rafx_api::backends::vulkan::swapchain] Extents: Extent2D { width: 1050, height: 700 }
[2021-04-10T14:23:46Z DEBUG rafx_api::backends::vulkan::swapchain] Use the graphics queue family to present
[2021-04-10T14:23:46Z INFO  skulpin_renderer::skia_support] Setting up skia backend context with queue family index 0
[2021-04-10T14:23:46Z ERROR skulpin_renderer::skia_support] resolve of vkEnumerateInstanceVersion failed
[2021-04-10T14:23:46Z DEBUG skulpin_app_winit::app] fps: 35.909805
[2021-04-10T14:23:46Z DEBUG rafx_framework::resources::pipeline_cache] Creating graphics pipeline
[2021-04-10T14:23:47Z DEBUG skulpin_app_winit::app] fps: 59.188354
[2021-04-10T14:23:48Z DEBUG skulpin_app_winit::app] fps: 59.93792
[2021-04-10T14:23:49Z DEBUG skulpin_app_winit::app] fps: 59.74793
[2021-04-10T14:23:50Z DEBUG skulpin_app_winit::app] fps: 57.140533
[2021-04-10T14:23:52Z DEBUG skulpin_app_winit::app] fps: 60.184986
[2021-04-10T14:23:53Z DEBUG skulpin_app_winit::app] fps: 58.819603
[2021-04-10T14:23:53Z WARN  skulpin_app_winit::app] Passing Renderer::draw() error to app -1000001004
[2021-04-10T14:23:53Z DEBUG skulpin_renderer::renderer] destroying Renderer
[2021-04-10T14:23:53Z DEBUG skulpin_renderer::renderer] destroyed Renderer
[2021-04-10T14:23:53Z DEBUG rafx_api::extra::swapchain_helper] Destroying swapchain helper
[2021-04-10T14:23:53Z DEBUG rafx_api::extra::swapchain_helper] wait for all fences to complete
[2021-04-10T14:23:53Z INFO  rafx_framework::resources::resource_manager] Cleaning up resource manager
[2021-04-10T14:23:53Z INFO  rafx_framework::resources::resource_manager] Dropping resource manager

It looks like it renders at 60fps for about 6 seconds. I don't see anything in the log about a resize occurring. (The swap chain logging would show up a second time.) Can you get a stack trace or add more logging?

So, the delay between the double-click and the cursor movement changes the logs. In my normal resizing method, there is a small delay between double-clicking at the window boundary and then moving the cursor. But if I reduce that delay between the double-click and the cursor movement, the logs show the swap chain logging a second time.

Logs when moving cursor instantly after double-click
 Finished dev [unoptimized + debuginfo] target(s) in 0.06s
     Running `target/debug/naariyal`
[2021-04-10T18:57:16Z INFO  winit::platform_impl::platform::x11::window] Guessed window scale factor: 1.1666666666666667
[2021-04-10T18:57:16Z DEBUG winit::platform_impl::platform::x11::window] Calculated physical dimensions: 583x583    smp(filter::linear, mip_filter::linear, address::repeat, c
[2021-04-10T18:57:16Z INFO  rafx_api::backends::vulkan::api] Link method for vulkan: Dynamic                       mp, in.uv);\n    return out;\n}\n\n")), vk: Some(SpvBytes([
[2021-04-10T18:57:16Z INFO  rafx_api::backends::vulkan::internal::instance] Found Vulkan version: (1, 2, 172)c {
[2021-04-10T18:57:16Z DEBUG rafx_api::backends::vulkan::internal::instance] Available Layers: []                    0, 22, 0, 0, 0, 16, 0, 3, 0, 4, 0, 0, 0, 7, 0, 0, 0, 3, 0,
[2021-04-10T18:57:16Z DEBUG rafx_api::backends::vulkan::internal::instance] Available Extensions: [                115, 104, 97, 100, 101, 114, 95, 111, 98, 106, 101, 99, 116
    ExtensionProperties {
        extension_name: "VK_KHR_device_group_creation",
        spec_version: 1,
    },
    ExtensionProperties {
        extension_name: "VK_KHR_display",
        spec_version: 23,
    },
    ExtensionProperties {
        extension_name: "VK_KHR_external_fence_capabilities",
        spec_version: 1,
    },
    ExtensionProperties {
        extension_name: "VK_KHR_external_memory_capabilities",
        spec_version: 1,
    },
    ExtensionProperties {
        extension_name: "VK_KHR_external_semaphore_capabilities",
        spec_version: 1,
    },
    ExtensionProperties {
        extension_name: "VK_KHR_get_display_properties2",
        spec_version: 1,
    },
    ExtensionProperties {
        extension_name: "VK_KHR_get_physical_device_properties2",
        spec_version: 1,
    },
    ExtensionProperties {
        extension_name: "VK_KHR_get_surface_capabilities2",
        spec_version: 1,
    },
    ExtensionProperties {
        extension_name: "VK_KHR_surface",
        spec_version: 25,
    },
    ExtensionProperties {
        extension_name: "VK_KHR_surface_protected_capabilities",
        spec_version: 1,
    },
    ExtensionProperties {
        extension_name: "VK_KHR_wayland_surface",
        spec_version: 6,
    },
    ExtensionProperties {
        extension_name: "VK_KHR_xcb_surface",
        spec_version: 6,
    },
    ExtensionProperties {
        extension_name: "VK_KHR_xlib_surface",
        spec_version: 6,
    },
    ExtensionProperties {
        extension_name: "VK_EXT_acquire_xlib_display",
        spec_version: 1,
    },
    ExtensionProperties {
        extension_name: "VK_EXT_debug_report",
        spec_version: 8,
    },
    ExtensionProperties {
        extension_name: "VK_EXT_direct_mode_display",
        spec_version: 1,
    },
    ExtensionProperties {
        extension_name: "VK_EXT_display_surface_counter",
        spec_version: 1,
    },
    ExtensionProperties {
        extension_name: "VK_EXT_debug_utils",
        spec_version: 2,
    },
]
[2021-04-10T18:57:16Z DEBUG rafx_api::backends::vulkan::internal::instance] Using layers: []                       , 0, 0, 0, 103, 108, 95, 80, 111, 115, 105, 116, 105, 111, 
[2021-04-10T18:57:16Z DEBUG rafx_api::backends::vulkan::internal::instance] Using extensions: ["VK_KHR_surface", "VK_KHR_xlib_surface"]afxSamplerVulkan { sampler: 0x561ad63467f0 })], nam                            7, 0, 11, 0, 0, 0, 3, 0, 0, 0, 
[2021-04-10T18:57:16Z INFO  rafx_api::backends::vulkan::internal::instance] Creating vulkan instance                5, 0, 18, 0, 0, 0, 105, 110, 80, 111, 115, 105, 116, 105, 
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0                  5, 0, 29, 0, 0, 0, 105, 110, 84, 101, 120, 67, 111, 111, 1
ArcInner { resource: ResourceWithHash { resource: DescriptorSetLayoutResource { root_signature_arc: R              1, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 72, 0, 5, 
[2021-04-10T18:57:16Z INFO  rafx_api::backends::vulkan::device_context] Preferred device types: [DiscreteGpu, IntegratedGpu]4703073354253015264) }, shaders: [ResourceArc { inn                            18, 0, 0, 0, 30, 0, 0, 0, 0, 0,
[2021-04-10T18:57:16Z INFO  rafx_api::backends::vulkan::device_context] Available queue families:                   4, 0, 33, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 71, 0, 4, 0, 3
[2021-04-10T18:57:16Z INFO  rafx_api::backends::vulkan::device_context] Queue Family 0
[2021-04-10T18:57:16Z INFO  rafx_api::backends::vulkan::device_context] QueueFamilyProperties {                    2, 0, 3, 0, 6, 0, 0, 0, 32, 0, 0, 0, 23, 0, 4, 0, 7, 0, 0, 
    queue_flags: GRAPHICS | COMPUTE | TRANSFER,
    queue_count: 1,
    timestamp_valid_bits: 36,
    min_image_transfer_granularity: Extent3D {
        width: 1,
        height: 1,
        depth: 1,
    },
}
[2021-04-10T18:57:16Z INFO  rafx_api::backends::vulkan::device_context] Graphics QF: Some(0)  Compute QF: Some(0)  Transfer QF: Some(0)104, 97, 100, 101, 114, 95, 111, 98, 106, 101, 99,                              0, 33, 0, 0, 0, 0, 0, 0,
 0, 25                                                                      }], compu
[2021-04-10T18:57:16Z INFO  rafx_api::backends::vulkan::device_context] Found suitable device 'Intel(R) UHD Graphics 620 (WHL GT2)' API: 1.2.145 DriverVersion: 21.0.1 Score = 100                                                    , 0, 4, 0, 0, 0, 0, 0, 0, 0, 3,                            , RafxShad
[2021-04-10T18:57:16Z DEBUG rafx_api::backends::vulkan::internal::queue_allocation] Determine required queue counts. Allocation strategies: Graphics: ShareFirstQueueInFamily, Compute: ShareFirstQueueInFamily, Transfer: ShareFirstQueueInFamily0                                          , 0
[2021-04-10T18:57:16Z DEBUG rafx_api::backends::vulkan::internal::queue_allocation] Queue family indices: VkQueueFamilyIndices { graphics_queue_family_index: 0, compute_queue_family_index: 0, transfer_queue_family_index: 0 }0                                           0x
[2021-04-10T18:57:16Z DEBUG rafx_api::backends::vulkan::internal::queue_allocation] Queue families: [QueueFamilyProperties { queue_flags: GRAPHICS | COMPUTE | TRANSFER, queue_count: 1, timestamp_valid_bits: 36, min_image_transfer_granularity: Extent3D { width: 1, height: 1, depth: 1 } }],                                          de 
[2021-04-10T18:57:16Z DEBUG rafx_api::backends::vulkan::internal::queue_allocation] Queue counts: {0: 1} 120, 0, 72, 0, 5, 0, 11, 0, 0, 0, 0, 0, 0, 0, 11,                             ]];\n};\n\nfragment main0_out m                            ler: false
[2021-04-10T18:57:16Z DEBUG rafx_api::backends::vulkan::internal::queue_allocation] Graphics queue allocation config: VkQueueAllocationConfig { allocation_strategy: ShareFirstQueueInFamily, queue_family_index: 0, first_queue_index: 0 }                                           (Sp
[2021-04-10T18:57:16Z DEBUG rafx_api::backends::vulkan::internal::queue_allocation] Compute queue allocation config: VkQueueAllocationConfig { allocation_strategy: ShareFirstQueueInFamily, queue_family_index: 0, first_queue_index: 0 }1                                          0, 
[2021-04-10T18:57:16Z DEBUG rafx_api::backends::vulkan::internal::queue_allocatio
n] Transfer queue allocation config: VkQueueAllocationConfig { allocation_strategy: ShareFirstQueueInFamily, queue_family_index: 0, first_queue_index: 0 }                                                                   ,                                          6, 
[2021-04-10T18:57:16Z DEBUG rafx_api::backends::vulkan::internal::queue_allocation] Creating queue allocators0, 0, 0, 3, 0, 0, 0, 21, 0, 4, 0, 14, 0, 0, 0, 32,                              0, 0, 111, 117, 116, 67, 111,                             oord;\n   1, 0, 56, 0, 1, 0])) }, shader_module: Vk(RafxShaderModuleVulkan 
[2021-04-10T18:57:16Z INFO  rafx_api::backends::vulkan::swapchain] Surface format: SurfaceFormatKHR { format: B8G8R8A8_SRGB, color_space: SRGB_NONLINEAR }                                           0, 
[2021-04-10T18:57:16Z INFO  rafx_api::backends::vulkan::swapchain] Available present modes: [IMMEDIATE, MAILBOX, FIFO, FIFO_RELAXED]
[2021-04-10T18:57:16Z INFO  rafx_api::backends::vulkan::swapchain] Preferred present modes: [Fifo]                 , 0, 0, 7, 0, 0, 0, 59, 0, 4, 0, 8, 0, 0, 0, 9, 0, 0, 0, 3,                                              7, 100, 101, 95, 100, 105, 114, 101er(0)]])\n{\n    constexpr sampler smp(filter::linear, mip_filter::li
[2021-04-10T18:57:16Z INFO  rafx_api::backends::vulkan::swapchain] Present mode: FIFO{};\n    out.outColor = spvDescriptorSet0.tex.sample(smp, in.uv);\n    return
[2021-04-10T18:57:16Z DEBUG rafx_api::backends::vulkan::swapchain] Swapchain extents chosen by surface capabilities (583 583)
[2021-04-10T18:57:16Z DEBUG rafx_api::backends::vulkan::swapchain] chose swapchain extents Extent2D { width: 583, height: 583 }
[2021-04-10T18:57:16Z INFO  rafx_api::backends::vulkan::swapchain] Extents: Extent2D { width: 583, height: 583 }    0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 248, 0,                                               18, 0, 0, 0, 105, 110, 80, 111, 11, 0, 71, 76, 95, 71, 79, 79, 71, 76, 69, 95, 99, 112, 112, 95, 115, 1
[2021-04-10T18:57:16Z DEBUG rafx_api::backends::vulkan::swapchain] Use the graphics queue family to present        , 0, 0, 86, 0, 5, 0, 18, 0, 0, 0, 19, 0, 0, 0, 13, 0, 0, 0,                                              3, 0, 0, 0, 115, 109, 112, 0, 5, 0,0, 109, 97, 105, 110, 0, 0, 0, 0, 5, 0, 5, 0, 9, 0, 0, 0, 111, 117, 1
[2021-04-10T18:57:16Z INFO  skulpin_renderer::skia_support] Setting up skia backend context with queue family index 0
[2021-04-10T18:57:16Z ERROR skulpin_renderer::skia_support] resolve of vkEnumerateInstanceVersion failed           ntext: RafxDeviceContextVulkan { handle: 0x561ad630ae10 },                                               , 28, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0 0, 71, 0, 4, 0, 22, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 19, 0, 2, 0, 2
[2021-04-10T18:57:16Z DEBUG skulpin_app_winit::app] fps: 34.497906
[2021-04-10T18:57:16Z DEBUG rafx_framework::resources::pipeline_cache] Creating graphics pipeline                  aderStageDef { shader_module: Vk(RafxShaderModuleVulkan { i                                              , 0, 2, 0, 0, 0, 22, 0, 3, 0, 6, 0, 0, 0, 32, 0, 4, 0, 11, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 0, 4, 0
[2021-04-10T18:57:17Z DEBUG skulpin_app_winit::app] fps: 60.41771
[2021-04-10T18:57:18Z DEBUG skulpin_app_winit::app] fps: 59.46566
[2021-04-10T18:57:19Z DEBUG skulpin_app_winit::app] fps: 59.161423
[2021-04-10T18:57:20Z DEBUG skulpin_app_winit::app] fps: 59.517403
[2021-04-10T18:57:20Z DEBUG rafx_api::extra::swapchain_helper] Swapchain sent DeviceReset, rebuilding              ize_in_bytes: 0, used_in_shader_stages: VERTEX, name: Some(                                               17, 0, 0, 0, 1, 0, 0, 0, 16, 0, 0, 0, 0, 0, 13, 0, 0, 0, 17, 0, 0, 0, 61, 0, 4, 0, 20, 0, 0, 0, 23, 0, 
[2021-04-10T18:57:20Z INFO  rafx_api::extra::swapchain_helper] Rebuild Swapchain
[2021-04-10T18:57:20Z INFO  rafx_api::backends::vulkan::swapchain] Surface format: SurfaceFormatKHR { format: B8G8R8A8_SRGB, color_space: SRGB_NONLINEAR }
[2021-04-10T18:57:20Z INFO  rafx_api::backends::vulkan::swapchain] Available present modes: [IMMEDIATE, MAILBOX, FIFO, FIFO_RELAXED]
[2021-04-10T18:57:20Z INFO  rafx_api::backends::vulkan::swapchain] Preferred present modes: [Fifo]             0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,derModuleVulkanInner { device_context: RafxDeviceContextVulkan { handle: 
[2021-04-10T18:57:20Z INFO  rafx_api::backends::vulkan::swapchain] Present mode: 
FIFO
[2021-04-10T18:57:20Z DEBUG rafx_api::backends::vulkan::swapchain] Swapchain extents chosen by surface capabilities (584 583)
[2021-04-10T18:57:20Z DEBUG rafx_api::backends::vulkan::swapchain] chose swapchain extents Extent2D { width: 584, height: 583 }
[2021-04-10T18:57:20Z INFO  rafx_api::backends::vulkan::swapchain] Extents: Extent2D { width: 584, height: 583 }
[2021-04-10T18:57:20Z DEBUG rafx_api::backends::vulkan::swapchain] Use the graphics queue family to present
[2021-04-10T18:57:20Z WARN  skulpin_app_winit::app] Passing Renderer::draw() error to app -1000001004
-1000001004
[2021-04-10T18:57:20Z DEBUG skulpin_renderer::renderer] destroying Renderer
[2021-04-10T18:57:20Z DEBUG skulpin_renderer::renderer] destroyed Renderer
[2021-04-10T18:57:20Z DEBUG rafx_api::extra::swapchain_helper] Destroying swapchain helper
[2021-04-10T18:57:20Z DEBUG rafx_api::extra::swapchain_helper] wait for all fences to complete
[2021-04-10T18:57:20Z INFO  rafx_framework::resources::resource_manager] Cleaning up resource manager
[2021-04-10T18:57:20Z INFO  rafx_framework::resources::resource_manager] Dropping resource manager

Another thing I found was that when I set the logging level to Trace, you need to move the cursor very rapidly for the crash to happen

I think the key line in the log is "Passing Renderer::draw() error to app -1000001004", VK_ERROR_OUT_OF_DATE_KHR = -1000001004,

Normally what happens is that something happens that makes the swapchain go out of date (i.e. resizing), that gets returned, the swapchain is rebuilt, and then the swapchain is not out of date anymore and renders properly.

I'm not sure what it means if the swapchain is resized and that still returns (if that's in fact what's happening). I'll give it some thought, but unfortunately I don't have a way to reproduce problems on linux. All I can suggest at this point is to turn logging all the way up, add additional logging to confirm exactly what is returning the error code, and ensure vulkan validation is enabled.

I can also confirm this is happening. Also on window resize with VK_ERROR_OUT_OF_DATE_KHR panic. Using Manjaro Linux.

I can likewise confirm this bug.

Installed linux on an old computer and reproduced, this is likely the fix. May be a few days before everything is upstreamed/republished

aclysma/rafx#149

Awesome. I couldn't figure this out and it was my main reason for considering using skia::gpu::vk. But I appreciate the fact Rafx is all Rust, and that fix is really readable. 🚀

Published 0.14.0 which includes the resize fix