code: def load(self):
          
          self._open_image()
  
          components, data = image_data(self.image)
  
          texture = self.ctx.texture(
              self.image.size,
              components,
              data,
          )
          texture.extra = {'meta': self.meta}
  
          if self.meta.mipmap:
              texture.build_mipmaps()
  
          self._close_image()
  
          return texture
docs: Load a 2d texture