Changeset 246304 in webkit
- Timestamp:
- Jun 11, 2019, 12:43:06 AM (7 years ago)
- Location:
- trunk/Tools
- Files:
-
- 9 edited
-
ChangeLog (modified) (1 diff)
-
WebKitTestRunner/PlatformWPE.cmake (modified) (1 diff)
-
wpe/backends/CMakeLists.txt (modified) (1 diff)
-
wpe/backends/HeadlessViewBackend.cpp (modified) (3 diffs)
-
wpe/backends/HeadlessViewBackend.h (modified) (2 diffs)
-
wpe/backends/ViewBackend.cpp (modified) (1 diff)
-
wpe/backends/ViewBackend.h (modified) (2 diffs)
-
wpe/backends/WindowViewBackend.cpp (modified) (2 diffs)
-
wpe/backends/WindowViewBackend.h (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/ChangeLog
r246303 r246304 1 2019-06-11 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 [WPE] Use new exported image API from fdo backend 4 https://bugs.webkit.org/show_bug.cgi?id=198558 5 6 Reviewed by Philippe Normand. 7 8 * WebKitTestRunner/PlatformWPE.cmake: Do not find fdo backend and libxkb again here, since WKTR depends on 9 WPEToolingBackends that already depends on fdo backend and libxkb 10 * wpe/backends/CMakeLists.txt: Bump fdo requirements to 1.3.0 version. 11 * wpe/backends/HeadlessViewBackend.cpp: 12 (WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend): 13 (WPEToolingBackends::HeadlessViewBackend::createSnapshot): 14 (WPEToolingBackends::HeadlessViewBackend::performUpdate): 15 (WPEToolingBackends::HeadlessViewBackend::displayBuffer): 16 * wpe/backends/HeadlessViewBackend.h: 17 * wpe/backends/ViewBackend.cpp: 18 (WPEToolingBackends::ViewBackend::initialize): 19 * wpe/backends/ViewBackend.h: 20 * wpe/backends/WindowViewBackend.cpp: 21 (WPEToolingBackends::WindowViewBackend::displayBuffer): 22 * wpe/backends/WindowViewBackend.h: 23 1 24 2019-06-10 Dewei Zhu <dewei_zhu@apple.com> 2 25 -
trunk/Tools/WebKitTestRunner/PlatformWPE.cmake
r245565 r246304 1 find_package(Libxkbcommon 0.4.0 REQUIRED)2 find_package(WPEBackend-fdo REQUIRED)3 4 1 add_custom_target(WebKitTestRunner-forwarding-headers 5 2 COMMAND ${PERL_EXECUTABLE} ${WEBKIT_DIR}/Scripts/generate-forwarding-headers.pl --include-path ${WEBKIT_TESTRUNNER_DIR} --output ${FORWARDING_HEADERS_DIR} --platform wpe -
trunk/Tools/wpe/backends/CMakeLists.txt
r245565 r246304 2 2 find_package(Wayland REQUIRED) 3 3 find_package(WaylandProtocols 1.12 REQUIRED) 4 find_package(WPEBackend-fdo REQUIRED)4 find_package(WPEBackend-fdo 1.3.0 REQUIRED) 5 5 6 6 set(DERIVED_SOURCES_WPETOOLINGBACKENDS_DIR "${CMAKE_BINARY_DIR}/DerivedSources/WPEToolingBackends") -
trunk/Tools/wpe/backends/HeadlessViewBackend.cpp
r245565 r246304 66 66 HeadlessViewBackend::HeadlessViewBackend(uint32_t width, uint32_t height) 67 67 : ViewBackend(width, height) 68 , m_pendingImage(EGL_NO_IMAGE_KHR)69 , m_lockedImage(EGL_NO_IMAGE_KHR)70 68 { 71 69 m_eglDisplay = getEGLDisplay(); … … 122 120 glTexImage2D(GL_TEXTURE_2D, 0, GL_BGRA_EXT, m_width, m_height, 0, GL_BGRA_EXT, GL_UNSIGNED_BYTE, nullptr); 123 121 124 imageTargetTexture2DOES(GL_TEXTURE_2D, m_lockedImage);122 imageTargetTexture2DOES(GL_TEXTURE_2D, wpe_fdo_egl_exported_image_get_egl_image(m_lockedImage)); 125 123 glBindTexture(GL_TEXTURE_2D, 0); 126 124 … … 166 164 wpe_view_backend_exportable_fdo_dispatch_frame_complete(m_exportable); 167 165 if (m_lockedImage) 168 wpe_view_backend_exportable_fdo_egl_dispatch_release_ image(m_exportable, m_lockedImage);166 wpe_view_backend_exportable_fdo_egl_dispatch_release_exported_image(m_exportable, m_lockedImage); 169 167 170 168 m_lockedImage = m_pendingImage; 171 m_pendingImage = EGL_NO_IMAGE_KHR;169 m_pendingImage = nullptr; 172 170 } 173 171 174 void HeadlessViewBackend::displayBuffer( EGLImageKHRimage)172 void HeadlessViewBackend::displayBuffer(struct wpe_fdo_egl_exported_image* image) 175 173 { 176 174 if (m_pendingImage) -
trunk/Tools/wpe/backends/HeadlessViewBackend.h
r234193 r246304 31 31 #include <unordered_map> 32 32 33 typedef void* EGLImageKHR;34 35 33 namespace WPEToolingBackends { 36 34 … … 43 41 44 42 private: 45 void displayBuffer( EGLImageKHR) override;43 void displayBuffer(struct wpe_fdo_egl_exported_image*) override; 46 44 47 45 void performUpdate(); 48 46 49 EGLImageKHR m_pendingImage;50 EGLImageKHR m_lockedImage;47 struct wpe_fdo_egl_exported_image* m_pendingImage { nullptr }; 48 struct wpe_fdo_egl_exported_image* m_lockedImage { nullptr }; 51 49 52 50 GSource* m_updateSource { nullptr }; -
trunk/Tools/wpe/backends/ViewBackend.cpp
r245565 r246304 190 190 191 191 static struct wpe_view_backend_exportable_fdo_egl_client exportableClient = { 192 // export_buffer_resource 193 [](void* data, EGLImageKHR image) 192 // export_egl_image 193 nullptr, 194 // export_fdo_egl_image 195 [](void* data, struct wpe_fdo_egl_exported_image* image) 194 196 { 195 197 static_cast<ViewBackend*>(data)->displayBuffer(image); 196 198 }, 197 199 // padding 198 nullptr, nullptr, nullptr , nullptr200 nullptr, nullptr, nullptr 199 201 }; 200 202 m_exportable = wpe_view_backend_exportable_fdo_egl_create(&exportableClient, this, m_width, m_height); -
trunk/Tools/wpe/backends/ViewBackend.h
r245565 r246304 32 32 typedef void* EGLContext; 33 33 typedef void* EGLDisplay; 34 typedef void* EGLImageKHR;35 34 typedef struct _AtkObject AtkObject; 35 struct wpe_fdo_egl_exported_image; 36 36 37 37 // Manually provide the EGL_CAST C++ definition in case eglplatform.h doesn't provide it. … … 77 77 void dispatchInputTouchEvent(struct wpe_input_touch_event*); 78 78 79 virtual void displayBuffer( EGLImageKHR) = 0;79 virtual void displayBuffer(struct wpe_fdo_egl_exported_image*) = 0; 80 80 81 81 uint32_t m_width { 0 }; -
trunk/Tools/wpe/backends/WindowViewBackend.cpp
r245565 r246304 632 632 633 633 if (window.m_committedImage) 634 wpe_view_backend_exportable_fdo_egl_dispatch_release_ image(window.m_exportable, window.m_committedImage);635 window.m_committedImage = EGL_NO_IMAGE_KHR;634 wpe_view_backend_exportable_fdo_egl_dispatch_release_exported_image(window.m_exportable, window.m_committedImage); 635 window.m_committedImage = nullptr; 636 636 } 637 637 }; 638 638 639 void WindowViewBackend::displayBuffer( EGLImageKHRimage)639 void WindowViewBackend::displayBuffer(struct wpe_fdo_egl_exported_image* image) 640 640 { 641 641 if (!m_eglContext) … … 651 651 glActiveTexture(GL_TEXTURE0); 652 652 glBindTexture(GL_TEXTURE_2D, m_viewTexture); 653 imageTargetTexture2DOES(GL_TEXTURE_2D, image);653 imageTargetTexture2DOES(GL_TEXTURE_2D, wpe_fdo_egl_exported_image_get_egl_image(image)); 654 654 glUniform1i(m_textureUniform, 0); 655 655 -
trunk/Tools/wpe/backends/WindowViewBackend.h
r234542 r246304 31 31 #include <unordered_map> 32 32 33 typedef void* EGLImageKHR;34 33 typedef void* EGLSurface; 35 34 typedef struct wl_egl_window *EGLNativeWindowType; … … 43 42 44 43 private: 45 void displayBuffer( EGLImageKHR) override;44 void displayBuffer(struct wpe_fdo_egl_exported_image*) override; 46 45 47 46 static const struct wl_registry_listener s_registryListener; … … 107 106 unsigned m_textureUniform { 0 }; 108 107 unsigned m_viewTexture { 0 }; 109 EGLImageKHR m_committedImage;108 struct wpe_fdo_egl_exported_image* m_committedImage { nullptr }; 110 109 }; 111 110
Note:
See TracChangeset
for help on using the changeset viewer.