From 530b19ef2644316dc95baaae52e3102a4d66a0af Mon Sep 17 00:00:00 2001 From: uzair Date: Wed, 15 Mar 2023 16:39:45 +0530 Subject: [PATCH] Ensure all gl calls are submitted to GPU Black screen is observed on static pages as all gl calls were not submitted to graphics driver, below change helps fixing the same. Also improves benchmark scores on TV +------------------+-------------+------------+ | KPI | Before | After | +------------------+--------------------------+ | Aquarium | 50 fps | 60 fps | +------------------+-------------+------------+ | Falling Leaves | Not Smooth | 60 fps | +------------------+-------------+------------+ | Poster Circle | Not Smooth | 60 fps | +------------------+-------------+------------+ Change-Id: I3df6bead0d7a0817c8dfd5ac4e2836a00fc49580 Signed-off-by: uzair --- cc/mojo_embedder/async_layer_tree_frame_sink.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/cc/mojo_embedder/async_layer_tree_frame_sink.cc b/cc/mojo_embedder/async_layer_tree_frame_sink.cc index 029471a1..399f501 100644 --- a/cc/mojo_embedder/async_layer_tree_frame_sink.cc +++ b/cc/mojo_embedder/async_layer_tree_frame_sink.cc @@ -23,6 +23,10 @@ #include "components/viz/common/hit_test/hit_test_region_list.h" #include "components/viz/common/quads/compositor_frame.h" +#if BUILDFLAG(IS_TIZEN) +#include "gpu/command_buffer/client/gles2_interface.h" +#endif + namespace cc { namespace mojo_embedder { @@ -214,6 +218,12 @@ void AsyncLayerTreeFrameSink::SubmitCompositorFrame( power_mode_voter_.OnFrameProduced(frame.render_pass_list.back()->damage_rect, frame.device_scale_factor()); +#if BUILDFLAG(IS_TIZEN) + if (auto* compositor_context_provider = context_provider()) { + compositor_context_provider->ContextGL()->Flush(); + compositor_context_provider->ContextGL()->GetError(); + } +#endif compositor_frame_sink_ptr_->SubmitCompositorFrame( local_surface_id_, std::move(frame), std::move(hit_test_region_list), 0); } -- 2.7.4