diff options
| author | bohu <bohu@google.com> | 2014-10-13 11:45:06 -0700 |
|---|---|---|
| committer | bohu <bohu@google.com> | 2014-10-13 11:45:06 -0700 |
| commit | 40a674e0d0acac87aa25eb9de720dc2fb07d9e4f (patch) | |
| tree | bad25e95b839e110a6c135cc287dc9cdf70567a6 /opengl/system | |
| parent | 7fa2b92de2058a3556e5f38a135de415bb3d5e45 (diff) | |
| download | android_device_generic_goldfish-40a674e0d0acac87aa25eb9de720dc2fb07d9e4f.tar.gz android_device_generic_goldfish-40a674e0d0acac87aa25eb9de720dc2fb07d9e4f.tar.bz2 android_device_generic_goldfish-40a674e0d0acac87aa25eb9de720dc2fb07d9e4f.zip | |
Fix emulator crashes on glDrawElements command
The current implementation does not properly handle the case when
glDrawElements is called without a buffer binded. This commit
fixes this problem and fixes the crash.
Change-Id: Ic7a5b2fb90c860dad878ed53a369349d479ba4e5
Diffstat (limited to 'opengl/system')
| -rw-r--r-- | opengl/system/GLESv2_enc/GL2Encoder.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/opengl/system/GLESv2_enc/GL2Encoder.cpp b/opengl/system/GLESv2_enc/GL2Encoder.cpp index 0f5abdd..305806e 100644 --- a/opengl/system/GLESv2_enc/GL2Encoder.cpp +++ b/opengl/system/GLESv2_enc/GL2Encoder.cpp @@ -424,15 +424,15 @@ void GL2Encoder::sendVertexAttributes(GLint first, GLsizei count) int stride = state->stride == 0 ? state->elementSize : state->stride; int firstIndex = stride * first; + this->m_glBindBuffer_enc(this, GL_ARRAY_BUFFER, state->bufferObject); if (state->bufferObject == 0) { this->glVertexAttribPointerData(this, i, state->size, state->type, state->normalized, state->stride, (unsigned char *)state->data + firstIndex, datalen); } else { - this->m_glBindBuffer_enc(this, GL_ARRAY_BUFFER, state->bufferObject); this->glVertexAttribPointerOffset(this, i, state->size, state->type, state->normalized, state->stride, (uintptr_t) state->data + firstIndex); - this->m_glBindBuffer_enc(this, GL_ARRAY_BUFFER, m_state->currentArrayVbo()); } + this->m_glBindBuffer_enc(this, GL_ARRAY_BUFFER, m_state->currentArrayVbo()); } else { this->m_glDisableVertexAttribArray_enc(this, i); } |
