mirror of
https://github.com/pjlt/lanthing-pc.git
synced 2026-06-20 10:52:16 +08:00
Show widgets on Linux
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user