mirror of
https://github.com/love2d/love.git
synced 2026-08-19 12:14:20 +02:00
Don’t try to create the standard/default array texture shader if array textures are not supported.
--HG-- branch : minor
This commit is contained in:
@@ -273,6 +273,9 @@ bool Graphics::setMode(int width, int height, int pixelwidth, int pixelheight, b
|
|||||||
// We always need a default shader.
|
// We always need a default shader.
|
||||||
for (int i = 0; i < Shader::STANDARD_MAX_ENUM; i++)
|
for (int i = 0; i < Shader::STANDARD_MAX_ENUM; i++)
|
||||||
{
|
{
|
||||||
|
if (i == Shader::STANDARD_ARRAY && !isSupported(FEATURE_ARRAY_TEXTURE))
|
||||||
|
continue;
|
||||||
|
|
||||||
if (!Shader::standardShaders[i])
|
if (!Shader::standardShaders[i])
|
||||||
Shader::standardShaders[i] = newShader(defaultShaderCode[i][target][gammacorrect]);
|
Shader::standardShaders[i] = newShader(defaultShaderCode[i][target][gammacorrect]);
|
||||||
}
|
}
|
||||||
@@ -345,6 +348,9 @@ void Graphics::flushStreamDraws()
|
|||||||
|
|
||||||
if (textype == TEXTURE_2D_ARRAY && Shader::isDefaultActive())
|
if (textype == TEXTURE_2D_ARRAY && Shader::isDefaultActive())
|
||||||
{
|
{
|
||||||
|
if (!Shader::standardShaders[Shader::STANDARD_ARRAY])
|
||||||
|
throw love::Exception("Standard array texture shader has not been initialized!");
|
||||||
|
|
||||||
prevdefaultshader = Shader::current;
|
prevdefaultshader = Shader::current;
|
||||||
Shader::standardShaders[Shader::STANDARD_ARRAY]->attach();
|
Shader::standardShaders[Shader::STANDARD_ARRAY]->attach();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -68,6 +68,9 @@ void SpriteBatch::draw(Graphics *gfx, const Matrix4 &m)
|
|||||||
|
|
||||||
if (textype == TEXTURE_2D_ARRAY && Shader::isDefaultActive())
|
if (textype == TEXTURE_2D_ARRAY && Shader::isDefaultActive())
|
||||||
{
|
{
|
||||||
|
if (!Shader::standardShaders[Shader::STANDARD_ARRAY])
|
||||||
|
throw love::Exception("Standard array texture shader has not been initialized!");
|
||||||
|
|
||||||
prevdefaultshader = Shader::current;
|
prevdefaultshader = Shader::current;
|
||||||
Shader::standardShaders[Shader::STANDARD_ARRAY]->attach();
|
Shader::standardShaders[Shader::STANDARD_ARRAY]->attach();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user