Hopefully work around Array Texture intel GMA driver bug on windows (resolves issue #1265).

--HG--
branch : minor
This commit is contained in:
Alex Szpakowski
2017-07-09 17:31:07 -03:00
parent 34f25bd6c8
commit 025201d0c2
+14 -2
View File
@@ -276,8 +276,20 @@ bool Graphics::setMode(int width, int height, int pixelwidth, int pixelheight, b
if (i == Shader::STANDARD_ARRAY && !capabilities.textureTypes[TEXTURE_2D_ARRAY])
continue;
if (!Shader::standardShaders[i])
Shader::standardShaders[i] = newShader(defaultShaderCode[i][target][gammacorrect]);
// Apparently some intel GMA drivers on windows fail to compile shaders
// which use array textures despite claiming support for the extension.
try
{
if (!Shader::standardShaders[i])
Shader::standardShaders[i] = newShader(defaultShaderCode[i][target][gammacorrect]);
}
catch (love::Exception &)
{
if (i == Shader::STANDARD_ARRAY)
capabilities.textureTypes[TEXTURE_2D_ARRAY] = false;
else
throw;
}
}
// A shader should always be active, but the default shader shouldn't be