handle NULL buffers in glBindVertexBuffers

based on glBindTextures
This commit is contained in:
Nicolas Guillemot
2016-09-10 18:24:11 -07:00
committed by GitHub
parent d48334049a
commit b77a3c3eff
@@ -4064,9 +4064,12 @@ bool WrappedOpenGL::Serialise_glVertexArrayVertexBuffers(GLuint vaobj, GLuint fi
for(int32_t i = 0; i < Count; i++)
{
SERIALISE_ELEMENT(ResourceId, id, GetResourceManager()->GetID(BufferRes(GetCtx(), buffers[i])));
SERIALISE_ELEMENT(uint64_t, offset, (uint64_t)offsets[i]);
SERIALISE_ELEMENT(uint64_t, stride, (uint64_t)strides[i]);
SERIALISE_ELEMENT(ResourceId, id,
buffers && buffers[i]
? GetResourceManager()->GetID(BufferRes(GetCtx(), buffers[i]))
: ResourceId());
SERIALISE_ELEMENT(uint64_t, offset, buffers ? 0 : (uint64_t)offsets[i]);
SERIALISE_ELEMENT(uint64_t, stride, buffers ? 0 : (uint64_t)strides[i]);
if(m_State <= EXECUTING)
{
@@ -4138,7 +4141,7 @@ void WrappedOpenGL::glVertexArrayVertexBuffers(GLuint vaobj, GLuint first, GLsiz
{
for(GLsizei i = 0; i < count; i++)
{
if(buffers[i] != 0)
if(buffers != NULL && buffers[i] != 0)
{
GLResourceRecord *bufrecord =
GetResourceManager()->GetResourceRecord(BufferRes(GetCtx(), buffers[i]));
@@ -4182,7 +4185,7 @@ void WrappedOpenGL::glBindVertexBuffers(GLuint first, GLsizei count, const GLuin
{
for(GLsizei i = 0; i < count; i++)
{
if(buffers[i] != 0)
if(buffers != NULL && buffers[i] != 0)
{
GLResourceRecord *bufrecord =
GetResourceManager()->GetResourceRecord(BufferRes(GetCtx(), buffers[i]));