diff options
author | marha <marha@users.sourceforge.net> | 2012-05-09 15:52:33 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-05-09 15:52:33 +0200 |
commit | 8a448108ec0bc3a0a488b2234e0d12aee503c67c (patch) | |
tree | 22e71069622608062b2f5eab3ef485438cd32122 /mesalib/src/mesa/state_tracker/st_draw.c | |
parent | 62068b3bc534d504e40df34847b4436f1a496f35 (diff) | |
download | vcxsrv-8a448108ec0bc3a0a488b2234e0d12aee503c67c.tar.gz vcxsrv-8a448108ec0bc3a0a488b2234e0d12aee503c67c.tar.bz2 vcxsrv-8a448108ec0bc3a0a488b2234e0d12aee503c67c.zip |
libX11 mesa xserver xkeyboard-config
Diffstat (limited to 'mesalib/src/mesa/state_tracker/st_draw.c')
-rw-r--r-- | mesalib/src/mesa/state_tracker/st_draw.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/mesalib/src/mesa/state_tracker/st_draw.c b/mesalib/src/mesa/state_tracker/st_draw.c index edab76bf5..42dc37576 100644 --- a/mesalib/src/mesa/state_tracker/st_draw.c +++ b/mesalib/src/mesa/state_tracker/st_draw.c @@ -966,7 +966,6 @@ st_validate_varrays(struct gl_context *ctx, */ void st_draw_vbo(struct gl_context *ctx, - const struct gl_client_array **arrays, const struct _mesa_prim *prims, GLuint nr_prims, const struct _mesa_index_buffer *ib, @@ -979,15 +978,22 @@ st_draw_vbo(struct gl_context *ctx, struct pipe_context *pipe = st->pipe; struct pipe_index_buffer ibuffer; struct pipe_draw_info info; + const struct gl_client_array **arrays = ctx->Array._DrawArrays; unsigned i, num_instances = 1; unsigned max_index_plus_base; - GLboolean new_array = - st->dirty.st && - (st->dirty.mesa & (_NEW_ARRAY | _NEW_PROGRAM | _NEW_BUFFER_OBJECT)) != 0; + GLboolean new_array; /* Mesa core state should have been validated already */ assert(ctx->NewState == 0x0); + /* Get Mesa driver state. */ + st->dirty.st |= ctx->NewDriverState; + ctx->NewDriverState = 0; + + new_array = + (st->dirty.st & (ST_NEW_VERTEX_ARRAYS | ST_NEW_VERTEX_PROGRAM)) || + (st->dirty.mesa & (_NEW_PROGRAM | _NEW_BUFFER_OBJECT)) != 0; + if (ib) { int max_base_vertex = 0; |