[Bf-blender-cvs] [b071ac3] blender2.8: Gawain: allow immBeginAtMost, immEnd with no vertices
Mike Erwin
noreply at git.blender.org
Sat Oct 8 05:51:13 CEST 2016
Commit: b071ac315cb7f068372073d6f5bae6e771a5d860
Author: Mike Erwin
Date: Fri Oct 7 21:09:03 2016 -0400
Branches: blender2.8
https://developer.blender.org/rBb071ac315cb7f068372073d6f5bae6e771a5d860
Gawain: allow immBeginAtMost, immEnd with no vertices
The whole point of BeginAtMost is to avoid counting before drawing. Sometimes the uncounted count is zero, and that's ok!
===================================================================
M source/blender/gpu/gawain/immediate.c
===================================================================
diff --git a/source/blender/gpu/gawain/immediate.c b/source/blender/gpu/gawain/immediate.c
index 5be7372..3849453 100644
--- a/source/blender/gpu/gawain/immediate.c
+++ b/source/blender/gpu/gawain/immediate.c
@@ -320,7 +320,7 @@ void immEnd()
{
#if TRUST_NO_ONE
assert(imm.vertex_idx <= imm.vertex_ct);
- assert(vertex_count_makes_sense_for_primitive(imm.vertex_idx, imm.primitive));
+ assert(imm.vertex_idx == 0 || vertex_count_makes_sense_for_primitive(imm.vertex_idx, imm.primitive));
#endif
// printf("used %u of %u verts,", imm.vertex_idx, imm.vertex_ct);
imm.vertex_ct = imm.vertex_idx;
@@ -351,9 +351,11 @@ void immEnd()
#endif
glUnmapBuffer(GL_ARRAY_BUFFER);
- immDrawSetup();
-
- glDrawArrays(imm.primitive, 0, imm.vertex_ct);
+ if (imm.vertex_ct > 0)
+ {
+ immDrawSetup();
+ glDrawArrays(imm.primitive, 0, imm.vertex_ct);
+ }
glBindBuffer(GL_ARRAY_BUFFER, 0);
glBindVertexArray(0);
More information about the Bf-blender-cvs
mailing list