diff options
author | Xiang, Haihao <[email protected]> | 2007-08-07 08:21:28 +0800 |
---|---|---|
committer | Xiang, Haihao <[email protected]> | 2007-08-07 08:21:28 +0800 |
commit | d05b72154319041dad38f24696638396753e0da3 (patch) | |
tree | ac6739683f25e7d2c1709bf98bbfc1cf0d11c8fe | |
parent | 75a88e908242c555b3916bbf61d371e83e6a6dd0 (diff) |
fix vbo_split_copy related bug 9962
-rw-r--r-- | src/mesa/vbo/vbo_split_copy.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/mesa/vbo/vbo_split_copy.c b/src/mesa/vbo/vbo_split_copy.c index e5c4429350e..685cc0fdf6e 100644 --- a/src/mesa/vbo/vbo_split_copy.c +++ b/src/mesa/vbo/vbo_split_copy.c @@ -129,6 +129,13 @@ static GLuint attr_size( const struct gl_client_array *array ) */ static GLboolean check_flush( struct copy_context *copy ) { + GLenum mode = copy->dstprim[copy->dstprim_nr].mode; + + if (GL_TRIANGLE_STRIP == mode && + copy->dstelt_nr & 1) { /* see bug9962 */ + return GL_FALSE; + } + if (copy->dstbuf_nr + 4 > copy->dstbuf_size) return GL_TRUE; @@ -458,7 +465,7 @@ static void replay_init( struct copy_context *copy ) dst->StrideB = copy->vertex_size; dst->Ptr = copy->dstbuf + offset; dst->Enabled = GL_TRUE; - dst->Normalized = GL_TRUE; + dst->Normalized = src->Normalized; dst->BufferObj = ctx->Array.NullBufferObj; dst->_MaxElement = copy->dstbuf_size; /* may be less! */ |