#include <m_vector.h>
Has additional fields compared to the other vectors to help us track of different vertex sizes, and whether we need to clean columns out because they contain non-(0,0,0,1) values.
The start field is used to reserve data for copied vertices at the end of _mesa_transform_vb, and avoids the need for a multiplication in the transformation routines.
Data Fields | |
| GLfloat(* | data )[4] |
| may be malloc'd or point to client data | |
| GLfloat * | start |
| points somewhere inside of <data> | |
| GLuint | count |
| size of the vector (in elements) | |
| GLuint | stride |
| stride from one element to the next (in bytes) | |
| GLuint | size |
| 2-4 for vertices and 1-4 for texcoords | |
| GLbitfield | flags |
| bitmask of VEC_x flags | |
| void * | storage |
| self-allocated storage | |
| GLuint | storage_count |
| storage size in elements | |
| GLfloat(* GLvector4f::data)[4] |
may be malloc'd or point to client data
| GLfloat* GLvector4f::start |
points somewhere inside of <data>
| GLuint GLvector4f::count |
size of the vector (in elements)
| GLuint GLvector4f::stride |
stride from one element to the next (in bytes)
| GLuint GLvector4f::size |
2-4 for vertices and 1-4 for texcoords
| GLbitfield GLvector4f::flags |
bitmask of VEC_x flags
| void* GLvector4f::storage |
self-allocated storage
| GLuint GLvector4f::storage_count |
storage size in elements
1.5.4