Pass uniform buffers active bound to uniform blocks of the active program to HLSL/D3D constant buffers.

TRAC #22892

Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
Author: Jamie Madill

git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2339 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/ProgramBinary.h b/src/libGLESv2/ProgramBinary.h
index e0367e9..7b0fdd5 100644
--- a/src/libGLESv2/ProgramBinary.h
+++ b/src/libGLESv2/ProgramBinary.h
@@ -40,6 +40,7 @@
 class InfoLog;
 class AttributeBindings;
 struct Varying;
+class Buffer;
 
 // Struct used for correlating uniforms/elements of uniform arrays to handles
 struct UniformLocation
@@ -107,6 +108,7 @@
 
     void dirtyAllUniforms();
     void applyUniforms();
+    bool applyUniformBuffers(const std::vector<gl::Buffer*> boundBuffers);
 
     bool load(InfoLog &infoLog, const void *binary, GLsizei length);
     bool save(void* binary, GLsizei bufSize, GLsizei *length);
@@ -128,6 +130,7 @@
     void getActiveUniformBlockiv(GLuint uniformBlockIndex, GLenum pname, GLint *params) const;
     GLuint getActiveUniformBlockCount() const;
     GLuint getActiveUniformBlockMaxLength() const;
+    UniformBlock *getUniformBlockByIndex(GLuint blockIndex);
 
     void validate(InfoLog &infoLog);
     bool validateSamplers(InfoLog *infoLog);