From: havoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Date: Mon, 3 Jul 2006 00:11:03 +0000 (+0000)
Subject: added v_hwgamma 2 (forced gamma, ignores driver returning failure) for testing
X-Git-Tag: xonotic-v0.1.0preview~3885
X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=999861c9fb72185564a30c026a4f03c16fe61556;p=xonotic%2Fdarkplaces.git

added v_hwgamma 2 (forced gamma, ignores driver returning failure) for testing


git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@6493 d7cf8633-e32d-0410-b094-e92efae38249
---

diff --git a/vid_shared.c b/vid_shared.c
index d333d476..4a41ee01 100644
--- a/vid_shared.c
+++ b/vid_shared.c
@@ -92,7 +92,7 @@ cvar_t v_color_grey_b = {CVAR_SAVE, "v_color_grey_b", "0.5", "desired color of g
 cvar_t v_color_white_r = {CVAR_SAVE, "v_color_white_r", "1", "desired color of white"};
 cvar_t v_color_white_g = {CVAR_SAVE, "v_color_white_g", "1", "desired color of white"};
 cvar_t v_color_white_b = {CVAR_SAVE, "v_color_white_b", "1", "desired color of white"};
-cvar_t v_hwgamma = {CVAR_SAVE, "v_hwgamma", "1", "enables use of hardware gamma correction ramps if available (note: does not work very well on Windows2000 and above)"};
+cvar_t v_hwgamma = {CVAR_SAVE, "v_hwgamma", "1", "enables use of hardware gamma correction ramps if available (note: does not work very well on Windows2000 and above), values are 0 = off, 1 = attempt to use hardware gamma, 2 = use hardware gamma whether it works or not"};
 cvar_t v_psycho = {0, "v_psycho", "0", "easter egg (does not work on Windows2000 or above)"};
 
 // brand of graphics chip
@@ -825,7 +825,8 @@ void VID_UpdateGamma(qboolean force, int rampsize)
 					*ramp++ = (unsigned short)(cos(t*(M_PI*2.0)) * 32767.0f + 32767.0f);
 		}
 
-		Cvar_SetValueQuick(&vid_hardwaregammasupported, VID_SetGamma(vid_gammaramps, vid_gammarampsize));
+		// set vid_hardwaregammasupported to true if VID_SetGamma succeeds, OR if vid_hwgamma is >= 2 (forced gamma - ignores driver return value)
+		Cvar_SetValueQuick(&vid_hardwaregammasupported, VID_SetGamma(vid_gammaramps, vid_gammarampsize) || v_hwgamma.integer >= 2);
 		// if custom gamma ramps failed (Windows stupidity), restore to system gamma
 		if(!vid_hardwaregammasupported.integer)
 		{