mesa: rework vbo_exec_init()

Here we make some assumptions about the AEcontext and set the
recalculate bools directly.

Some formating fixes are also made while we are here.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Timothy Arceri 2017-06-07 12:43:27 +10:00
parent f77740f14b
commit 99987fe92e
3 changed files with 18 additions and 8 deletions

View file

@ -94,6 +94,13 @@ TYPE_IDX(GLenum t)
}
bool
_ae_is_state_dirty(struct gl_context *ctx)
{
return AE_CONTEXT(ctx)->NewState;
}
#define NUM_TYPES 8

View file

@ -34,6 +34,7 @@
extern GLboolean _ae_create_context( struct gl_context *ctx );
extern void _ae_destroy_context( struct gl_context *ctx );
extern void _ae_invalidate_state( struct gl_context *ctx, GLbitfield new_state );
extern bool _ae_is_state_dirty(struct gl_context *ctx);
extern void GLAPIENTRY _ae_ArrayElement( GLint elt );
/* May optionally be called before a batch of element calls:

View file

@ -34,24 +34,26 @@
void vbo_exec_init( struct gl_context *ctx )
void
vbo_exec_init(struct gl_context *ctx)
{
struct vbo_exec_context *exec = &vbo_context(ctx)->exec;
exec->ctx = ctx;
/* Initialize the arrayelt helper
*/
if (!ctx->aelt_context &&
!_ae_create_context( ctx ))
return;
/* aelt_context should have been created by the caller */
assert(ctx->aelt_context);
vbo_exec_vtx_init( exec );
vbo_exec_vtx_init(exec);
ctx->Driver.NeedFlush = 0;
ctx->Driver.CurrentExecPrimitive = PRIM_OUTSIDE_BEGIN_END;
vbo_exec_invalidate_state( ctx, ~0 );
/* The aelt_context state should still be dirty from its creation */
assert(_ae_is_state_dirty(ctx));
exec->array.recalculate_inputs = GL_TRUE;
exec->eval.recalculate_maps = GL_TRUE;
}