mirror of
https://github.com/love2d/love.git
synced 2026-08-17 19:23:38 +02:00
Revert a dumb change that caused a crash due to reading from invalid memory
--HG-- branch : minor
This commit is contained in:
@@ -237,15 +237,6 @@ void Shader::mapActiveUniforms()
|
|||||||
if (u.location == -1)
|
if (u.location == -1)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (u.baseType == UNIFORM_SAMPLER)
|
|
||||||
{
|
|
||||||
// Initialize all samplers to 0. Both GLSL and GLSL ES are supposed
|
|
||||||
// to do this themselves, but some Android devices (galaxy tab 3 and
|
|
||||||
// 4) don't seem to do it...
|
|
||||||
// NOTE: We also restore previously set texture units below.
|
|
||||||
glUniform1iv(u.location, u.count, u.ints);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Make sure previously set uniform data is preserved, and shader-
|
// Make sure previously set uniform data is preserved, and shader-
|
||||||
// initialized values are retrieved.
|
// initialized values are retrieved.
|
||||||
auto oldu = olduniforms.find(u.name);
|
auto oldu = olduniforms.find(u.name);
|
||||||
@@ -303,6 +294,11 @@ void Shader::mapActiveUniforms()
|
|||||||
|
|
||||||
if (u.baseType == UNIFORM_SAMPLER)
|
if (u.baseType == UNIFORM_SAMPLER)
|
||||||
{
|
{
|
||||||
|
// Initialize all samplers to 0. Both GLSL and GLSL ES are
|
||||||
|
// supposed to do this themselves, but some Android devices
|
||||||
|
// (galaxy tab 3 and 4) don't seem to do it...
|
||||||
|
glUniform1iv(u.location, u.count, u.ints);
|
||||||
|
|
||||||
u.textures = new Texture*[u.count];
|
u.textures = new Texture*[u.count];
|
||||||
memset(u.textures, 0, sizeof(Texture *) * u.count);
|
memset(u.textures, 0, sizeof(Texture *) * u.count);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user