From 00bfa309aa6cc55bd7c3f9926392fe6360b76c91 Mon Sep 17 00:00:00 2001 From: travankor Date: Thu, 28 Apr 2022 17:44:53 -0700 Subject: [PATCH 1/2] wayfire: update to 0.7.3. --- srcpkgs/wayfire/template | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/srcpkgs/wayfire/template b/srcpkgs/wayfire/template index 9b0026c58565..6a9e874d1723 100644 --- a/srcpkgs/wayfire/template +++ b/srcpkgs/wayfire/template @@ -1,13 +1,13 @@ # Template file for 'wayfire' pkgname=wayfire -version=0.7.2 -revision=2 +version=0.7.3 +revision=1 _utils_commit=889fdafa7b09fc6ce70313fd3f067cfc8c21a2ac _touch_commit=8974eb0f6a65464b63dd03b842795cb441fb6403 build_style=meson configure_args="-Dprint_trace=false" hostmakedepends="pkg-config wayland-devel" -makedepends="wf-config-devel wlroots0.14-devel cairo-devel +makedepends="wf-config-devel wlroots-devel cairo-devel $(vopt_if image 'libjpeg-turbo-devel libpng-devel')" depends="xorg-server-xwayland" short_desc="3D wayland compositor" @@ -17,7 +17,7 @@ homepage="https://wayfire.org" distfiles="https://github.com/WayfireWM/wayfire/archive/v${version}.tar.gz https://github.com/WayfireWM/wf-utils/archive/${_utils_commit}.tar.gz https://github.com/WayfireWM/wf-touch/archive/${_touch_commit}.tar.gz" -checksum="e45fddcc22b7149d793fea08763c5b3dc0edf7c0be9d094575a32cf847560fd4 +checksum="72575b6d598087d6fe737a8066db5405d7cff88a3041447f56b83313ac9a0684 bbde37e1a8b5ecb322096b32891593c14264800291be8773f7f0708fc110ed2f 09061c8a4d3d964e8dcfd1a7b97f7dc43d0fc30743b0993585439c6923ce422f" From 2b29ef82063eea31de48e5bc6380e396b2a85630 Mon Sep 17 00:00:00 2001 From: travankor Date: Thu, 28 Apr 2022 17:45:55 -0700 Subject: [PATCH 2/2] wayfire-plugins-extra: fix build for wayfire update --- .../wayfire-plugins-extra/patches/mag.patch | 99 +++++++++++++++++++ srcpkgs/wayfire-plugins-extra/template | 2 +- 2 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/wayfire-plugins-extra/patches/mag.patch diff --git a/srcpkgs/wayfire-plugins-extra/patches/mag.patch b/srcpkgs/wayfire-plugins-extra/patches/mag.patch new file mode 100644 index 000000000000..0cb71ad5d86b --- /dev/null +++ b/srcpkgs/wayfire-plugins-extra/patches/mag.patch @@ -0,0 +1,99 @@ +diff --git a/src/mag.cpp b/src/mag.cpp +index 1ed4d73..f03cf7c 100644 +--- a/src/mag.cpp ++++ b/src/mag.cpp +@@ -35,16 +35,6 @@ + #include "wayfire/opengl.hpp" + #include + +-extern "C" +-{ +-#define static +-#include +-#include +-#include +-#include +-#undef static +-} +- + #include + + +@@ -171,19 +161,6 @@ class wayfire_magnifier : public wf::plugin_interface_t + + wf::effect_hook_t post_hook = [=] () + { +- wlr_dmabuf_attributes dmabuf_attribs; +- +- /* This plugin only works if this function succeeds. It will not +- * work with the x11 backend but works with drm, for example. */ +- if (!wlr_output_export_dmabuf(output->handle, &dmabuf_attribs)) +- { +- LOGE("Failed reading output contents"); +- deactivate(); +- active = false; +- +- return; +- } +- + auto cursor_position = output->get_cursor_position(); + + auto ortho = output->render->get_target_framebuffer() +@@ -201,9 +178,6 @@ class wayfire_magnifier : public wf::plugin_interface_t + float y = cursor.y; + + auto og = output->get_relative_geometry(); +- gl_geometry src_geometry = {0, 0, (float)og.width, (float)og.height}; +- auto transform = output->render->get_target_framebuffer().transform; +- transform = glm::inverse(transform); + + width = og.width; + height = og.height; +@@ -220,6 +194,9 @@ class wayfire_magnifier : public wf::plugin_interface_t + /* Compute zoom_box, forcing the zoom to stay on the output */ + gl_geometry zoom_box; + ++ /* Y-invert */ ++ y = 1.0 - y; ++ + zoom_box.x1 = x - level; + zoom_box.y1 = y - level; + zoom_box.x2 = x + level; +@@ -249,27 +226,25 @@ class wayfire_magnifier : public wf::plugin_interface_t + zoom_box.y2 = 1.0; + } + ++ zoom_box.x1 *= width - 1; ++ zoom_box.x2 *= width - 1; ++ zoom_box.y1 *= height - 1; ++ zoom_box.y2 *= height - 1; ++ + /* Copy zoom_box part of the output to our own texture to be + * read by the mag_view_t. */ +- auto wlr_texture = wlr_texture_from_dmabuf( +- wf::get_core().renderer, &dmabuf_attribs); +- +- wf::texture_t texture{wlr_texture}; + + OpenGL::render_begin(); + mag_view->mag_tex.allocate(width, height); + mag_view->mag_tex.geometry = og; + mag_view->mag_tex.bind(); +- +- OpenGL::render_transformed_texture(texture, src_geometry, zoom_box, +- transform * mag_view->mag_tex.get_orthographic_projection(), +- glm::vec4(1.0), +- OpenGL::TEXTURE_USE_TEX_GEOMETRY); ++ GL_CALL(glBindFramebuffer(GL_READ_FRAMEBUFFER, ++ output->render->get_target_framebuffer().fb)); ++ GL_CALL(glBlitFramebuffer(zoom_box.x1, zoom_box.y2, zoom_box.x2, zoom_box.y1, ++ 0, 0, width, height, ++ GL_COLOR_BUFFER_BIT, GL_LINEAR)); + OpenGL::render_end(); + +- wlr_texture_destroy(wlr_texture); +- wlr_dmabuf_attributes_finish(&dmabuf_attribs); +- + mag_view->damage(); + }; + diff --git a/srcpkgs/wayfire-plugins-extra/template b/srcpkgs/wayfire-plugins-extra/template index 79b40857cf0e..a666281e177a 100644 --- a/srcpkgs/wayfire-plugins-extra/template +++ b/srcpkgs/wayfire-plugins-extra/template @@ -1,7 +1,7 @@ # Template file for 'wayfire-plugins-extra' pkgname=wayfire-plugins-extra version=0.7.0 -revision=5 +revision=6 build_style=meson hostmakedepends="pkg-config wayland-devel" makedepends="wayfire-devel glibmm-devel"