Don't enable loose binding with Gallium drivers in Mesa 7.10.

It's currently broken because of a regression in the mesa state tracker.

FIXED-IN: 4.6.0
BUG: 259872

svn path=/branches/KDE/4.6/kdebase/workspace/; revision=1213870
This commit is contained in:
Fredrik Höglund 2011-01-11 22:32:51 +00:00
parent f94e5b29d6
commit 5d306bf4f0
2 changed files with 14 additions and 0 deletions

View file

@ -710,6 +710,10 @@ void GLPlatform::detect()
m_limitedGLSL = m_supportsGLSL && m_chipClass < I965; m_limitedGLSL = m_supportsGLSL && m_chipClass < I965;
} }
// Loose binding is broken with Gallium drivers in Mesa 7.10
if (isGalliumDriver() && mesaVersion() >= kVersionNumber(7, 10))
m_looseBinding = false;
} }
static void print(const QString &label, const QString &setting) static void print(const QString &label, const QString &setting)
@ -829,6 +833,11 @@ bool GLPlatform::isMesaDriver() const
return mesaVersion() > 0; return mesaVersion() > 0;
} }
bool GLPlatform::isGalliumDriver() const
{
return galliumVersion() > 0;
}
bool GLPlatform::isRadeon() const bool GLPlatform::isRadeon() const
{ {
return m_chipClass >= R100 && m_chipClass <= UnknownRadeon; return m_chipClass >= R100 && m_chipClass <= UnknownRadeon;

View file

@ -218,6 +218,11 @@ public:
*/ */
bool isMesaDriver() const; bool isMesaDriver() const;
/**
* Returns true if the driver is a Gallium driver, and false otherwise.
*/
bool isGalliumDriver() const;
/** /**
* Returns true if the GPU is a Radeon GPU, and false otherwise. * Returns true if the GPU is a Radeon GPU, and false otherwise.
*/ */