Implemented glGetActiveAttrib
TRAC #11929
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@180 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/Program.h b/src/libGLESv2/Program.h
index ea9616a..9992a5c 100644
--- a/src/libGLESv2/Program.h
+++ b/src/libGLESv2/Program.h
@@ -15,6 +15,7 @@
#include <vector>
#include <set>
+#include "libGLESv2/Shader.h"
#include "libGLESv2/Context.h"
namespace gl
@@ -80,6 +81,10 @@
void getInfoLog(GLsizei bufSize, GLsizei *length, char *infoLog);
void getAttachedShaders(GLsizei maxCount, GLsizei *count, GLuint *shaders);
+ void getActiveAttribute(GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
+ GLint getActiveAttributeCount();
+ GLint getActiveAttributeMaxLength();
+
void flagForDeletion();
bool isFlaggedForDeletion() const;
@@ -107,7 +112,7 @@
bool linkVaryings();
bool linkAttributes();
- int getAttributeBinding(const char *name);
+ int getAttributeBinding(const std::string &name);
bool linkUniforms(ID3DXConstantTable *constantTable);
bool defineUniform(const D3DXHANDLE &constantHandle, const D3DXCONSTANT_DESC &constantDescription, std::string name = "");
@@ -130,6 +135,7 @@
bool applyUniform3iv(GLint location, GLsizei count, const GLint *v);
bool applyUniform4iv(GLint location, GLsizei count, const GLint *v);
+ GLenum parseAttributeType(const std::string &type);
void appendToInfoLog(const char *info, ...);
FragmentShader *mFragmentShader;
@@ -144,7 +150,7 @@
ID3DXConstantTable *mConstantTableVS;
std::set<std::string> mAttributeBinding[MAX_VERTEX_ATTRIBS];
- std::string mLinkedAttribute[MAX_VERTEX_ATTRIBS];
+ Attribute mLinkedAttribute[MAX_VERTEX_ATTRIBS];
int mSemanticIndex[MAX_VERTEX_ATTRIBS];
struct Sampler