[M126 Migration] fixup! [NUI] NUI implementation for |SkiaRenderer| 64/320064/5
authoramarjit31 <amarjit.g@samsung.com>
Thu, 7 Nov 2024 08:56:46 +0000 (14:26 +0530)
committeramarjit31 <amarjit.g@samsung.com>
Thu, 14 Nov 2024 12:00:03 +0000 (17:30 +0530)
Using GR_GL_RGBA8 instead of kRGBA_8888_SkColorType due to
implementation changes in |GetGrGLBackendTextureFormat|.
Replacing gl_image_egl with scoped_egl_image.

References:
https://review.tizen.org/gerrit/309064
https://review.tizen.org/gerrit/313733

Change-Id: I14bd4ef210b47ca78e18483dbc7dcc74ff4ca55a
Signed-off-by: amarjit31 <amarjit.g@samsung.com>
tizen_src/chromium_impl/components/viz/service/display_embedder/skia_output_device_offscreen_tbm.cc
tizen_src/chromium_impl/components/viz/service/display_embedder/skia_output_device_offscreen_tbm.h

index a1e20dbb13a3afa5226fb0be22d92dae08fa2df6..ddba0d393c059c3c9929175cec3df4abba970999 100644 (file)
@@ -6,9 +6,9 @@
 
 #include "gpu/command_buffer/service/skia_utils.h"
 #include "third_party/skia/include/core/SkSurface.h"
-
+#include "third_party/skia/src/gpu/ganesh/gl/GrGLDefines.h"
 #include "ui/gl/gl_bindings.h"
-#include "ui/gl/gl_image_egl.h"
+
 
 namespace viz {
 
@@ -34,29 +34,25 @@ void SkiaOutputDeviceOffscreenTBM::EnsureBackbuffer() {
       size_.width(), size_.height(), TBM_FORMAT_ARGB8888);
 
   EGLint attrs[] = {EGL_IMAGE_PRESERVED_KHR, EGL_TRUE, EGL_NONE};
-  image_egl_ = base::MakeRefCounted<gl::GLImageEGL>(size_);
-  if (!image_egl_->Initialize(EGL_NATIVE_SURFACE_TIZEN,
-                              static_cast<EGLClientBuffer>(tbm_surface_),
-                              attrs, 0, 0)) {
-    return;
-  }
+  egl_image_ =
+      gl::MakeScopedEGLImage(EGL_NO_CONTEXT, EGL_NATIVE_SURFACE_TIZEN,
+                             static_cast<EGLClientBuffer>(tbm_surface_), attrs);
 
   GLuint texture_id = 0;
   glGenTextures(1, &texture_id);
   glBindTexture(GL_TEXTURE_2D, texture_id);
   glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
   glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-  image_egl_->BindTexImage(GL_TEXTURE_2D);
 
-  gpu::GetGrBackendTexture(context_state_->feature_info(), GL_TEXTURE_2D,
-                           size_, texture_id, RGBA_8888,
+  glEGLImageTargetTexture2DOES(GL_TEXTURE_2D, egl_image_.get());
+
+  gpu::GetGrBackendTexture(context_state_->feature_info(), GL_TEXTURE_2D, size_,
+                           texture_id, GR_GL_RGBA8,
                            context_state_->gr_context()->threadSafeProxy(),
                            &backend_texture_);
 }
 
 void SkiaOutputDeviceOffscreenTBM::DiscardBackbuffer() {
-  if (image_egl_)
-    image_egl_.release();
 
   if (tbm_surface_) {
     if (tbm_surface_destroy(tbm_surface_) != TBM_SURFACE_ERROR_NONE)
index b600f4aa4360c8c05e75a97667c11aff2a1ea570..68c979b73e16a671107c062436bec0f867eef22e 100644 (file)
@@ -7,6 +7,7 @@
 
 #include "components/viz/service/display_embedder/skia_output_device_offscreen.h"
 #include "ui/gfx/tbm_buffer_handle.h"
+#include "ui/gl/scoped_egl_image.h"
 
 namespace gl {
 class GLImageEGL;
@@ -34,7 +35,7 @@ class SkiaOutputDeviceOffscreenTBM : public SkiaOutputDeviceOffscreen {
 
  private:
   tbm_surface_h tbm_surface_ = 0;
-  scoped_refptr<gl::GLImageEGL> image_egl_;
+   gl::ScopedEGLImage egl_image_;
 };
 
 }  // namespace viz