void graphics_leave (void) { graphics_subshutdown (); SDL_FreeSurface(Dummy_prSDLScreen); bcm_host_deinit(); SDL_VideoQuit(); }
static void open_screen(struct uae_prefs *p) { graphics_subshutdown(); current_resource_amigafb = 0; currprefs.gfx_correct_aspect = changed_prefs.gfx_correct_aspect; currprefs.gfx_fullscreen_ratio = changed_prefs.gfx_fullscreen_ratio; #ifdef PICASSO96 if (screen_is_picasso) { display_width = picasso_vidinfo.width ? picasso_vidinfo.width : 640; display_height = picasso_vidinfo.height ? picasso_vidinfo.height : 256; } else #endif { p->gfx_resolution = p->gfx_monitor.gfx_size.width ? (p->gfx_monitor.gfx_size.width > 600 ? 1 : 0) : 1; display_width = p->gfx_monitor.gfx_size.width ? p->gfx_monitor.gfx_size.width : 640; display_height = (p->gfx_monitor.gfx_size.height ? p->gfx_monitor.gfx_size.height : 256) << p->gfx_vresolution; } write_comm_pipe_u32(display_pipe, DISPLAY_SIGNAL_OPEN, 1); uae_sem_wait (&display_sem); if (prSDLScreen != NULL) { InitAmigaVidMode(p); init_row_map(); } calibrate_done = false; reset_sync(); }
static void open_screen(struct uae_prefs *p) { char layersize[20]; if(prSDLScreen != NULL) graphics_subshutdown(); if(!screen_is_picasso) { CalcPandoraWidth(p); if(curr_layer_width != p->gfx_size_fs.width) { snprintf(layersize, 20, "%dx480", p->gfx_size_fs.width); #ifndef WIN32 setenv("SDL_OMAP_LAYER_SIZE", layersize, 1); #endif } } else { #ifdef PICASSO96 if(picasso_vidinfo.height < 480) snprintf(layersize, 20, "%dx480", picasso_vidinfo.width); else snprintf(layersize, 20, "%dx%d", picasso_vidinfo.width, picasso_vidinfo.height); #endif #ifndef WIN32 setenv("SDL_OMAP_LAYER_SIZE", layersize, 1); #endif } #ifdef ANDROIDSDL update_onscreen(); #endif if(!screen_is_picasso) { if(prSDLScreen == NULL || prSDLScreen->w != p->gfx_size.width || prSDLScreen->h != p->gfx_size.height) { #if defined(PANDORA) && !defined(WIN32) prSDLScreen = SDL_SetVideoMode(p->gfx_size.width, p->gfx_size.height, 16, SDL_HWSURFACE|SDL_FULLSCREEN|SDL_DOUBLEBUF); #elif defined(PANDORA) && defined(WIN32) prSDLScreen = SDL_SetVideoMode(p->gfx_size.width, p->gfx_size.height, 16, SDL_SWSURFACE|SDL_DOUBLEBUF); #else prSDLScreen = SDL_SetVideoMode(p->gfx_size.width, p->gfx_size.height, 16, SDL_HWSURFACE|SDL_FULLSCREEN); #endif } } else { #ifdef PICASSO96 prSDLScreen = SDL_SetVideoMode(picasso_vidinfo.width, picasso_vidinfo.height, 16, SDL_HWSURFACE|SDL_FULLSCREEN|SDL_DOUBLEBUF); #endif } if(prSDLScreen != NULL) { InitAmigaVidMode(p); init_row_map(); } }
void graphics_leave (void) { #ifdef DEBUG_GFX dbg("Function: graphics_leave"); #endif graphics_subshutdown (); SDL_VideoQuit(); dumpcustom (); }
void graphics_leave (void) { if (! x11_init_ok) return; graphics_subshutdown (); if (autorepeatoff) XAutoRepeatOn (display); XFlush (display); XSync (display, 0); XFreeColormap (display, cmap); XFreeColormap (display, cmap2); XCloseDisplay (display); dumpcustom (); }
int check_prefs_changed_gfx (void) { if (changed_prefs.gfx_width_win != currprefs.gfx_width_win || changed_prefs.gfx_height_win != currprefs.gfx_height_win) fixup_prefs_dimensions (&changed_prefs); if (changed_prefs.gfx_width_win == currprefs.gfx_width_win && changed_prefs.gfx_height_win == currprefs.gfx_height_win && changed_prefs.gfx_lores == currprefs.gfx_lores && changed_prefs.gfx_linedbl == currprefs.gfx_linedbl && changed_prefs.gfx_correct_aspect == currprefs.gfx_correct_aspect && changed_prefs.gfx_xcenter == currprefs.gfx_xcenter && changed_prefs.gfx_ycenter == currprefs.gfx_ycenter && changed_prefs.gfx_afullscreen == currprefs.gfx_afullscreen && changed_prefs.gfx_pfullscreen == currprefs.gfx_pfullscreen) return 0; graphics_subshutdown (); currprefs.gfx_width_win = changed_prefs.gfx_width_win; currprefs.gfx_height_win = changed_prefs.gfx_height_win; currprefs.gfx_lores = changed_prefs.gfx_lores; currprefs.gfx_linedbl = changed_prefs.gfx_linedbl; currprefs.gfx_correct_aspect = changed_prefs.gfx_correct_aspect; currprefs.gfx_xcenter = changed_prefs.gfx_xcenter; currprefs.gfx_ycenter = changed_prefs.gfx_ycenter; currprefs.gfx_afullscreen = changed_prefs.gfx_afullscreen; currprefs.gfx_pfullscreen = changed_prefs.gfx_pfullscreen; graphics_subinit (); if (! inwindow) XWarpPointer (display, None, mywin, 0, 0, 0, 0, current_width / 2, current_height / 2); notice_screen_contents_lost (); init_row_map (); if (screen_is_picasso) picasso_enablescreen (1); return 0; }
void graphics_leave(void) { graphics_subshutdown(); }
void graphics_leave (void) { graphics_subshutdown (); SDL_VideoQuit(); }
static void open_screen(struct uae_prefs *p) { char layersize[20]; graphics_subshutdown(); if(!screen_is_picasso) { CalcPandoraWidth(p); snprintf(layersize, 20, "%dx480", p->gfx_size_fs.width); #ifndef WIN32 setenv("SDL_OMAP_LAYER_SIZE", layersize, 1); #endif } else { #ifdef PICASSO96 if(picasso_vidinfo.height < 480) snprintf(layersize, 20, "%dx480", picasso_vidinfo.width); else snprintf(layersize, 20, "%dx%d", picasso_vidinfo.width, picasso_vidinfo.height); #endif #ifndef WIN32 setenv("SDL_OMAP_LAYER_SIZE", layersize, 1); #endif } #ifndef WIN32 setenv("SDL_OMAP_VSYNC", "0", 1); #endif #ifdef ANDROIDSDL update_onscreen(); #endif if(!screen_is_picasso) { if(prSDLScreen == NULL || prSDLScreen->w != p->gfx_size.width || prSDLScreen->h != p->gfx_size.height) { #if defined(PANDORA) && !defined(WIN32) prSDLScreen = SDL_SetVideoMode(p->gfx_size.width, p->gfx_size.height, 16, SDL_HWSURFACE|SDL_FULLSCREEN|SDL_DOUBLEBUF); #elif defined(PANDORA) && defined(WIN32) prSDLScreen = SDL_SetVideoMode(p->gfx_size.width, p->gfx_size.height, 16, SDL_SWSURFACE|SDL_DOUBLEBUF); #else prSDLScreen = SDL_SetVideoMode(p->gfx_size.width, p->gfx_size.height, 16, SDL_HWSURFACE|SDL_FULLSCREEN); #endif } } else { #ifdef PICASSO96 prSDLScreen = SDL_SetVideoMode(picasso_vidinfo.width, picasso_vidinfo.height, 16, SDL_HWSURFACE|SDL_FULLSCREEN|SDL_DOUBLEBUF); #endif } if(prSDLScreen != NULL) { InitAmigaVidMode(p); init_row_map(); } current_vsync_frame = 0; fbdev = open("/dev/fb0", O_RDWR); if(fbdev != -1) { // Check if we have vsync with frame counter... current_vsync_frame = 0; ioctl(fbdev, OMAPFB_WAITFORVSYNC_FRAME, ¤t_vsync_frame); if(current_vsync_frame != 0) current_vsync_frame += 2; } }