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);