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 #endif
stop_glerror(); stop_glerror();
#if LL_WINDOWS
if (mIsIntel && mGLVersion <= 3.f) if (mIsIntel && mGLVersion <= 3.f)
{ //never try to use framebuffer objects on older intel drivers (crashy) { //never try to use framebuffer objects on older intel drivers (crashy)
mHasFramebufferObject = FALSE; mHasFramebufferObject = FALSE;
} }
#endif
stop_glerror(); 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_WARNS("ShaderLoading") << "GL ERROR entering loadShaderFile(): " << error << LL_ENDL;
} }
} }
LL_DEBUGS("ShaderLoading") << "Loading shader file: " << filename << " class " << shader_level << LL_ENDL; LL_DEBUGS("ShaderLoading") << "Loading shader file: " << filename << " class " << shader_level << LL_ENDL;
if (filename.empty()) if (filename.empty())

View File

@@ -23,8 +23,8 @@
* $/LicenseInfo$ * $/LicenseInfo$
*/ */
#extension GL_ARB_texture_rectangle : enable //#extension GL_ARB_texture_rectangle : enable
#extension GL_ARB_shader_texture_lod : enable //#extension GL_ARB_shader_texture_lod : enable
#ifdef DEFINE_GL_FRAGCOLOR #ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color; 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 // NOTE: This is mostly identical to featuretable_mac.txt with a few differences
// Should be combined into one table // Should be combined into one table
@@ -301,7 +301,7 @@ RenderObjectBump 0 0
list OpenGLPre15 list OpenGLPre15
RenderVBOEnable 1 0 RenderVBOEnable 1 0
list Intel list IntelPre30
RenderAnisotropic 1 0 RenderAnisotropic 1 0
// Avoid some Intel crashes on Linux // Avoid some Intel crashes on Linux
RenderCubeMap 0 0 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 Graphics Media HD .*Intel.*Graphics Media.*HD.* 0 1
Intel HD Graphics 2000 .*Intel.*HD Graphics 2000.* 1 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.*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.*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 HD Graphics .*Intel.*HD Graphics.* 2 1
Intel Mobile 4 Series .*Intel.*Mobile.* 4 Series.* 0 1 Intel Mobile 4 Series .*Intel.*Mobile.* 4 Series.* 0 1
Intel Media Graphics HD .*Intel.*Media Graphics HD.* 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 Intel HD Graphics 3000 .*Intel.*HD3000.* 2 1
Matrox .*Matrox.* 0 0 Matrox .*Matrox.* 0 0
Mesa .*Mesa.* 0 0 Mesa .*Mesa.* 0 0
Gallium .*Gallium.* 1 1
NVIDIA 205 .*NVIDIA .*GeForce 205.* 2 1 NVIDIA 205 .*NVIDIA .*GeForce 205.* 2 1
NVIDIA 210 .*NVIDIA .*GeForce 210.* 2 1 NVIDIA 210 .*NVIDIA .*GeForce 210.* 2 1
NVIDIA 310M .*NVIDIA .*GeForce 310M.* 1 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 680M .*NVIDIA .*GTX *680M.* 3 1
NVIDIA GTX 680 .*NVIDIA .*GTX *68.* 3 1 NVIDIA GTX 680 .*NVIDIA .*GTX *68.* 3 1
NVIDIA GTX 690 .*NVIDIA .*GTX *69.* 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 C51 .*NVIDIA .*C51.* 0 1
NVIDIA G72 .*NVIDIA .*G72.* 1 1 NVIDIA G72 .*NVIDIA .*G72.* 1 1
NVIDIA G73 .*NVIDIA .*G73.* 1 1 NVIDIA G73 .*NVIDIA .*G73.* 1 1

View File

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

View File

@@ -1219,6 +1219,12 @@ S32 LLViewerTextureList::getMinVideoRamSetting()
// Returns max setting for TextureMemory (in MB) // Returns max setting for TextureMemory (in MB)
S32 LLViewerTextureList::getMaxVideoRamSetting(bool get_recommended) 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; S32 max_texmem;
if (gGLManager.mVRAM != 0) if (gGLManager.mVRAM != 0)
{ {