diff options
author | Marek Olšák <marek.olsak@amd.com> | 2015-01-04 14:27:33 +0100 |
---|---|---|
committer | Emil Velikov <emil.l.velikov@gmail.com> | 2015-01-07 16:12:31 +0000 |
commit | 2c26f5cc96463044c8bc035d4b362cc9d0453d3b (patch) | |
tree | 6ea160e6325683fb23553e28091d32a13845e3b5 | |
parent | 9bfdf3ae515d78c39d49174a9dcf4ae5767c74b5 (diff) |
vbo: ignore primitive restart if FixedIndex is enabled in DrawArrays
From GL 4.4 Core profile:
If both PRIMITIVE_RESTART and PRIMITIVE_RESTART_FIXED_INDEX are
enabled, the index value determined by PRIMITIVE_RESTART_FIXED_INDEX is
used. If PRIMITIVE_RESTART_FIXED_INDEX is enabled, primitive restart is not
performed for array elements transferred by any drawing command not taking a
type parameter, including all of the *Draw* commands other than *DrawEle-
ments*.
Cc: 10.2 10.3 10.4 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit 8f5d3095211eee609dfd52eee9f64ce8492b956b)
-rw-r--r-- | src/mesa/vbo/vbo_exec_array.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mesa/vbo/vbo_exec_array.c b/src/mesa/vbo/vbo_exec_array.c index 3f7058da15a..55117cea598 100644 --- a/src/mesa/vbo/vbo_exec_array.c +++ b/src/mesa/vbo/vbo_exec_array.c @@ -620,7 +620,8 @@ vbo_draw_arrays(struct gl_context *ctx, GLenum mode, GLint start, prim[0].is_indirect = 0; /* Implement the primitive restart index */ - if (ctx->Array.PrimitiveRestart && ctx->Array.RestartIndex < count) { + if (ctx->Array.PrimitiveRestart && !ctx->Array.PrimitiveRestartFixedIndex && + ctx->Array.RestartIndex < count) { GLuint primCount = 0; if (ctx->Array.RestartIndex == start) { |