wayland: Scale-to-display mode requires both viewports and xdg-output for proper functionality

This commit is contained in:
Frank Praznik
2025-02-10 15:47:28 -05:00
parent b63d3afc18
commit c032586262

View File

@@ -1366,10 +1366,16 @@ bool Wayland_VideoInit(SDL_VideoDevice *_this)
// First roundtrip to receive all registry objects.
WAYLAND_wl_display_roundtrip(data->display);
// Require viewports for display scaling.
if (data->scale_to_display_enabled && !data->viewporter) {
SDL_LogError(SDL_LOG_CATEGORY_VIDEO, "wayland: Display scaling requires the missing 'wp_viewporter' protocol: disabling");
data->scale_to_display_enabled = false;
// Require viewports and xdg-output for display scaling.
if (data->scale_to_display_enabled) {
if (!data->viewporter) {
SDL_LogError(SDL_LOG_CATEGORY_VIDEO, "wayland: Display scaling requires the missing 'wp_viewporter' protocol: disabling");
data->scale_to_display_enabled = false;
}
if (!data->xdg_output_manager) {
SDL_LogError(SDL_LOG_CATEGORY_VIDEO, "wayland: Display scaling requires the missing 'zxdg_output_manager_v1' protocol: disabling");
data->scale_to_display_enabled = false;
}
}
// Now that we have all the protocols, load libdecor if applicable