summaryrefslogtreecommitdiffstats
path: root/libs/rs/rsVertexArray.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/rs/rsVertexArray.h')
-rw-r--r--libs/rs/rsVertexArray.h23
1 files changed, 6 insertions, 17 deletions
diff --git a/libs/rs/rsVertexArray.h b/libs/rs/rsVertexArray.h
index 26e6f84..66b3ab0 100644
--- a/libs/rs/rsVertexArray.h
+++ b/libs/rs/rsVertexArray.h
@@ -33,14 +33,6 @@ public:
VertexArray();
virtual ~VertexArray();
- enum AttribName {
- POSITION,
- COLOR,
- NORMAL,
- POINT_SIZE,
- TEXTURE,
- _LAST
- };
class Attrib {
public:
@@ -51,6 +43,7 @@ public:
uint32_t stride;
bool normalized;
String8 name;
+ RsDataKind kind;
Attrib();
void set(const Attrib &);
@@ -59,23 +52,19 @@ public:
void clearAll();
- void clear(AttribName);
-
void setActiveBuffer(uint32_t id) {mActiveBuffer = id;}
-
- void setUser(const Attrib &, uint32_t stride);
- void setPosition(uint32_t size, uint32_t type, uint32_t stride, uint32_t offset);
- void setColor(uint32_t size, uint32_t type, uint32_t stride, uint32_t offset);
- void setNormal(uint32_t type, uint32_t stride, uint32_t offset);
- void setPointSize(uint32_t type, uint32_t stride, uint32_t offset);
- void setTexture(uint32_t size, uint32_t type, uint32_t stride, uint32_t offset);
+ void addUser(const Attrib &, uint32_t stride);
+ void addLegacy(uint32_t type, uint32_t size, uint32_t stride, RsDataKind kind, bool normalized, uint32_t offset);
void setupGL(const Context *rsc, class VertexArrayState *) const;
void setupGL2(const Context *rsc, class VertexArrayState *, ShaderCache *) const;
void logAttrib(uint32_t idx, uint32_t slot) const;
protected:
+ void clear(uint32_t index);
uint32_t mActiveBuffer;
+ uint32_t mCount;
+
Attrib mAttribs[RS_MAX_ATTRIBS];
};