Bug 779580 - Blacklist WebGL MSAA on Intel driver on Mesa 8.1, as it was lying about GL_MAX_SAMPLES - r=jgilbert

This commit is contained in:
Benoit Jacob 2012-08-02 17:28:02 -04:00
parent 055434264a
commit 59a1a81549
2 changed files with 11 additions and 1 deletions

View File

@ -42,6 +42,7 @@ GfxInfo::Init()
mIsNVIDIA = false;
mIsFGLRX = false;
mIsNouveau = false;
mIsIntel = false;
mHasTextureFromPixmap = false;
return GfxInfoBase::Init();
}
@ -209,6 +210,8 @@ GfxInfo::GetData()
whereToReadVersionNumbers = Mesa_in_version_string + strlen("Mesa");
if (strcasestr(mVendor.get(), "nouveau"))
mIsNouveau = true;
if (strcasestr(mRenderer.get(), "intel")) // yes, intel is in the renderer string
mIsIntel = true;
} else if (strstr(mVendor.get(), "NVIDIA Corporation")) {
mIsNVIDIA = true;
// with the NVIDIA driver, the version string contains "NVIDIA major.minor"
@ -327,6 +330,13 @@ GfxInfo::GetFeatureStatusImpl(PRInt32 aFeature,
*aStatus = nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION;
aSuggestedDriverVersion.AssignLiteral("Mesa 7.10.3");
}
if (aFeature == nsIGfxInfo::FEATURE_WEBGL_MSAA)
{
if (mIsIntel && version(mMajorVersion, mMinorVersion) < version(8,1))
*aStatus = nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION;
aSuggestedDriverVersion.AssignLiteral("Mesa 8.1");
}
} else if (mIsNVIDIA) {
if (version(mMajorVersion, mMinorVersion, mRevisionVersion) < version(257,21)) {
*aStatus = nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION;

View File

@ -67,7 +67,7 @@ private:
nsCString mAdapterDescription;
nsCString mOS;
nsCString mOSRelease;
bool mIsMesa, mIsNVIDIA, mIsFGLRX, mIsNouveau;
bool mIsMesa, mIsNVIDIA, mIsFGLRX, mIsNouveau, mIsIntel;
bool mHasTextureFromPixmap;
int mGLMajorVersion, mMajorVersion, mMinorVersion, mRevisionVersion;