aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/mesa/vbo/vbo_exec_api.c106
1 files changed, 64 insertions, 42 deletions
diff --git a/src/mesa/vbo/vbo_exec_api.c b/src/mesa/vbo/vbo_exec_api.c
index 895f19745c8..cbf78b49631 100644
--- a/src/mesa/vbo/vbo_exec_api.c
+++ b/src/mesa/vbo/vbo_exec_api.c
@@ -61,7 +61,8 @@ vbo_reset_all_attr(struct vbo_exec_context *exec);
* primitive. This is called when we fill a vertex buffer before
* hitting glEnd.
*/
-static void vbo_exec_wrap_buffers( struct vbo_exec_context *exec )
+static void
+vbo_exec_wrap_buffers(struct vbo_exec_context *exec)
{
if (exec->vtx.prim_count == 0) {
exec->vtx.copied.nr = 0;
@@ -115,7 +116,7 @@ static void vbo_exec_wrap_buffers( struct vbo_exec_context *exec )
exec->vtx.prim[0].start = 0;
exec->vtx.prim[0].count = 0;
exec->vtx.prim_count++;
-
+
if (exec->vtx.copied.nr == last_count)
exec->vtx.prim[0].begin = last_begin;
}
@@ -136,13 +137,13 @@ vbo_exec_vtx_wrap(struct vbo_exec_context *exec)
* to exec->vtx.copied.
*/
vbo_exec_wrap_buffers( exec );
-
+
if (!exec->vtx.buffer_ptr) {
/* probably ran out of memory earlier when allocating the VBO */
return;
}
- /* Copy stored stored vertices to start of new list.
+ /* Copy stored stored vertices to start of new list.
*/
assert(exec->vtx.max_vert - exec->vtx.vert_count > exec->vtx.copied.nr);
@@ -160,7 +161,8 @@ vbo_exec_vtx_wrap(struct vbo_exec_context *exec)
/**
* Copy the active vertex's values to the ctx->Current fields.
*/
-static void vbo_exec_copy_to_current( struct vbo_exec_context *exec )
+static void
+vbo_exec_copy_to_current(struct vbo_exec_context *exec)
{
struct gl_context *ctx = exec->ctx;
struct vbo_context *vbo = vbo_context(ctx);
@@ -191,7 +193,7 @@ static void vbo_exec_copy_to_current( struct vbo_exec_context *exec )
if (exec->vtx.attrtype[i] != vbo->currval[i].Type ||
memcmp(current, tmp, 4 * sizeof(GLfloat) * dmul) != 0) {
memcpy(current, tmp, 4 * sizeof(GLfloat) * dmul);
-
+
/* Given that we explicitly state size here, there is no need
* for the COPY_CLEAN above, could just copy 16 bytes and be
* done. The only problem is when Mesa accesses ctx->Current
@@ -199,7 +201,8 @@ static void vbo_exec_copy_to_current( struct vbo_exec_context *exec )
*/
/* Size here is in components - not bytes */
vbo->currval[i].Size = exec->vtx.attrsz[i] / dmul;
- vbo->currval[i]._ElementSize = vbo->currval[i].Size * sizeof(GLfloat) * dmul;
+ vbo->currval[i]._ElementSize =
+ vbo->currval[i].Size * sizeof(GLfloat) * dmul;
vbo->currval[i].Type = exec->vtx.attrtype[i];
vbo->currval[i].Integer =
vbo_attrtype_to_integer_flag(exec->vtx.attrtype[i]);
@@ -221,7 +224,7 @@ static void vbo_exec_copy_to_current( struct vbo_exec_context *exec )
*/
if (ctx->Light.ColorMaterialEnabled &&
exec->vtx.attrsz[VBO_ATTRIB_COLOR0]) {
- _mesa_update_color_material(ctx,
+ _mesa_update_color_material(ctx,
ctx->Current.Attrib[VBO_ATTRIB_COLOR0]);
}
}
@@ -239,7 +242,8 @@ vbo_exec_copy_from_current(struct vbo_exec_context *exec)
for (i = VBO_ATTRIB_POS + 1; i < VBO_ATTRIB_MAX; i++) {
if (exec->vtx.attrtype[i] == GL_DOUBLE) {
- memcpy(exec->vtx.attrptr[i], vbo->currval[i].Ptr, exec->vtx.attrsz[i] * sizeof(GLfloat));
+ memcpy(exec->vtx.attrptr[i], vbo->currval[i].Ptr,
+ exec->vtx.attrsz[i] * sizeof(GLfloat));
} else {
const fi_type *current = (fi_type *) vbo->currval[i].Ptr;
switch (exec->vtx.attrsz[i]) {
@@ -260,7 +264,7 @@ vbo_exec_copy_from_current(struct vbo_exec_context *exec)
* to a larger one. Ex: glTexCoord2f -> glTexCoord4f.
* We need to go back over the previous 2-component texcoords and insert
* zero and one values.
- */
+ */
static void
vbo_exec_wrap_upgrade_vertex(struct vbo_exec_context *exec,
GLuint attr, GLuint newSize )
@@ -424,7 +428,7 @@ vbo_exec_fixup_vertex(struct gl_context *ctx, GLuint attr,
* vtxfmt on each flush (otherwise flags won't get reset
* afterwards).
*/
- if (attr == 0)
+ if (attr == 0)
ctx->Driver.NeedFlush |= FLUSH_STORED_VERTICES;
}
@@ -634,25 +638,26 @@ vbo_exec_FlushVertices_internal(struct vbo_exec_context *exec, GLboolean unmap)
}
-static void GLAPIENTRY vbo_exec_EvalCoord1f( GLfloat u )
+static void GLAPIENTRY
+vbo_exec_EvalCoord1f(GLfloat u)
{
GET_CURRENT_CONTEXT( ctx );
struct vbo_exec_context *exec = &vbo_context(ctx)->exec;
{
GLint i;
- if (exec->eval.recalculate_maps)
+ if (exec->eval.recalculate_maps)
vbo_exec_eval_update( exec );
for (i = 0; i <= VBO_ATTRIB_TEX7; i++) {
- if (exec->eval.map1[i].map)
+ if (exec->eval.map1[i].map)
if (exec->vtx.active_sz[i] != exec->eval.map1[i].sz)
vbo_exec_fixup_vertex( ctx, i, exec->eval.map1[i].sz, GL_FLOAT );
}
}
- memcpy( exec->vtx.copied.buffer, exec->vtx.vertex,
+ memcpy( exec->vtx.copied.buffer, exec->vtx.vertex,
exec->vtx.vertex_size * sizeof(GLfloat));
vbo_exec_do_EvalCoord1f( exec, u );
@@ -661,47 +666,55 @@ static void GLAPIENTRY vbo_exec_EvalCoord1f( GLfloat u )
exec->vtx.vertex_size * sizeof(GLfloat));
}
-static void GLAPIENTRY vbo_exec_EvalCoord2f( GLfloat u, GLfloat v )
+
+static void GLAPIENTRY
+vbo_exec_EvalCoord2f(GLfloat u, GLfloat v)
{
GET_CURRENT_CONTEXT( ctx );
struct vbo_exec_context *exec = &vbo_context(ctx)->exec;
{
GLint i;
- if (exec->eval.recalculate_maps)
+ if (exec->eval.recalculate_maps)
vbo_exec_eval_update( exec );
for (i = 0; i <= VBO_ATTRIB_TEX7; i++) {
- if (exec->eval.map2[i].map)
+ if (exec->eval.map2[i].map)
if (exec->vtx.active_sz[i] != exec->eval.map2[i].sz)
vbo_exec_fixup_vertex( ctx, i, exec->eval.map2[i].sz, GL_FLOAT );
}
- if (ctx->Eval.AutoNormal)
+ if (ctx->Eval.AutoNormal)
if (exec->vtx.active_sz[VBO_ATTRIB_NORMAL] != 3)
vbo_exec_fixup_vertex( ctx, VBO_ATTRIB_NORMAL, 3, GL_FLOAT );
}
- memcpy( exec->vtx.copied.buffer, exec->vtx.vertex,
+ memcpy( exec->vtx.copied.buffer, exec->vtx.vertex,
exec->vtx.vertex_size * sizeof(GLfloat));
vbo_exec_do_EvalCoord2f( exec, u, v );
- memcpy( exec->vtx.vertex, exec->vtx.copied.buffer,
+ memcpy( exec->vtx.vertex, exec->vtx.copied.buffer,
exec->vtx.vertex_size * sizeof(GLfloat));
}
-static void GLAPIENTRY vbo_exec_EvalCoord1fv( const GLfloat *u )
+
+static void GLAPIENTRY
+vbo_exec_EvalCoord1fv(const GLfloat *u)
{
vbo_exec_EvalCoord1f( u[0] );
}
-static void GLAPIENTRY vbo_exec_EvalCoord2fv( const GLfloat *u )
+
+static void GLAPIENTRY
+vbo_exec_EvalCoord2fv(const GLfloat *u)
{
vbo_exec_EvalCoord2f( u[0], u[1] );
}
-static void GLAPIENTRY vbo_exec_EvalPoint1( GLint i )
+
+static void GLAPIENTRY
+vbo_exec_EvalPoint1(GLint i)
{
GET_CURRENT_CONTEXT( ctx );
GLfloat du = ((ctx->Eval.MapGrid1u2 - ctx->Eval.MapGrid1u1) /
@@ -712,12 +725,13 @@ static void GLAPIENTRY vbo_exec_EvalPoint1( GLint i )
}
-static void GLAPIENTRY vbo_exec_EvalPoint2( GLint i, GLint j )
+static void GLAPIENTRY
+vbo_exec_EvalPoint2(GLint i, GLint j)
{
GET_CURRENT_CONTEXT( ctx );
- GLfloat du = ((ctx->Eval.MapGrid2u2 - ctx->Eval.MapGrid2u1) /
+ GLfloat du = ((ctx->Eval.MapGrid2u2 - ctx->Eval.MapGrid2u1) /
(GLfloat) ctx->Eval.MapGrid2un);
- GLfloat dv = ((ctx->Eval.MapGrid2v2 - ctx->Eval.MapGrid2v1) /
+ GLfloat dv = ((ctx->Eval.MapGrid2v2 - ctx->Eval.MapGrid2v1) /
(GLfloat) ctx->Eval.MapGrid2vn);
GLfloat u = i * du + ctx->Eval.MapGrid2u1;
GLfloat v = j * dv + ctx->Eval.MapGrid2v1;
@@ -729,9 +743,10 @@ static void GLAPIENTRY vbo_exec_EvalPoint2( GLint i, GLint j )
/**
* Called via glBegin.
*/
-static void GLAPIENTRY vbo_exec_Begin( GLenum mode )
+static void GLAPIENTRY
+vbo_exec_Begin(GLenum mode)
{
- GET_CURRENT_CONTEXT( ctx );
+ GET_CURRENT_CONTEXT( ctx );
struct vbo_exec_context *exec = &vbo_context(ctx)->exec;
int i;
@@ -822,9 +837,10 @@ try_vbo_merge(struct vbo_exec_context *exec)
/**
* Called via glEnd.
*/
-static void GLAPIENTRY vbo_exec_End( void )
+static void GLAPIENTRY
+vbo_exec_End(void)
{
- GET_CURRENT_CONTEXT( ctx );
+ GET_CURRENT_CONTEXT( ctx );
struct vbo_exec_context *exec = &vbo_context(ctx)->exec;
if (!_mesa_inside_begin_end(ctx)) {
@@ -890,7 +906,7 @@ static void GLAPIENTRY
vbo_exec_PrimitiveRestartNV(void)
{
GLenum curPrim;
- GET_CURRENT_CONTEXT( ctx );
+ GET_CURRENT_CONTEXT(ctx);
curPrim = ctx->Driver.CurrentExecPrimitive;
@@ -904,8 +920,8 @@ vbo_exec_PrimitiveRestartNV(void)
}
-
-static void vbo_exec_vtxfmt_init( struct vbo_exec_context *exec )
+static void
+vbo_exec_vtxfmt_init(struct vbo_exec_context *exec)
{
struct gl_context *ctx = exec->ctx;
GLvertexformat *vfmt = &exec->vtxfmt;
@@ -960,7 +976,7 @@ static void vbo_exec_vtxfmt_init( struct vbo_exec_context *exec )
vfmt->Vertex3fv = vbo_Vertex3fv;
vfmt->Vertex4f = vbo_Vertex4f;
vfmt->Vertex4fv = vbo_Vertex4fv;
-
+
if (ctx->API == API_OPENGLES2) {
vfmt->VertexAttrib1fARB = _es_VertexAttrib1f;
vfmt->VertexAttrib1fvARB = _es_VertexAttrib1fv;
@@ -1043,7 +1059,7 @@ static void vbo_exec_vtxfmt_init( struct vbo_exec_context *exec )
vfmt->MultiTexCoordP3uiv = vbo_MultiTexCoordP3uiv;
vfmt->MultiTexCoordP4ui = vbo_MultiTexCoordP4ui;
vfmt->MultiTexCoordP4uiv = vbo_MultiTexCoordP4uiv;
-
+
vfmt->NormalP3ui = vbo_NormalP3ui;
vfmt->NormalP3uiv = vbo_NormalP3uiv;
@@ -1082,7 +1098,8 @@ static void vbo_exec_vtxfmt_init( struct vbo_exec_context *exec )
* This replaces the malloced buffer which was created in
* vb_exec_vtx_init() below.
*/
-void vbo_use_buffer_objects(struct gl_context *ctx)
+void
+vbo_use_buffer_objects(struct gl_context *ctx)
{
struct vbo_exec_context *exec = &vbo_context(ctx)->exec;
/* Any buffer name but 0 can be used here since this bufferobj won't
@@ -1127,7 +1144,8 @@ vbo_always_unmap_buffers(struct gl_context *ctx)
}
-void vbo_exec_vtx_init( struct vbo_exec_context *exec )
+void
+vbo_exec_vtx_init(struct vbo_exec_context *exec)
{
struct gl_context *ctx = exec->ctx;
struct vbo_context *vbo = vbo_context(ctx);
@@ -1162,7 +1180,7 @@ void vbo_exec_vtx_init( struct vbo_exec_context *exec )
assert(i < ARRAY_SIZE(exec->vtx.arrays));
exec->vtx.inputs[i] = &exec->vtx.arrays[i];
}
-
+
{
struct gl_client_array *arrays = exec->vtx.arrays;
unsigned i;
@@ -1196,7 +1214,8 @@ void vbo_exec_vtx_init( struct vbo_exec_context *exec )
}
-void vbo_exec_vtx_destroy( struct vbo_exec_context *exec )
+void
+vbo_exec_vtx_destroy(struct vbo_exec_context *exec)
{
/* using a real VBO for vertex data */
struct gl_context *ctx = exec->ctx;
@@ -1242,7 +1261,8 @@ void vbo_exec_vtx_destroy( struct vbo_exec_context *exec )
*
* \param flags bitmask of FLUSH_STORED_VERTICES, FLUSH_UPDATE_CURRENT
*/
-void vbo_exec_FlushVertices( struct gl_context *ctx, GLuint flags )
+void
+vbo_exec_FlushVertices(struct gl_context *ctx, GLuint flags)
{
struct vbo_exec_context *exec = &vbo_context(ctx)->exec;
@@ -1274,6 +1294,7 @@ void vbo_exec_FlushVertices( struct gl_context *ctx, GLuint flags )
#endif
}
+
/**
* Reset the vertex attribute by setting its size to zero.
*/
@@ -1285,6 +1306,7 @@ vbo_reset_attr(struct vbo_exec_context *exec, GLuint attr)
exec->vtx.active_sz[attr] = 0;
}
+
static void
vbo_reset_all_attr(struct vbo_exec_context *exec)
{
@@ -1295,7 +1317,7 @@ vbo_reset_all_attr(struct vbo_exec_context *exec)
exec->vtx.vertex_size = 0;
}
-
+
void GLAPIENTRY
_es_Color4f(GLfloat r, GLfloat g, GLfloat b, GLfloat a)