GPU: Avoid invalid GL API usage
Drawing with 0 sized buffer is prohibited.
This commit is contained in:
parent
fe1827df82
commit
41235eed1d
|
@ -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_;
|
||||
|
|
Loading…
Reference in New Issue