Allow NULL in glClear*Buffer and glClear*Tex functions

* The spec says that if data is NULL, it acts like a buffer filled with
  zeroes, so we can just memset.
This commit is contained in:
baldurk committed 2017-12-07 18:37:23 +00:00
1 parent c6ab587875
commit c1c94d14e1
1 file changed
+16 -4
+16 -4
View File
@@ -3600,7 +3600,10 @@ bool WrappedOpenGL::Serialise_glClearNamedBufferDataEXT(GLuint buffer, GLenum in
case eGL_UNSIGNED_INT_10_10_10_2:
case eGL_UNSIGNED_INT_2_10_10_10_REV: s = 4; break;
}
memcpy(val, data, s);
if(data)
memcpy(val, data, s);
else
memset(val, 0, s);
}
m_pSerialiser->SerialisePODArray<4>("data", val);
@@ -3730,7 +3733,10 @@ bool WrappedOpenGL::Serialise_glClearNamedBufferSubDataEXT(GLuint buffer, GLenum
case eGL_UNSIGNED_INT_10_10_10_2:
case eGL_UNSIGNED_INT_2_10_10_10_REV: s = 4; break;
}
memcpy(val, data, s);
if(data)
memcpy(val, data, s);
else
memset(val, 0, s);
}
m_pSerialiser->SerialisePODArray<4>("data", val);
@@ -4013,7 +4019,10 @@ bool WrappedOpenGL::Serialise_glClearTexImage(GLuint texture, GLint level, GLenu
case eGL_UNSIGNED_INT_10_10_10_2:
case eGL_UNSIGNED_INT_2_10_10_10_REV: s = 4; break;
}
memcpy(val, data, s);
if(data)
memcpy(val, data, s);
else
memset(val, 0, s);
}
m_pSerialiser->SerialisePODArray<4>("data", val);
@@ -4117,7 +4126,10 @@ bool WrappedOpenGL::Serialise_glClearTexSubImage(GLuint texture, GLint level, GL
case eGL_UNSIGNED_INT_10_10_10_2:
case eGL_UNSIGNED_INT_2_10_10_10_REV: s = 4; break;
}
memcpy(val, data, s);
if(data)
memcpy(val, data, s);
else
memset(val, 0, s);
}
m_pSerialiser->SerialisePODArray<4>("data", val);