Skip to content

Commit 026637c

Browse files
committed
Wayland: Remove splash screen to fix fullscreen on Auto monitor index
1 parent d11766a commit 026637c

1 file changed

Lines changed: 5 additions & 80 deletions

File tree

gfx/common/wayland_common.c

Lines changed: 5 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -660,52 +660,6 @@ static void shm_buffer_paint_checkerboard(
660660
}
661661
}
662662

663-
static bool wl_draw_splash_screen(gfx_ctx_wayland_data_t *wl)
664-
{
665-
if (wl->single_pixel_manager)
666-
{
667-
struct wl_buffer *buffer = NULL;
668-
buffer = wp_single_pixel_buffer_manager_v1_create_u32_rgba_buffer(
669-
wl->single_pixel_manager, 0, 0, 0, UINT32_MAX);
670-
671-
if (!buffer)
672-
return false;
673-
674-
wl_surface_attach(wl->surface, buffer, 0, 0);
675-
}
676-
else
677-
{
678-
shm_buffer_t *buffer = create_shm_buffer(wl,
679-
wl->buffer_width,
680-
wl->buffer_height,
681-
WL_SHM_FORMAT_XRGB8888);
682-
683-
if (!buffer)
684-
return false;
685-
686-
shm_buffer_paint_checkerboard(buffer, wl->buffer_width,
687-
wl->buffer_height, 1,
688-
8, 0xffbcbcbc, 0xff8e8e8e);
689-
shm_buffer_paint_icon(buffer, wl->buffer_width,
690-
wl->buffer_height, 1,
691-
16);
692-
693-
wl_surface_attach(wl->surface, buffer->wl_buffer, 0, 0);
694-
}
695-
696-
if (wl_surface_get_version(wl->surface) >= WL_SURFACE_DAMAGE_BUFFER_SINCE_VERSION)
697-
wl_surface_damage_buffer(wl->surface, 0, 0,
698-
wl->buffer_width,
699-
wl->buffer_height);
700-
701-
if (wl->viewport)
702-
wp_viewport_set_destination(wl->viewport, wl->width, wl->height);
703-
704-
wl_surface_commit(wl->surface);
705-
706-
return true;
707-
}
708-
709663
bool gfx_ctx_wl_init_common(
710664
const toplevel_listener_t *toplevel_listener, gfx_ctx_wayland_data_t **wwl)
711665
{
@@ -912,33 +866,6 @@ bool gfx_ctx_wl_init_common(
912866
wl_display_roundtrip(wl->input.dpy);
913867
xdg_wm_base_add_listener(wl->xdg_shell, &xdg_shell_listener, NULL);
914868

915-
/* Bind SHM based wl_buffer to wl_surface until the vulkan surface is ready.
916-
* This shows the window which assigns us a display (wl_output)
917-
* which is useful for HiDPI and auto selecting a display for fullscreen. */
918-
if (video_monitor_index == 0 && wl_list_length (&wl->all_outputs) > 1)
919-
{
920-
if (!wl_draw_splash_screen(wl))
921-
RARCH_ERR("[Wayland] Failed to draw splash screen.\n");
922-
923-
/* Make sure splash screen is on screen and sized */
924-
#ifdef HAVE_LIBDECOR_H
925-
if (wl->libdecor)
926-
{
927-
wl->configured = true;
928-
while (wl->configured)
929-
if (wl->libdecor_dispatch(wl->libdecor_context, 0) < 0)
930-
RARCH_ERR("[Wayland] libdecor failed to dispatch.\n");
931-
}
932-
else
933-
#endif
934-
{
935-
wl->configured = true;
936-
937-
while (wl->configured)
938-
wl_display_dispatch(wl->input.dpy);
939-
}
940-
}
941-
942869
// Ignore configure events until splash screen has been replaced
943870
wl->ignore_configuration = true;
944871

@@ -1018,11 +945,9 @@ bool gfx_ctx_wl_set_video_mode_common_fullscreen(gfx_ctx_wayland_data_t *wl,
1018945
struct wl_output *output = NULL;
1019946
int output_i = 0;
1020947

1021-
if (video_monitor_index <= 0 && wl->current_output != NULL)
948+
if (video_monitor_index <= 0)
1022949
{
1023-
oi = wl->current_output;
1024-
output = oi->output;
1025-
RARCH_LOG("[Wayland] Auto fullscreen on display \"%s\" \"%s\".\n", oi->make, oi->model);
950+
RARCH_LOG("[Wayland] Auto monitor index for fullscreen, letting compositor decide.\n");
1026951
}
1027952
else
1028953
{
@@ -1036,10 +961,10 @@ bool gfx_ctx_wl_set_video_mode_common_fullscreen(gfx_ctx_wayland_data_t *wl,
1036961
break;
1037962
}
1038963
};
1039-
}
1040964

1041-
if (!output)
1042-
RARCH_LOG("[Wayland] Failed to specify monitor for fullscreen, letting compositor decide.\n");
965+
if (!output)
966+
RARCH_LOG("[Wayland] Failed to specify monitor for fullscreen, letting compositor decide.\n");
967+
}
1043968

1044969
#ifdef HAVE_LIBDECOR_H
1045970
if (wl->libdecor)

0 commit comments

Comments
 (0)