when I call glTexImage2D() for multiple times, can previous allocated memory be freed automatically each time when glTexImage2D() is called?