Mercurial > sdl-ios-xcode
changeset 4155:4d743a3d0bc1 SDL-1.2
Disable Xbios video driver if FVDI present, but still allow it to be used when setting SDL_VIDEODRIVER
author | Patrice Mandin <patmandin@gmail.com> |
---|---|
date | Mon, 13 Oct 2008 20:50:20 +0000 |
parents | db4007f17bc8 |
children | de46a1bfcbdb |
files | src/video/xbios/SDL_xbios.c |
diffstat | 1 files changed, 17 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/video/xbios/SDL_xbios.c Mon Sep 15 20:47:55 2008 +0000 +++ b/src/video/xbios/SDL_xbios.c Mon Oct 13 20:50:20 2008 +0000 @@ -53,6 +53,10 @@ #define XBIOS_VID_DRIVER_NAME "xbios" +#ifndef C_fVDI +#define C_fVDI 0x66564449L +#endif + /* Debug print info */ #if 0 #define DEBUG_PRINT(what) \ @@ -95,6 +99,8 @@ static int XBIOS_Available(void) { unsigned long cookie_vdo, cookie_mil, cookie_hade, cookie_scpn; + unsigned long cookie_fvdi; + const char *envr = SDL_getenv("SDL_VIDEODRIVER"); /* Milan/Hades Atari clones do not have an Atari video chip */ if ( (Getcookie(C__MIL, &cookie_mil) == C_FOUND) || @@ -102,6 +108,17 @@ return 0; } + /* fVDI means graphic card, so no Xbios with it */ + if (Getcookie(C_fVDI, &cookie_fvdi) == C_FOUND) { + if (!envr) { + return 0; + } + if (SDL_strcmp(envr, XBIOS_VID_DRIVER_NAME)!=0) { + return 0; + } + /* Except if we force Xbios usage, through env var */ + } + /* Cookie _VDO present ? if not, assume ST machine */ if (Getcookie(C__VDO, &cookie_vdo) != C_FOUND) { cookie_vdo = VDO_ST << 16;