Commits

Jason McKesson committed 498e777

Fix for NVIDIA driver bugs.

Comments (0)

Files changed (1)

glloader/src/gle.c

 		//Load the 2.1 core.
 		if(!gleIntLoad_Version_2_1()) eCurrLoadStatus = GLE_LOAD_FUNCTIONS_SOME;
 	}
-	else if(iMajorVersion == 3)
+	else if(iMajorVersion == 3 && iMinorVersion < 2)
 	{
 		switch(iMinorVersion)
 		{
 				if(!gleIntLoad_Version_3_1()) eCurrLoadStatus = GLE_LOAD_FUNCTIONS_SOME;
 			}
 			break;
-		default:
-			{
-				int iProfileMask = 0;
-				glGetIntegerv(GL_CONTEXT_PROFILE_MASK, &iProfileMask);
-				if(iProfileMask & GL_CONTEXT_COMPATIBILITY_PROFILE_BIT)
-				{
-					if(!gleIntLoad_Version_3_2_Comp()) eCurrLoadStatus = GLE_LOAD_FUNCTIONS_SOME;
-				}
-				else
-				{
-					if(!gleIntLoad_Version_3_2()) eCurrLoadStatus = GLE_LOAD_FUNCTIONS_SOME;
-				}
-			}
-			break;
 		}
 	}
 	else
 	{
 		int iProfileMask = 0;
 		glGetIntegerv(GL_CONTEXT_PROFILE_MASK, &iProfileMask);
-		if(iProfileMask & GL_CONTEXT_COMPATIBILITY_PROFILE_BIT)
+		if(iProfileMask)
 		{
-			if(!gleIntLoad_Version_3_2_Comp()) eCurrLoadStatus = GLE_LOAD_FUNCTIONS_SOME;
+			if(iProfileMask & GL_CONTEXT_COMPATIBILITY_PROFILE_BIT)
+			{
+				if(!gleIntLoad_Version_3_2_Comp()) eCurrLoadStatus = GLE_LOAD_FUNCTIONS_SOME;
+			}
+			else
+			{
+				if(!gleIntLoad_Version_3_2()) eCurrLoadStatus = GLE_LOAD_FUNCTIONS_SOME;
+			}
 		}
 		else
 		{
-			if(!gleIntLoad_Version_3_2()) eCurrLoadStatus = GLE_LOAD_FUNCTIONS_SOME;
+			//Hack to fix NVIDIA stupidity.
+			if(CheckCompatibilityExt())
+			{
+				if(!gleIntLoad_Version_3_2_Comp()) eCurrLoadStatus = GLE_LOAD_FUNCTIONS_SOME;
+			}
+			else
+			{
+				if(!gleIntLoad_Version_3_2()) eCurrLoadStatus = GLE_LOAD_FUNCTIONS_SOME;
+			}
 		}
 	}
 
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.