diff options
Diffstat (limited to 'libs/rs/rsVertexArray.h')
-rw-r--r-- | libs/rs/rsVertexArray.h | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/libs/rs/rsVertexArray.h b/libs/rs/rsVertexArray.h index 3904cb6..dea7d41 100644 --- a/libs/rs/rsVertexArray.h +++ b/libs/rs/rsVertexArray.h @@ -37,13 +37,13 @@ public: class Attrib { public: uint32_t buffer; + const uint8_t * ptr; uint32_t offset; uint32_t type; uint32_t size; uint32_t stride; bool normalized; String8 name; - RsDataKind kind; Attrib(); void set(const Attrib &); @@ -52,17 +52,25 @@ public: void clearAll(); - void setActiveBuffer(uint32_t id) {mActiveBuffer = id;} - 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 setActiveBuffer(uint32_t id) { + mActiveBuffer = id; + mActivePointer = NULL; + } + void setActiveBuffer(const void *ptr) { + mActiveBuffer = 0; + mActivePointer = (const uint8_t *)ptr; + } + + void add(const Attrib &, uint32_t stride); + void add(uint32_t type, uint32_t size, uint32_t stride, bool normalized, uint32_t offset, const char *name); - 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; + const uint8_t * mActivePointer; uint32_t mCount; Attrib mAttribs[RS_MAX_ATTRIBS]; @@ -80,7 +88,7 @@ public: } } -#endif //ANDROID_LIGHT_H +#endif //ANDROID_VERTEX_ARRAY_H |