diff options
author | marha <marha@users.sourceforge.net> | 2014-07-04 19:50:15 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2014-07-04 19:50:15 +0200 |
commit | fe03d6aef6338e43593f164b09ae993bcd0ecbdd (patch) | |
tree | 0fdb7e12fc82894e07b8b8141f2dbb00a93c60ad /mesalib/src/mesa/state_tracker/st_draw.c | |
parent | cfc5bafcb2db8c6e05d7be6bb7315960be08c0d8 (diff) | |
download | vcxsrv-fe03d6aef6338e43593f164b09ae993bcd0ecbdd.tar.gz vcxsrv-fe03d6aef6338e43593f164b09ae993bcd0ecbdd.tar.bz2 vcxsrv-fe03d6aef6338e43593f164b09ae993bcd0ecbdd.zip |
fontconfig mesa pixman xserver git update 4 July 2014
xserver commit a61ca6f006d70343c88fe45206fae0669d1e8971
pixman commit 6d2cf40166d81bfc63108504c8022dc4fec37ff5
fontconfig commit 5b22776999b6052afe0e829b1a0c0935bbe1e9f7
mesa commit 9a37eb8adb6558a4abf47774b583cb582a0ae116
Diffstat (limited to 'mesalib/src/mesa/state_tracker/st_draw.c')
-rw-r--r-- | mesalib/src/mesa/state_tracker/st_draw.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/mesalib/src/mesa/state_tracker/st_draw.c b/mesalib/src/mesa/state_tracker/st_draw.c index c8189faad..64d6ef525 100644 --- a/mesalib/src/mesa/state_tracker/st_draw.c +++ b/mesalib/src/mesa/state_tracker/st_draw.c @@ -244,6 +244,14 @@ st_draw_vbo(struct gl_context *ctx, } } + if (indirect) { + info.indirect = st_buffer_object(indirect)->buffer; + + /* Primitive restart is not handled by the VBO module in this case. */ + info.primitive_restart = ctx->Array._PrimitiveRestart; + info.restart_index = ctx->Array.RestartIndex; + } + /* do actual drawing */ for (i = 0; i < nr_prims; i++) { info.mode = translate_prim(ctx, prims[i].mode); @@ -256,6 +264,7 @@ st_draw_vbo(struct gl_context *ctx, info.min_index = info.start; info.max_index = info.start + info.count - 1; } + info.indirect_offset = prims[i].indirect_offset; if (ST_DEBUG & DEBUG_DRAW) { debug_printf("st/draw: mode %s start %u count %u indexed %d\n", @@ -265,7 +274,7 @@ st_draw_vbo(struct gl_context *ctx, info.indexed); } - if (info.count_from_stream_output) { + if (info.count_from_stream_output || info.indirect) { cso_draw_vbo(st->cso_context, &info); } else if (info.primitive_restart) { |