]> git.rm.cloudns.org Git - xonotic/darkplaces.git/commitdiff
fix detection of multisampling for ATC
authordivverent <divverent@d7cf8633-e32d-0410-b094-e92efae38249>
Mon, 13 Jun 2011 18:28:06 +0000 (18:28 +0000)
committerdivverent <divverent@d7cf8633-e32d-0410-b094-e92efae38249>
Mon, 13 Jun 2011 18:28:06 +0000 (18:28 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@11197 d7cf8633-e32d-0410-b094-e92efae38249

vid_shared.c

index 4539f9d86c2fdcc43285afd30c5a51d955543518..c34f1c82e795f81da570e04bcf3546495bafb061 100644 (file)
@@ -1085,7 +1085,7 @@ void VID_CheckExtensions(void)
                Con_Printf("vid.support.arb_multisample %i\n", vid.support.arb_multisample);
                Con_Printf("vid.mode.samples %i\n", vid.mode.samples);
                Con_Printf("vid.support.gl20shaders %i\n", vid.support.gl20shaders);
-               vid.allowalphatocoverage = vid.support.arb_multisample && vid_samples.integer > 1 && vid.support.gl20shaders;
+               vid.allowalphatocoverage = true; // but see below, it may get turned to false again if GL_SAMPLES_ARB is <= 1
        }
        else if (vid.support.arb_texture_env_combine && vid.texunits >= 2 && vid_gl13.integer)
        {
@@ -1110,9 +1110,19 @@ void VID_CheckExtensions(void)
                vid.sRGBcapable3D = false;
                vid.useinterleavedarrays = false;
        }
+
        // enable multisample antialiasing if possible
-       if (vid_samples.integer > 1 && vid.support.arb_multisample)
-               qglEnable(GL_MULTISAMPLE_ARB);
+       if(vid.support.arb_multisample)
+       {
+               int samples = 0;
+               qglGetIntegerv(GL_SAMPLES_ARB, &samples);
+               if (samples > 1)
+                       qglEnable(GL_MULTISAMPLE_ARB);
+               else
+                       vid.allowalphatocoverage = false;
+       }
+       else
+               vid.allowalphatocoverage = false;
 
        // VorteX: set other info (maybe place them in VID_InitMode?)
        Cvar_SetQuick(&gl_info_vendor, gl_vendor);