Revert "mapsd: release MapRenderer on exit (#28988)"

This reverts commit 97db3f84daffd9e2c6fdf6e65325f42c118aacb8.

old-commit-hash: 9cec7fa1a8
beeps
Adeeb Shihadeh 2 years ago
parent a9d16a7887
commit eb9c9b19b4
  1. 4
      selfdrive/navd/main.cc
  2. 9
      selfdrive/navd/map_renderer.cc
  3. 1
      selfdrive/navd/map_renderer.h

@ -14,6 +14,8 @@ int main(int argc, char *argv[]) {
std::signal(SIGINT, sigTermHandler);
std::signal(SIGTERM, sigTermHandler);
MapRenderer m(get_mapbox_settings());
MapRenderer * m = new MapRenderer(get_mapbox_settings());
assert(m);
return app.exec();
}

@ -53,7 +53,8 @@ MapRenderer::MapRenderer(const QMapboxGLSettings &settings, bool online) : m_set
ctx->makeCurrent(surface.get());
assert(QOpenGLContext::currentContext() == ctx.get());
ctx->functions()->initializeOpenGLFunctions();
gl_functions.reset(ctx->functions());
gl_functions->initializeOpenGLFunctions();
QOpenGLFramebufferObjectFormat fbo_format;
fbo.reset(new QOpenGLFramebufferObject(WIDTH, HEIGHT, fbo_format));
@ -66,7 +67,7 @@ MapRenderer::MapRenderer(const QMapboxGLSettings &settings, bool online) : m_set
m_map->resize(fbo->size());
m_map->setFramebufferObject(fbo->handle(), fbo->size());
ctx->functions()->glViewport(0, 0, WIDTH, HEIGHT);
gl_functions->glViewport(0, 0, WIDTH, HEIGHT);
QObject::connect(m_map.data(), &QMapboxGL::mapChanged, [=](QMapboxGL::MapChange change) {
// https://github.com/mapbox/mapbox-gl-native/blob/cf734a2fec960025350d8de0d01ad38aeae155a0/platform/qt/include/qmapboxgl.hpp#L116
@ -156,9 +157,9 @@ bool MapRenderer::loaded() {
void MapRenderer::update() {
double start_t = millis_since_boot();
ctx->functions()->glClear(GL_COLOR_BUFFER_BIT);
gl_functions->glClear(GL_COLOR_BUFFER_BIT);
m_map->render();
ctx->functions()->glFlush();
gl_functions->glFlush();
double end_t = millis_since_boot();
if ((vipc_server != nullptr) && loaded()) {

@ -28,6 +28,7 @@ public:
private:
std::unique_ptr<QOpenGLContext> ctx;
std::unique_ptr<QOffscreenSurface> surface;
std::unique_ptr<QOpenGLFunctions> gl_functions;
std::unique_ptr<QOpenGLFramebufferObject> fbo;
std::unique_ptr<VisionIpcServer> vipc_server;

Loading…
Cancel
Save