diff options
author | marha <marha@users.sourceforge.net> | 2012-05-09 16:07:11 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-05-09 16:07:11 +0200 |
commit | 58780b4306bd1254c6c0e65d255630d5c546005f (patch) | |
tree | 71c3b3842ee282b0228246840f5006c369684ab7 /mesalib/src/mesa/state_tracker/st_cb_rasterpos.c | |
parent | 38e785557684536d03fff096d56d5db61cc42e8a (diff) | |
parent | 8a448108ec0bc3a0a488b2234e0d12aee503c67c (diff) | |
download | vcxsrv-58780b4306bd1254c6c0e65d255630d5c546005f.tar.gz vcxsrv-58780b4306bd1254c6c0e65d255630d5c546005f.tar.bz2 vcxsrv-58780b4306bd1254c6c0e65d255630d5c546005f.zip |
Merge remote-tracking branch 'origin/released'
Diffstat (limited to 'mesalib/src/mesa/state_tracker/st_cb_rasterpos.c')
-rw-r--r-- | mesalib/src/mesa/state_tracker/st_cb_rasterpos.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/mesalib/src/mesa/state_tracker/st_cb_rasterpos.c b/mesalib/src/mesa/state_tracker/st_cb_rasterpos.c index 2c21dc9a7..8337f4624 100644 --- a/mesalib/src/mesa/state_tracker/st_cb_rasterpos.c +++ b/mesalib/src/mesa/state_tracker/st_cb_rasterpos.c @@ -225,6 +225,7 @@ st_RasterPos(struct gl_context *ctx, const GLfloat v[4]) struct st_context *st = st_context(ctx); struct draw_context *draw = st->draw; struct rastpos_stage *rs; + const struct gl_client_array **saved_arrays = ctx->Array._DrawArrays; if (st->rastpos_stage) { /* get rastpos stage info */ @@ -250,9 +251,14 @@ st_RasterPos(struct gl_context *ctx, const GLfloat v[4]) */ rs->array[0].Ptr = (GLubyte *) v; - /* draw the point */ - st_feedback_draw_vbo(ctx, rs->arrays, &rs->prim, 1, NULL, GL_TRUE, 0, 1, + /* Draw the point. + * + * Don't set DriverFlags.NewArray. + * st_feedback_draw_vbo doesn't check for that flag. */ + ctx->Array._DrawArrays = rs->arrays; + st_feedback_draw_vbo(ctx, &rs->prim, 1, NULL, GL_TRUE, 0, 1, NULL); + ctx->Array._DrawArrays = saved_arrays; /* restore draw's rasterization stage depending on rendermode */ if (ctx->RenderMode == GL_FEEDBACK) { |