diff options
author | marha <marha@users.sourceforge.net> | 2014-03-12 16:40:50 +0100 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2014-03-12 16:40:50 +0100 |
commit | cd8b0d0de3fcb53f6d3ece8ce26d97aaab2c0914 (patch) | |
tree | c0863bb0ad967459374ace6668bf2e80e1f9b004 /mesalib/src/mesa/state_tracker/st_cb_xformfb.c | |
parent | 3dd4b6420f686b0147d5b8136268cc63196e253b (diff) | |
download | vcxsrv-cd8b0d0de3fcb53f6d3ece8ce26d97aaab2c0914.tar.gz vcxsrv-cd8b0d0de3fcb53f6d3ece8ce26d97aaab2c0914.tar.bz2 vcxsrv-cd8b0d0de3fcb53f6d3ece8ce26d97aaab2c0914.zip |
mesa xserver xkbcomp git update 12 Mar 2014
xserver commit 81a4952d3dcab9ca3a1ee399c773f5ac352036c4
xkbcomp commit d4e02a09258063c6d024c3ccd42d6b22212e6e18
mesa commit 2c886eba7820f7e3e965dd16b786b0a412d8ef11
Diffstat (limited to 'mesalib/src/mesa/state_tracker/st_cb_xformfb.c')
-rw-r--r-- | mesalib/src/mesa/state_tracker/st_cb_xformfb.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/mesalib/src/mesa/state_tracker/st_cb_xformfb.c b/mesalib/src/mesa/state_tracker/st_cb_xformfb.c index e824fe9b3..8f75eda8a 100644 --- a/mesalib/src/mesa/state_tracker/st_cb_xformfb.c +++ b/mesalib/src/mesa/state_tracker/st_cb_xformfb.c @@ -113,6 +113,7 @@ st_begin_transform_feedback(struct gl_context *ctx, GLenum mode, struct st_transform_feedback_object *sobj = st_transform_feedback_object(obj); unsigned i, max_num_targets; + unsigned offsets[PIPE_MAX_SO_BUFFERS] = {0}; max_num_targets = MIN2(Elements(sobj->base.Buffers), Elements(sobj->targets)); @@ -145,8 +146,8 @@ st_begin_transform_feedback(struct gl_context *ctx, GLenum mode, } /* Start writing at the beginning of each target. */ - cso_set_stream_outputs(st->cso_context, sobj->num_targets, sobj->targets, - 0); + cso_set_stream_outputs(st->cso_context, sobj->num_targets, + sobj->targets, offsets); } @@ -155,7 +156,7 @@ st_pause_transform_feedback(struct gl_context *ctx, struct gl_transform_feedback_object *obj) { struct st_context *st = st_context(ctx); - cso_set_stream_outputs(st->cso_context, 0, NULL, 0); + cso_set_stream_outputs(st->cso_context, 0, NULL, NULL); } @@ -165,10 +166,15 @@ st_resume_transform_feedback(struct gl_context *ctx, { struct st_context *st = st_context(ctx); struct st_transform_feedback_object *sobj = - st_transform_feedback_object(obj); + st_transform_feedback_object(obj); + unsigned offsets[PIPE_MAX_SO_BUFFERS]; + unsigned i; + + for (i = 0; i < PIPE_MAX_SO_BUFFERS; i++) + offsets[i] = (unsigned)-1; - cso_set_stream_outputs(st->cso_context, sobj->num_targets, sobj->targets, - ~0); + cso_set_stream_outputs(st->cso_context, sobj->num_targets, + sobj->targets, offsets); } @@ -198,7 +204,7 @@ st_end_transform_feedback(struct gl_context *ctx, struct st_transform_feedback_object *sobj = st_transform_feedback_object(obj); - cso_set_stream_outputs(st->cso_context, 0, NULL, 0); + cso_set_stream_outputs(st->cso_context, 0, NULL, NULL); pipe_so_target_reference(&sobj->draw_count, st_transform_feedback_get_draw_target(obj)); |