Sprinkle some Intel GPU support on Linux

This commit is contained in:
Siana Gearz
2013-11-18 04:22:21 +01:00
parent 749d0eec28
commit a5103a1fc1
7 changed files with 28 additions and 5 deletions

View File

@@ -755,10 +755,12 @@ bool LLGLManager::initGL()
#endif
stop_glerror();
#if LL_WINDOWS
if (mIsIntel && mGLVersion <= 3.f)
{ //never try to use framebuffer objects on older intel drivers (crashy)
mHasFramebufferObject = FALSE;
}
#endif
stop_glerror();

View File

@@ -550,7 +550,7 @@ GLhandleARB LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shade
LL_WARNS("ShaderLoading") << "GL ERROR entering loadShaderFile(): " << error << LL_ENDL;
}
}
LL_DEBUGS("ShaderLoading") << "Loading shader file: " << filename << " class " << shader_level << LL_ENDL;
if (filename.empty())

View File

@@ -23,8 +23,8 @@
* $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
#extension GL_ARB_shader_texture_lod : enable
//#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_shader_texture_lod : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -1,4 +1,4 @@
version 27
version 28
// NOTE: This is mostly identical to featuretable_mac.txt with a few differences
// Should be combined into one table
@@ -301,7 +301,7 @@ RenderObjectBump 0 0
list OpenGLPre15
RenderVBOEnable 1 0
list Intel
list IntelPre30
RenderAnisotropic 1 0
// Avoid some Intel crashes on Linux
RenderCubeMap 0 0

View File

@@ -301,7 +301,11 @@ Intel Eaglelake .*Intel.*Eaglelake.* 0 1
Intel Graphics Media HD .*Intel.*Graphics Media.*HD.* 0 1
Intel HD Graphics 2000 .*Intel.*HD Graphics 2000.* 1 1
Intel HD Graphics 3000 .*Intel.*HD Graphics 3000.* 2 1
Intel HD Graphics 3000 .*Intel.*Sandybridge.* 2 1
Intel HD Graphics 4000 .*Intel.*HD Graphics 4000.* 2 1
Intel HD Graphics 4000 .*Intel.*Ivybridge.* 2 1
Intel HD Graphics 5000 .*Intel.*HD Graphics 5.* 2 1
Intel HD Graphics 5000 .*Intel.*Haswell.* 2 1
Intel HD Graphics .*Intel.*HD Graphics.* 2 1
Intel Mobile 4 Series .*Intel.*Mobile.* 4 Series.* 0 1
Intel Media Graphics HD .*Intel.*Media Graphics HD.* 0 1
@@ -312,6 +316,7 @@ Intel HD Graphics 2000 .*Intel.*HD2000.* 1 1
Intel HD Graphics 3000 .*Intel.*HD3000.* 2 1
Matrox .*Matrox.* 0 0
Mesa .*Mesa.* 0 0
Gallium .*Gallium.* 1 1
NVIDIA 205 .*NVIDIA .*GeForce 205.* 2 1
NVIDIA 210 .*NVIDIA .*GeForce 210.* 2 1
NVIDIA 310M .*NVIDIA .*GeForce 310M.* 1 1
@@ -407,6 +412,12 @@ NVIDIA GTX 670 .*NVIDIA .*GTX *67.* 3 1
NVIDIA GTX 680M .*NVIDIA .*GTX *680M.* 3 1
NVIDIA GTX 680 .*NVIDIA .*GTX *68.* 3 1
NVIDIA GTX 690 .*NVIDIA .*GTX *69.* 3 1
NVIDIA GTX 750 .*NVIDIA .*GTX *75.* 3 1
NVIDIA GTX 760 .*NVIDIA .*GTX *76.* 3 1
NVIDIA GTX 770 .*NVIDIA .*GTX *77.* 3 1
NVIDIA GTX 780 .*NVIDIA .*GTX *78.* 3 1
NVIDIA GTX TITAN .*NVIDIA .*GTX *TITAN.* 3 1
NVIDIA GT 7xxM .*NVIDIA .*GT *7.* 3 1
NVIDIA C51 .*NVIDIA .*C51.* 0 1
NVIDIA G72 .*NVIDIA .*G72.* 1 1
NVIDIA G73 .*NVIDIA .*G73.* 1 1

View File

@@ -626,6 +626,10 @@ void LLFeatureManager::applyBaseMasks()
{
maskFeatures("GeForceFX");
}
if (gGLManager.mIsIntel && gGLManager.mGLVersion<3.0f)
{
maskFeatures("IntelPre30");
}
if (gGLManager.mIsIntel)
{
maskFeatures("Intel");

View File

@@ -1219,6 +1219,12 @@ S32 LLViewerTextureList::getMinVideoRamSetting()
// Returns max setting for TextureMemory (in MB)
S32 LLViewerTextureList::getMaxVideoRamSetting(bool get_recommended)
{
#if LL_LINUX
if (gGLManager.mIsIntel && gGLManager.mGLVersion >= 3.f && !gGLManager.mVRAM)
{
gGLManager.mVRAM = 512;
}
#endif
S32 max_texmem;
if (gGLManager.mVRAM != 0)
{