Revert "ui/cameraview: merge EGL Image Clearing code into `clearEGLImages()` (#32292)"

This reverts commit 7e6dda546e.
pull/32299/head
Adeeb Shihadeh 1 year ago
parent edb683a62b
commit d56f188854
  1. 37
      selfdrive/ui/qt/widgets/cameraview.cc
  2. 1
      selfdrive/ui/qt/widgets/cameraview.h

@ -6,6 +6,14 @@
#include <GLES3/gl3.h>
#endif
#include <cmath>
#include <set>
#include <string>
#include <utility>
#include <QOpenGLBuffer>
#include <QOffscreenSurface>
namespace {
const char frame_vertex_shader[] =
@ -189,7 +197,15 @@ void CameraWidget::stopVipcThread() {
vipc_thread = nullptr;
}
clearEGLImages();
#ifdef QCOM2
EGLDisplay egl_display = eglGetCurrentDisplay();
assert(egl_display != EGL_NO_DISPLAY);
for (auto &pair : egl_images) {
eglDestroyImageKHR(egl_display, pair.second);
assert(eglGetError() == EGL_SUCCESS);
}
egl_images.clear();
#endif
}
void CameraWidget::availableStreamsUpdated(std::set<VisionStreamType> streams) {
@ -320,7 +336,12 @@ void CameraWidget::vipcConnected(VisionIpcClient *vipc_client) {
stream_stride = vipc_client->buffers[0].stride;
#ifdef QCOM2
clearEGLImages();
EGLDisplay egl_display = eglGetCurrentDisplay();
assert(egl_display != EGL_NO_DISPLAY);
for (auto &pair : egl_images) {
eglDestroyImageKHR(egl_display, pair.second);
}
egl_images.clear();
for (int i = 0; i < vipc_client->num_buffers; i++) { // import buffers into OpenGL
int fd = dup(vipc_client->buffers[i].fd); // eglDestroyImageKHR will close, so duplicate
@ -414,15 +435,3 @@ void CameraWidget::clearFrames() {
frames.clear();
available_streams.clear();
}
void CameraWidget::clearEGLImages() {
#ifdef QCOM2
EGLDisplay egl_display = eglGetCurrentDisplay();
assert(egl_display != EGL_NO_DISPLAY);
for (auto &pair : egl_images) {
eglDestroyImageKHR(egl_display, pair.second);
}
egl_images.clear();
#endif
}

@ -58,7 +58,6 @@ protected:
void updateCalibration(const mat3 &calib);
void vipcThread();
void clearFrames();
void clearEGLImages();
int glWidth();
int glHeight();

Loading…
Cancel
Save