Hi Antonio

On Wed, Jun 7, 2023 at 1:05 PM Antonio Caggiano <quic_acagg...@quicinc.com>
wrote:

> Add the SDL_WINDOW_ALLOW_HIGHDPI flag when creating a window and get the
> drawable size instead of the window size when setting up the framebuffer
> and the viewport.
>
>
What does this actually change?
What about non-gl display, Mouse motion, and display resize?

thanks

Signed-off-by: Antonio Caggiano <quic_acagg...@quicinc.com>
> ---
>  ui/sdl2-gl.c | 4 ++--
>  ui/sdl2.c    | 2 +-
>  2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/ui/sdl2-gl.c b/ui/sdl2-gl.c
> index bbfa70eac3..251b7d56d6 100644
> --- a/ui/sdl2-gl.c
> +++ b/ui/sdl2-gl.c
> @@ -53,7 +53,7 @@ static void sdl2_gl_render_surface(struct sdl2_console
> *scon)
>      SDL_GL_MakeCurrent(scon->real_window, scon->winctx);
>      sdl2_set_scanout_mode(scon, false);
>
> -    SDL_GetWindowSize(scon->real_window, &ww, &wh);
> +    SDL_GL_GetDrawableSize(scon->real_window, &ww, &wh);
>      surface_gl_setup_viewport(scon->gls, scon->surface, ww, wh);
>
>      surface_gl_render_texture(scon->gls, scon->surface);
> @@ -239,7 +239,7 @@ void sdl2_gl_scanout_flush(DisplayChangeListener *dcl,
>
>      SDL_GL_MakeCurrent(scon->real_window, scon->winctx);
>
> -    SDL_GetWindowSize(scon->real_window, &ww, &wh);
> +    SDL_GL_GetDrawableSize(scon->real_window, &ww, &wh);
>      egl_fb_setup_default(&scon->win_fb, ww, wh);
>      egl_fb_blit(&scon->win_fb, &scon->guest_fb, !scon->y0_top);
>
> diff --git a/ui/sdl2.c b/ui/sdl2.c
> index 9d703200bf..c9c83815ca 100644
> --- a/ui/sdl2.c
> +++ b/ui/sdl2.c
> @@ -95,7 +95,7 @@ void sdl2_window_create(struct sdl2_console *scon)
>      }
>  #ifdef CONFIG_OPENGL
>      if (scon->opengl) {
> -        flags |= SDL_WINDOW_OPENGL;
> +        flags |= SDL_WINDOW_OPENGL | SDL_WINDOW_ALLOW_HIGHDPI;
>      }
>  #endif
>
> --
> 2.40.0
>
>

Reply via email to