mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-18 21:21:37 +00:00
sandbox: Add work-around for SDL2 display
At present the display does not show on some machines, e.g. Ubunutu 20.04 but the reason is unknown. Add a work-around until this can be determined. Also include more error checking just in case. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
f178bebf55
commit
fcb7e31082
1 changed files with 22 additions and 1 deletions
|
@ -164,8 +164,29 @@ int sandbox_sdl_init_display(int width, int height, int log2_bpp,
|
|||
|
||||
int sandbox_sdl_sync(void *lcd_base)
|
||||
{
|
||||
struct SDL_Rect rect;
|
||||
int ret;
|
||||
|
||||
if (!sdl.texture)
|
||||
return 0;
|
||||
SDL_RenderClear(sdl.renderer);
|
||||
SDL_UpdateTexture(sdl.texture, NULL, lcd_base, sdl.pitch);
|
||||
SDL_RenderCopy(sdl.renderer, sdl.texture, NULL, NULL);
|
||||
ret = SDL_RenderCopy(sdl.renderer, sdl.texture, NULL, NULL);
|
||||
if (ret) {
|
||||
printf("SDL copy %d: %s\n", ret, SDL_GetError());
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
/*
|
||||
* On some machines this does not appear. Draw an empty rectangle which
|
||||
* seems to fix that.
|
||||
*/
|
||||
rect.x = 0;
|
||||
rect.y = 0;
|
||||
rect.w = 0;
|
||||
rect.h = 0;
|
||||
SDL_RenderDrawRect(sdl.renderer, &rect);
|
||||
|
||||
SDL_RenderPresent(sdl.renderer);
|
||||
sandbox_sdl_poll_events();
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue