Show widgets on Linux

This commit is contained in:
Zhennan Tu
2024-10-01 23:08:23 +08:00
parent 89d2dbb937
commit 2e68709a2e
2 changed files with 7 additions and 7 deletions

View File

@@ -568,9 +568,9 @@ void VDRPipeline::renderLoop(const std::function<void()>& i_am_alive) {
}
statistics_->updateRenderVideoTime(t1 - t0);
video_renderer_->attachRenderContext();
AutoGuard auto_detach{[this](){ video_renderer_->detachRenderContext(); }};
auto t2 = ltlib::steady_now_us();
widgets_->render();
video_renderer_->detachRenderContext();
auto t3 = ltlib::steady_now_us();
video_renderer_->present();
auto t4 = ltlib::steady_now_us();

View File

@@ -56,7 +56,7 @@ VaGlPipeline::VaGlPipeline(const Params& params)
VaGlPipeline::~VaGlPipeline() {
if (egl_display_) {
eglMakeCurrent(egl_display_, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
detachRenderContext();
if (egl_context_) {
eglDestroyContext(egl_display_, egl_context_);
}
@@ -164,11 +164,6 @@ Renderer::RenderResult VaGlPipeline::render(int64_t frame) {
if (cursor_result == RenderResult::Failed) {
return cursor_result;
}
EGLBoolean egl_success = eglSwapBuffers(egl_display_, egl_surface_);
if (egl_success != EGL_TRUE) {
LOG(ERR) << "eglSwapBuffers failed: " << eglGetError();
return RenderResult::Success2;
}
return RenderResult::Success2;
}
@@ -426,6 +421,11 @@ void VaGlPipeline::resetRenderTarget() {
}
bool VaGlPipeline::present() {
EGLBoolean egl_success = eglSwapBuffers(egl_display_, egl_surface_);
if (egl_success != EGL_TRUE) {
LOG(ERR) << "eglSwapBuffers failed: " << eglGetError();
return false;
}
return true;
}