vbo: misc clean-ups

This commit is contained in:
Brian Paul
2010-06-04 17:24:40 -06:00
parent f5b9ad9a7d
commit 8585c01265
+36 -29
View File
@@ -41,12 +41,13 @@
#if FEATURE_dlist
/*
/**
* After playback, copy everything but the position from the
* last vertex to the saved state
*/
static void _playback_copy_to_current( GLcontext *ctx,
const struct vbo_save_vertex_list *node )
static void
_playback_copy_to_current(GLcontext *ctx,
const struct vbo_save_vertex_list *node)
{
struct vbo_context *vbo = vbo_context(ctx);
GLfloat vertex[VBO_ATTRIB_MAX * 4];
@@ -84,8 +85,7 @@ static void _playback_copy_to_current( GLcontext *ctx,
node->attrsz[i],
data);
if (memcmp(current, tmp, 4 * sizeof(GLfloat)) != 0)
{
if (memcmp(current, tmp, 4 * sizeof(GLfloat)) != 0) {
memcpy(current, tmp, 4 * sizeof(GLfloat));
vbo->currval[i].Size = node->attrsz[i];
@@ -120,11 +120,12 @@ static void _playback_copy_to_current( GLcontext *ctx,
/* Treat the vertex storage as a VBO, define vertex arrays pointing
/**
* Treat the vertex storage as a VBO, define vertex arrays pointing
* into it:
*/
static void vbo_bind_vertex_list( GLcontext *ctx,
const struct vbo_save_vertex_list *node )
static void vbo_bind_vertex_list(GLcontext *ctx,
const struct vbo_save_vertex_list *node)
{
struct vbo_context *vbo = vbo_context(ctx);
struct vbo_save_context *save = &vbo->save;
@@ -178,7 +179,7 @@ static void vbo_bind_vertex_list( GLcontext *ctx,
}
for (attr = 0; attr < VERT_ATTRIB_MAX; attr++) {
GLuint src = map[attr];
const GLuint src = map[attr];
if (node_attrsz[src]) {
/* override the default array set above */
@@ -206,21 +207,23 @@ static void vbo_bind_vertex_list( GLcontext *ctx,
_mesa_set_varying_vp_inputs( ctx, varying_inputs );
}
static void vbo_save_loopback_vertex_list( GLcontext *ctx,
const struct vbo_save_vertex_list *list )
static void
vbo_save_loopback_vertex_list(GLcontext *ctx,
const struct vbo_save_vertex_list *list)
{
const char *buffer = ctx->Driver.MapBuffer(ctx,
GL_ARRAY_BUFFER_ARB,
GL_READ_ONLY, /* ? */
list->vertex_store->bufferobj);
list->vertex_store->bufferobj);
vbo_loopback_vertex_list( ctx,
(const GLfloat *)(buffer + list->buffer_offset),
list->attrsz,
list->prim,
list->prim_count,
list->wrap_count,
list->vertex_size);
vbo_loopback_vertex_list(ctx,
(const GLfloat *)(buffer + list->buffer_offset),
list->attrsz,
list->prim,
list->prim_count,
list->wrap_count,
list->vertex_size);
ctx->Driver.UnmapBuffer(ctx, GL_ARRAY_BUFFER_ARB,
list->vertex_store->bufferobj);
@@ -229,10 +232,14 @@ static void vbo_save_loopback_vertex_list( GLcontext *ctx,
/**
* Execute the buffer and save copied verts.
* This is called from the display list code when executing
* a drawing command.
*/
void vbo_save_playback_vertex_list( GLcontext *ctx, void *data )
void
vbo_save_playback_vertex_list(GLcontext *ctx, void *data)
{
const struct vbo_save_vertex_list *node = (const struct vbo_save_vertex_list *) data;
const struct vbo_save_vertex_list *node =
(const struct vbo_save_vertex_list *) data;
struct vbo_save_context *save = &vbo_context(ctx)->save;
FLUSH_CURRENT(ctx, 0);
@@ -277,14 +284,14 @@ void vbo_save_playback_vertex_list( GLcontext *ctx, void *data )
if (ctx->NewState)
_mesa_update_state( ctx );
vbo_context(ctx)->draw_prims( ctx,
save->inputs,
node->prim,
node->prim_count,
NULL,
GL_TRUE,
0, /* Node is a VBO, so this is ok */
node->count - 1);
vbo_context(ctx)->draw_prims(ctx,
save->inputs,
node->prim,
node->prim_count,
NULL,
GL_TRUE,
0, /* Node is a VBO, so this is ok */
node->count - 1);
}
/* Copy to current?