Skip to content

Allow for and implement window resizing #314

Description

@drjaska

When the application is resized it doesn't behave ideally, and the current observable behaviour differs between Vulkan and OpenGL.


Vulkan

2025-01-13.01-34-16.mp4

When the window is resized vertically it does not recognise the resolution change. If the window is made smaller then the drawn pixels shift down and the bottom pixels are not drawn on screen anymore.

When the window's resolution is cut in half horizontally then Vulkan just crashes.

Crash log
^3vk_present_frame(): restarting swapchain...
...presentation modes: FIFO FIFO_RELAXED IMMEDIATE
...selected presentation mode: IMMEDIATE, image count: 3
^3vk_present_frame(): restarting swapchain...
...presentation modes: FIFO FIFO_RELAXED IMMEDIATE
...selected presentation mode: IMMEDIATE, image count: 3
^3Vulkan: vkWaitForfences returned VK_ERROR_DEVICE_LOST^3Vulkan: vkWaitForfences returned VK_ERROR_DEVICE_LOST----- Client Shutdown (Server fatal crashed: Vulkan: qvkQueueSubmit( vk.queue, 1, &submit_info, vk.cmd->rendering_finished_fence ) returned VK_ERROR_DEVICE_LOST) -----
Closing SDL audio playback device...
SDL audio playback device closed.
SDL audio shut down.
RE_Shutdown( 3 )
----- Client Shutdown (recursive error after: Vulkan: qvkQueueSubmit( vk.queue, 1, &submit_info, vk.cmd->rendering_finished_fence ) returned VK_ERROR_DEVICE_LOST) -----
WARNING: Recursive CL_Shutdown()
Sys_Error: recursive error after: Vulkan: qvkQueueSubmit( vk.queue, 1, &submit_info, vk.cmd->rendering_finished_fence ) returned VK_ERROR_DEVICE_LOST

OpenGL

The window resizing is not recognised here either but it doesn't crash. When the window is made smaller it doesn't shift where it draws making it seem like all other windows are drawn on top of it

2025-01-13.01-35-13.mp4

I tested this on X11 with a patched dwm as a Window Manager. Same behaviour on Debian and Arch.

I don't know if these are related to X11, Wayland or every operating system which allows resizing the window size of fullscreen applications without making it not fullscreen but windowed.


I also attempted r_fullscreen 0 and then resizing the window but it doesn't want to change its size at all.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions