Title: [246257] trunk
Revision
246257
Author
[email protected]
Date
2019-06-10 07:04:12 -0700 (Mon, 10 Jun 2019)

Log Message

[WPE][Qt] Port to new wpe_fdo_egl_exported_image API
https://bugs.webkit.org/show_bug.cgi?id=198713

Reviewed by Carlos Garcia Campos.

.:

* Source/cmake/OptionsWPE.cmake:

Source/WebKit:

* UIProcess/API/wpe/qt/WPEQtViewBackend.cpp:
(WPEQtViewBackend::WPEQtViewBackend):
(WPEQtViewBackend::texture):
(WPEQtViewBackend::displayImage):
* UIProcess/API/wpe/qt/WPEQtViewBackend.h:

Tools:

* flatpak/org.webkit.WPEModules.yaml: Include wpebackend-fdo
patches currently used in JHBuild.

Modified Paths

Diff

Modified: trunk/ChangeLog (246256 => 246257)


--- trunk/ChangeLog	2019-06-10 13:17:40 UTC (rev 246256)
+++ trunk/ChangeLog	2019-06-10 14:04:12 UTC (rev 246257)
@@ -1,3 +1,12 @@
+2019-06-10  Philippe Normand  <[email protected]>
+
+        [WPE][Qt] Port to new wpe_fdo_egl_exported_image API
+        https://bugs.webkit.org/show_bug.cgi?id=198713
+
+        Reviewed by Carlos Garcia Campos.
+
+        * Source/cmake/OptionsWPE.cmake:
+
 2019-06-04  Takashi Komori  <[email protected]>
 
         [WinCairo] Implement cpu and memory measuring functions.

Modified: trunk/Source/WebKit/ChangeLog (246256 => 246257)


--- trunk/Source/WebKit/ChangeLog	2019-06-10 13:17:40 UTC (rev 246256)
+++ trunk/Source/WebKit/ChangeLog	2019-06-10 14:04:12 UTC (rev 246257)
@@ -1,3 +1,16 @@
+2019-06-10  Philippe Normand  <[email protected]>
+
+        [WPE][Qt] Port to new wpe_fdo_egl_exported_image API
+        https://bugs.webkit.org/show_bug.cgi?id=198713
+
+        Reviewed by Carlos Garcia Campos.
+
+        * UIProcess/API/wpe/qt/WPEQtViewBackend.cpp:
+        (WPEQtViewBackend::WPEQtViewBackend):
+        (WPEQtViewBackend::texture):
+        (WPEQtViewBackend::displayImage):
+        * UIProcess/API/wpe/qt/WPEQtViewBackend.h:
+
 2019-06-09  Brent Fulgham  <[email protected]>
 
         [iOS] ResourceLoadStatistics state is not properly relayed to the NetworkProcess

Modified: trunk/Source/WebKit/PlatformWPE.cmake (246256 => 246257)


--- trunk/Source/WebKit/PlatformWPE.cmake	2019-06-10 13:17:40 UTC (rev 246256)
+++ trunk/Source/WebKit/PlatformWPE.cmake	2019-06-10 14:04:12 UTC (rev 246257)
@@ -377,7 +377,7 @@
         Qt5::Core Qt5::Quick
         WebKit
         ${LIBEPOXY_LIBRARIES}
-        ${WPE_BACKEND_FDO_LIBRARIES}
+        ${WPEBACKEND_FDO_LIBRARIES}
     )
 
     set(qtwpe_INCLUDE_DIRECTORIES
@@ -384,7 +384,7 @@
         ${Qt5_INCLUDE_DIRS}
         ${Qt5Gui_PRIVATE_INCLUDE_DIRS}
         ${LIBEPOXY_INCLUDE_DIRS}
-        ${WPE_BACKEND_FDO_INCLUDE_DIRS}
+        ${WPEBACKEND_FDO_INCLUDE_DIRS}
     )
 
     list(APPEND WPE_API_INSTALLED_HEADERS

Modified: trunk/Source/WebKit/UIProcess/API/wpe/qt/WPEQtViewBackend.cpp (246256 => 246257)


--- trunk/Source/WebKit/UIProcess/API/wpe/qt/WPEQtViewBackend.cpp	2019-06-10 13:17:40 UTC (rev 246256)
+++ trunk/Source/WebKit/UIProcess/API/wpe/qt/WPEQtViewBackend.cpp	2019-06-10 14:04:12 UTC (rev 246257)
@@ -113,13 +113,14 @@
     m_textureUniform = glFunctions->glGetUniformLocation(m_program, "u_texture");
 
     static struct wpe_view_backend_exportable_fdo_egl_client exportableClient = {
-        // export_buffer_resource
-        [](void* data, EGLImageKHR image)
+        // export_egl_image
+        nullptr,
+        [](void* data, struct wpe_fdo_egl_exported_image* image)
         {
             static_cast<WPEQtViewBackend*>(data)->displayImage(image);
         },
         // padding
-        nullptr, nullptr, nullptr, nullptr
+        nullptr, nullptr, nullptr
     };
 
     m_exportable = wpe_view_backend_exportable_fdo_egl_create(&exportableClient, this, m_size.width(), m_size.height());
@@ -171,7 +172,7 @@
 
     glFunctions->glActiveTexture(GL_TEXTURE0);
     glFunctions->glBindTexture(GL_TEXTURE_2D, m_textureId);
-    imageTargetTexture2DOES(GL_TEXTURE_2D, m_lockedImage);
+    imageTargetTexture2DOES(GL_TEXTURE_2D, wpe_fdo_egl_exported_image_get_egl_image(m_lockedImage));
     glFunctions->glUniform1i(m_textureUniform, 0);
 
     static const GLfloat vertices[4][2] = {
@@ -200,15 +201,15 @@
     glFunctions->glDisableVertexAttribArray(1);
 
     wpe_view_backend_exportable_fdo_dispatch_frame_complete(m_exportable);
-    wpe_view_backend_exportable_fdo_egl_dispatch_release_image(m_exportable, m_lockedImage);
-    m_lockedImage = EGL_NO_IMAGE_KHR;
+    wpe_view_backend_exportable_fdo_egl_dispatch_release_exported_image(m_exportable, m_lockedImage);
+    m_lockedImage = nullptr;
 
     return m_textureId;
 }
 
-void WPEQtViewBackend::displayImage(EGLImageKHR image)
+void WPEQtViewBackend::displayImage(struct wpe_fdo_egl_exported_image* image)
 {
-    RELEASE_ASSERT(m_lockedImage == EGL_NO_IMAGE_KHR);
+    RELEASE_ASSERT(!m_lockedImage);
     m_lockedImage = image;
     if (m_view)
         m_view->triggerUpdate();

Modified: trunk/Source/WebKit/UIProcess/API/wpe/qt/WPEQtViewBackend.h (246256 => 246257)


--- trunk/Source/WebKit/UIProcess/API/wpe/qt/WPEQtViewBackend.h	2019-06-10 13:17:40 UTC (rev 246256)
+++ trunk/Source/WebKit/UIProcess/API/wpe/qt/WPEQtViewBackend.h	2019-06-10 14:04:12 UTC (rev 246257)
@@ -61,15 +61,14 @@
     struct wpe_view_backend* backend() const { return wpe_view_backend_exportable_fdo_get_view_backend(m_exportable); };
 
 private:
-    void displayImage(EGLImageKHR);
+    void displayImage(struct wpe_fdo_egl_exported_image*);
     uint32_t modifiers() const;
 
     EGLDisplay m_eglDisplay { nullptr };
     EGLContext m_eglContext { nullptr };
     struct wpe_view_backend_exportable_fdo* m_exportable { nullptr };
+    struct wpe_fdo_egl_exported_image* m_lockedImage { nullptr };
 
-    EGLImageKHR m_lockedImage { EGL_NO_IMAGE_KHR };
-
     QPointer<WPEQtView> m_view;
     QOffscreenSurface m_surface;
     QSizeF m_size;

Modified: trunk/Source/cmake/OptionsWPE.cmake (246256 => 246257)


--- trunk/Source/cmake/OptionsWPE.cmake	2019-06-10 13:17:40 UTC (rev 246256)
+++ trunk/Source/cmake/OptionsWPE.cmake	2019-06-10 14:04:12 UTC (rev 246257)
@@ -172,7 +172,7 @@
     find_package(Qt5 REQUIRED COMPONENTS Core Quick Gui)
     find_package(Qt5Test REQUIRED)
     find_package(PkgConfig)
-    pkg_check_modules(WPE_BACKEND_FDO REQUIRED wpebackend-fdo-1.0)
+    find_package(WPEBackend-fdo 1.3.0 REQUIRED)
 endif ()
 
 add_definitions(-DBUILDING_WPE__=1)

Modified: trunk/Tools/ChangeLog (246256 => 246257)


--- trunk/Tools/ChangeLog	2019-06-10 13:17:40 UTC (rev 246256)
+++ trunk/Tools/ChangeLog	2019-06-10 14:04:12 UTC (rev 246257)
@@ -1,3 +1,13 @@
+2019-06-10  Philippe Normand  <[email protected]>
+
+        [WPE][Qt] Port to new wpe_fdo_egl_exported_image API
+        https://bugs.webkit.org/show_bug.cgi?id=198713
+
+        Reviewed by Carlos Garcia Campos.
+
+        * flatpak/org.webkit.WPEModules.yaml: Include wpebackend-fdo
+        patches currently used in JHBuild.
+
 2019-06-10  Adrian Perez de Castro  <[email protected]>
 
         [GTK][Flatpak] webkit-build fails due to missing libwpe in Flatpak environment

Modified: trunk/Tools/flatpak/org.webkit.WPEModules.yaml (246256 => 246257)


--- trunk/Tools/flatpak/org.webkit.WPEModules.yaml	2019-06-10 13:17:40 UTC (rev 246256)
+++ trunk/Tools/flatpak/org.webkit.WPEModules.yaml	2019-06-10 14:04:12 UTC (rev 246257)
@@ -10,3 +10,7 @@
     - type: archive
       url: https://wpewebkit.org/releases/wpebackend-fdo-1.3.0.tar.xz
       sha256: fed9ab29f5d53cf465188da80d014f3aa067c77704f8508c6bd17971fded359d
+    - type: patch
+      path: ../gtk/patches/wpebackend-fdo-Handle-the-case-of-new-target-created-for-the-same-v.patch
+    - type: patch
+      path: ../gtk/wpebackend-fdo-view-backend-exportable-private-don-t-double-free-ca.patch
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to