void WrappedOpenGL::glShaderSource(GLuint shader, GLsizei count, const GLchar *const *string, const GLint *length) { m_Real.glShaderSource(shader, count, string, length); if(m_State >= WRITING) { GLResourceRecord *record = GetResourceManager()->GetResourceRecord(ShaderRes(GetCtx(), shader)); RDCASSERT(record); { SCOPED_SERIALISE_CONTEXT(SHADERSOURCE); Serialise_glShaderSource(shader, count, string, length); record->AddChunk(scope.Get()); } } else { ResourceId id = GetResourceManager()->GetID(ShaderRes(GetCtx(), shader)); m_Shaders[id].sources.clear(); m_Shaders[id].sources.reserve(count); for(GLsizei i = 0; i < count; i++) m_Shaders[id].sources.push_back(string[i]); } }
void WrappedOpenGL::glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length) { m_Real.glShaderSource(shader, count, string, length); if(m_State >= WRITING) { GLResourceRecord *record = GetResourceManager()->GetResourceRecord(ShaderRes(GetCtx(), shader)); RDCASSERT(record); { SCOPED_SERIALISE_CONTEXT(SHADERSOURCE); Serialise_glShaderSource(shader, count, string, length); record->AddChunk(scope.Get()); } } }