GPU: Avoid invalid GL API usage

Drawing with 0 sized buffer is prohibited.
This commit is contained in:
Clément Foucault 2020-08-18 13:53:00 +02:00
parent fe1827df82
commit 41235eed1d
2 changed files with 7 additions and 0 deletions

View File

@ -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) {

View File

@ -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_;