Date: Mon, 12 Jul 2004 14:17:47 -0500
authorSam Lantinga <slouken@libsdl.org>
Sat, 21 Aug 2004 11:34:24 +0000
changeset 941 5095c4a264aa
parent 940 bb1588ebe47b
child 942 41a59de7f2ed
Date: Mon, 12 Jul 2004 14:17:47 -0500 From: Richard Smith Subject: Re: [SDL] Disableing color depth and mode searching > Also, I should add that a quick way to get the desired effect is to > #define BROKEN_MODES on top of the SDL_fbvideo.c file. > Ah yes, I see that looks like that will do what I need. Curious as to why this is a #define and not an enviroment variable like the other settings. I would think that finding cards (or chips) with broken modes would be the norm rather than the execption.
src/video/fbcon/SDL_fbvideo.c
--- a/src/video/fbcon/SDL_fbvideo.c	Sat Aug 21 05:29:45 2004 +0000
+++ b/src/video/fbcon/SDL_fbvideo.c	Sat Aug 21 11:34:24 2004 +0000
@@ -463,31 +463,31 @@
 	current_w = vinfo.xres;
 	current_h = vinfo.yres;
 	current_index = ((vinfo.bits_per_pixel+7)/8)-1;
-#ifdef BROKEN_MODES
-	FB_AddMode(this, current_index, current_w, current_h);
-#else
-	for ( i=0; i<NUM_MODELISTS; ++i ) {
-		SDL_nummodes[i] = 0;
-		SDL_modelist[i] = NULL;
-		for ( j=0; j<(sizeof(checkres)/sizeof(checkres[0])); ++j ) {
-			unsigned int w, h;
+	if ( getenv("SDL_FB_BROKEN_MODES") != NULL ) {
+		FB_AddMode(this, current_index, current_w, current_h);
+	} else {
+		for ( i=0; i<NUM_MODELISTS; ++i ) {
+			SDL_nummodes[i] = 0;
+			SDL_modelist[i] = NULL;
+			for ( j=0; j<(sizeof(checkres)/sizeof(checkres[0])); ++j ) {
+				unsigned int w, h;
 
-			/* See if we are querying for the current mode */
-			w = checkres[j].w;
-			h = checkres[j].h;
-			if ( i == current_index ) {
-				if ( (current_w > w) || (current_h > h) ) {
-					/* Only check once */
-					FB_AddMode(this, i, current_w, current_h);
-					current_index = -1;
+				/* See if we are querying for the current mode */
+				w = checkres[j].w;
+				h = checkres[j].h;
+				if ( i == current_index ) {
+					if ( (current_w > w) || (current_h > h) ) {
+						/* Only check once */
+						FB_AddMode(this, i, current_w, current_h);
+						current_index = -1;
+					}
 				}
-			}
-			if ( FB_CheckMode(this, &vinfo, i, &w, &h) ) {
-				FB_AddMode(this, i, w, h);
+				if ( FB_CheckMode(this, &vinfo, i, &w, &h) ) {
+					FB_AddMode(this, i, w, h);
+				}
 			}
 		}
 	}
-#endif /* BROKEN_MODES */
 
 	/* Fill in our hardware acceleration capabilities */
 	this->info.wm_available = 0;