GPU: Avoid invalid GL API usage
Drawing with 0 sized buffer is prohibited.
This commit is contained in:
@@ -325,6 +325,8 @@ void GLBatch::draw(int v_first, int v_count, int i_first, int i_count)
|
||||
{
|
||||
this->bind(i_first);
|
||||
|
||||
BLI_assert(v_count > 0 && i_count > 0);
|
||||
|
||||
GLenum gl_type = convert_prim_type_to_gl(prim_type);
|
||||
|
||||
if (elem) {
|
||||
|
||||
@@ -151,6 +151,11 @@ void GLDrawList::append(GPUBatch *batch, int i_first, int i_count)
|
||||
v_count_ = batch->elem ? batch->elem->index_len : batch->verts[0]->vertex_len;
|
||||
}
|
||||
|
||||
if (v_count_ == 0) {
|
||||
/* Nothing to draw. */
|
||||
return;
|
||||
}
|
||||
|
||||
if (MDI_INDEXED) {
|
||||
GLDrawCommandIndexed *cmd = reinterpret_cast<GLDrawCommandIndexed *>(data_ + command_offset_);
|
||||
cmd->v_first = v_first_;
|
||||
|
||||
Reference in New Issue
Block a user