Enable skipping flushAndSubmit sync call for webgl 95/322895/4
authorChandan Padhi <c.padhi@samsung.com>
Thu, 17 Apr 2025 08:51:56 +0000 (14:21 +0530)
committerBot Blink <blinkbot@samsung.com>
Thu, 17 Apr 2025 15:18:10 +0000 (15:18 +0000)
Because of upstream changes, part of the skip flushAndSubmit
code was disabled during M130 bring up. This commit enables
the same to improve webgl performance.

+-----------------+--------+-------+
|      KPI        | Before | After |
+-----------------+--------+-------+
| Aquarium(500)   |  ~40   | ~60   |
+-----------------+--------+-------+
| Spacerocks      |  ~48   | ~60   |
+-----------------+--------+-------+
| Cubemap         |  ~48   | ~60   |
+-----------------+--------+-------+

Change-Id: Iccf71c7d1b67d6beb7b4d0300c650a3edbd17535
Signed-off-by: Chandan Padhi <c.padhi@samsung.com>
cc/layers/layer_impl.h
cc/layers/texture_layer_impl.h
cc/layers/video_layer_impl.h
cc/trees/layer_tree_host_impl.cc
cc/trees/layer_tree_impl.cc
cc/trees/layer_tree_impl.h

index eec715151140676971c6ce56399ef3669ae8b2ae..185dd843bb7f817a68434d1a391fbf0e9aad9ae9 100644 (file)
@@ -71,16 +71,6 @@ enum ViewportLayerType {
   LAST_VIEWPORT_LAYER_TYPE = OUTER_VIEWPORT_SCROLL,
 };
 
-#if BUILDFLAG(IS_EFL)
-enum LayerType {
-  LAYER_TYPE_NORMAL = 1,
-  LAYER_TYPE_TEXTURE = 1 << 1,
-  LAYER_TYPE_VIDEO = 1 << 2
-};
-
-typedef unsigned LayerTypeMask;
-#endif
-
 class CC_EXPORT LayerImpl {
  public:
   static std::unique_ptr<LayerImpl> Create(LayerTreeImpl* tree_impl, int id) {
@@ -482,10 +472,6 @@ class CC_EXPORT LayerImpl {
 
   ElementListType GetElementTypeForAnimation() const;
 
-#if BUILDFLAG(IS_EFL) && !defined(EWK_BRINGUP)  // FIXME: m130 bringup
-  virtual LayerType GetLayerType() const { return LAYER_TYPE_NORMAL; }
-#endif
-
   void set_raster_even_if_not_drawn(bool yes) {
     raster_even_if_not_drawn_ = yes;
   }
index 0edba6bb557b64fe28d524a8dbac0b7387dcaf00..578dfd0fb12eb6abbc4bcd37251bfe1596bfd118 100644 (file)
@@ -85,10 +85,6 @@ class CC_EXPORT TextureLayerImpl : public LayerImpl {
   static bool MayEvictResourceInBackground(
       viz::TransferableResource::ResourceSource source);
 
-#if BUILDFLAG(IS_EFL) && !defined(EWK_BRINGUP)  // FIXME: m130 bringup
-  LayerType GetLayerType() const override { return LAYER_TYPE_TEXTURE; }
-#endif
-
  private:
   TextureLayerImpl(LayerTreeImpl* tree_impl, int id);
 
index 9abe09f792a45be0635b330f77955ff9e51bdb1d..15a831c388edc962cf5b56c5545868137eec5aa5 100644 (file)
@@ -70,10 +70,6 @@ class CC_EXPORT VideoLayerImpl : public LayerImpl {
     return video_transform_;
   }
 
-#if BUILDFLAG(IS_EFL) && !defined(EWK_BRINGUP)  // FIXME: m130 bringup
-  LayerType GetLayerType() const override { return LAYER_TYPE_VIDEO; }
-#endif
-
  private:
   VideoLayerImpl(
       LayerTreeImpl* tree_impl,
index 2ada0ad0698800b74022b0073382509a3e7355aa..eb9b2df427c50f5d7118406b5e2e6552beaac991 100644 (file)
@@ -2801,10 +2801,9 @@ std::optional<SubmitInfo> LayerTreeHostImpl::DrawLayers(FrameData* frame) {
 
 #if BUILDFLAG(IS_EFL)
 bool LayerTreeHostImpl::CanSkipFlush() const {
-#if !defined(EWK_BRINGUP)  // FIXME: m130 bringup
-  if (active_tree_->HasLayer(LAYER_TYPE_TEXTURE | LAYER_TYPE_VIDEO))
+  if (active_tree_->HasLayer(mojom::LayerType::kTexture)) {
     return true;
-#endif
+  }
   return false;
 }
 #endif
index f59df482110530c75b43623dc685da62064d23a8..6ef14d5c9e5149f97a92c5c5d7a14ffed308c8cd 100644 (file)
@@ -2065,11 +2065,12 @@ void LayerTreeImpl::DidAnimateScrollOffset() {
   host_impl_->DidAnimateScrollOffset();
 }
 
-#if BUILDFLAG(IS_EFL) && !defined(EWK_BRINGUP)  // FIXME: m130 bringup
-bool LayerTreeImpl::HasLayer(LayerTypeMask layer_type_mask) const {
+#if BUILDFLAG(IS_EFL)
+bool LayerTreeImpl::HasLayer(mojom::LayerType type) const {
   for (auto& layer : layer_list_) {
-    if (layer_type_mask & layer->GetLayerType())
+    if (layer->GetLayerType() == type) {
       return true;
+    }
   }
   return false;
 }
index 341112f548895a9120186e8478374264c7eaa30d..fd93678059e0f8d32778d779035d05d71edba1cd 100644 (file)
@@ -164,7 +164,7 @@ class CC_EXPORT LayerTreeImpl {
   CreateScrollbarAnimationController(ElementId scroll_element_id,
                                      float initial_opacity);
 #if BUILDFLAG(IS_EFL)
-  bool HasLayer(LayerTypeMask) const;
+  bool HasLayer(mojom::LayerType type) const;
 #endif
   void DidAnimateScrollOffset();
   bool use_gpu_rasterization() const;