# HG changeset patch # User Sam Lantinga # Date 1002567246 0 # Node ID 62bad9a82022f4ae54f641907e6734b84f99e3f9 # Parent c6a0a7fe9a215c236c5f0988c1b2957c6e2b9078 Added photon fixes submitted by Luca Barbato diff -r c6a0a7fe9a21 -r 62bad9a82022 src/video/photon/SDL_ph_modes.c --- a/src/video/photon/SDL_ph_modes.c Sun Sep 30 20:23:55 2001 +0000 +++ b/src/video/photon/SDL_ph_modes.c Mon Oct 08 18:54:06 2001 +0000 @@ -205,7 +205,7 @@ void ph_FreeVideoModes(_THIS) { - int i; +// int i; // if ( SDL_modelist ) { // for ( i=0; SDL_modelist[i]; ++i ) { @@ -222,9 +222,10 @@ if ( use_vidmode ) { PgDisplaySettings_t settings; PgVideoModeInfo_t current_mode_info; + PgHWCaps_t my_hwcaps; unsigned short current_bpp; int i; - + /* if (PgGetVideoMode( &settings ) < 0) { fprintf(stderr,"error: PgGetVideoMode failed\n"); @@ -235,6 +236,17 @@ fprintf(stderr,"error: PgGetVideoModeInfo failed\n"); return; } + */ + //lu_zero + if (PgGetGraphicsHWCaps(&my_hwcaps) < 0) + { + fprintf(stderr,"set_best_resolution: GetGraphicsHWCaps failed!! \n"); + //that HAVE to work + } + if (PgGetVideoModeInfo(my_hwcaps.current_video_mode, ¤t_mode_info) < 0) + { + fprintf(stderr,"set_best_resolution: PgGetVideoModeInfo failed\n"); + } current_bpp = current_mode_info.bits_per_pixel; if (PgGetVideoModeList(&mode_list) >= 0) @@ -279,14 +291,25 @@ { if ( use_vidmode ) { - PgDisplaySettings_t settings; + //PgDisplaySettings_t settings; + PgVideoModeInfo_t current_mode_info; + PgHWCaps_t my_hwcaps; int unused; - + /* if (PgGetVideoMode( &settings ) >= 0) { *w = settings.xres; *h = settings.yres; return; - } + }*/ + if (PgGetGraphicsHWCaps(&my_hwcaps) >= 0) + { + if (PgGetVideoModeInfo(my_hwcaps.current_video_mode, ¤t_mode_info) < 0) + { + fprintf(stderr,"get_real_resolution: PgGetVideoModeInfo failed\n"); + } + *w = current_mode_info.width; + *h = current_mode_info.height; + } } // *w = DisplayWidth(SDL_Display, SDL_Screen); // *h = DisplayHeight(SDL_Display, SDL_Screen); diff -r c6a0a7fe9a21 -r 62bad9a82022 src/video/photon/SDL_ph_video.c --- a/src/video/photon/SDL_ph_video.c Sun Sep 30 20:23:55 2001 +0000 +++ b/src/video/photon/SDL_ph_video.c Mon Oct 08 18:54:06 2001 +0000 @@ -154,6 +154,7 @@ int rtnval; PgDisplaySettings_t mysettings; PgVideoModeInfo_t my_mode_info; + PgHWCaps_t my_hwcaps; if( NULL == ( event = malloc( EVENT_SIZE ) ) ) exit( EXIT_FAILURE ); @@ -207,13 +208,19 @@ if(SDL_BlankCursor == NULL) printf("could not create blank cursor\n"); /* Get the video mode */ + /* if (PgGetVideoMode( &mysettings ) < 0) { - fprintf(stderr,"ph_VideoInit: PgGetVideoMode failed\n"); + fprintf(stderr,"ph_VideoInit: PgGetVideoMode failed patch A?? \n"); //QNX6/Patch A always fails return code even though call succeeds. fixed Patch B } - - if (PgGetVideoModeInfo(mysettings.mode, &my_mode_info) < 0) + */ + if (PgGetGraphicsHWCaps(&my_hwcaps) < 0) + { + fprintf(stderr,"ph_VideoInit: GetGraphicsHWCaps failed!! \n"); + //that HAVE to work + } + if (PgGetVideoModeInfo(my_hwcaps.current_video_mode, &my_mode_info) < 0) { fprintf(stderr,"ph_VideoInit: PgGetVideoModeInfo failed\n"); } @@ -258,6 +265,7 @@ { PhRegion_t region_info; PgDisplaySettings_t settings; + PgHWCaps_t my_hwcaps; PgVideoModeInfo_t mode_info; int mode, actual_width, actual_height; PtArg_t arg[5]; @@ -295,15 +303,22 @@ /* Get the video mode and set it */ if (bpp == 0) { + /*again same issue, same solution if (PgGetVideoMode( &settings ) < 0) { fprintf(stderr,"error: PgGetVideoMode failed\n"); } - if (PgGetVideoModeInfo(settings.mode, &mode_info) < 0) + */ + if (PgGetGraphicsHWCaps(&my_hwcaps) < 0) + { + fprintf(stderr,"ph_SetVideoMode: GetGraphicsHWCaps failed!! \n"); + //that HAVE to work + } + if (PgGetVideoModeInfo(my_hwcaps.current_video_mode, &mode_info) < 0) { - fprintf(stderr,"error: PgGetVideoModeInfo failed\n"); + fprintf(stderr,"ph_SetVideoMode: PgGetVideoModeInfo failed\n"); } - bpp = mode_info.bits_per_pixel; + bpp = mode_info.bits_per_pixel; } if (flags & SDL_ANYFORMAT) {