From 2029c3eb7fcab2dd6ec34508fc7b86134daad9f0 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Tue, 1 Dec 2015 08:42:12 -0800 Subject: [PATCH] VIDEO: Restore direct update of video bitmap data when using libSDL (vs libSDL2). --- sim_video.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sim_video.c b/sim_video.c index ed6c5fd4..ada3e8df 100644 --- a/sim_video.c +++ b/sim_video.c @@ -579,6 +579,17 @@ return stat; void vid_draw (int32 x, int32 y, int32 w, int32 h, uint32 *buf) { +#if SDL_MAJOR_VERSION == 1 +int32 i; +uint32* pixels; + +sim_debug (SIM_VID_DBG_VIDEO, vid_dev, "vid_draw(%d, %d, %d, %d)\n", x, y, w, h); + +pixels = (uint32 *)vid_image->pixels; + +for (i = 0; i < h; i++) + memcpy (pixels + ((i + y) * vid_width) + x, buf + w*i, w*sizeof(*pixels)); +#else SDL_Event user_event; SDL_Rect *vid_dst; uint32 *vid_data; @@ -601,6 +612,7 @@ if (SDL_PushEvent (&user_event) < 0) { free (vid_dst); free (vid_data); } +#endif } t_stat vid_set_cursor (t_bool visible, uint32 width, uint32 height, uint8 *data, uint8 *mask)