Minimizes texture state changes
TRAC #12203
Signed-off-by: Nicolas Capens
Signed-off-by: Daniel Koch
Author: Shannon Woods
git-svn-id: https://angleproject.googlecode.com/svn/trunk@267 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/Program.h b/src/libGLESv2/Program.h
index a1ddd98..11aa2ca 100644
--- a/src/libGLESv2/Program.h
+++ b/src/libGLESv2/Program.h
@@ -66,8 +66,12 @@
GLuint getAttributeLocation(const char *name);
int getSemanticIndex(int attributeIndex);
+ void dirtyAllSamplers();
+
GLint getSamplerMapping(unsigned int samplerIndex);
SamplerType getSamplerType(unsigned int samplerIndex);
+ bool isSamplerDirty(unsigned int samplerIndex) const;
+ void setSamplerDirty(unsigned int samplerIndex, bool dirty);
GLint getUniformLocation(const char *name);
bool setUniform1fv(GLint location, GLsizei count, const GLfloat *v);
@@ -185,6 +189,7 @@
bool active;
GLint logicalTextureUnit;
SamplerType type;
+ bool dirty;
};
Sampler mSamplers[MAX_TEXTURE_IMAGE_UNITS];