|
@@ -237,15 +237,6 @@ void Shader::mapActiveUniforms()
|
|
|
if (u.location == -1)
|
|
|
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-
|
|
|
// initialized values are retrieved.
|
|
|
auto oldu = olduniforms.find(u.name);
|
|
@@ -303,6 +294,11 @@ void Shader::mapActiveUniforms()
|
|
|
|
|
|
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];
|
|
|
memset(u.textures, 0, sizeof(Texture *) * u.count);
|
|
|
}
|