update x11/picom to v10

backporting two upstreamed patches:
 - fix log_debug call
 - don't assume glEGLImageTargetTexStorage exists

with help from brynet@ and kn@, improvements and ok kn@
This commit is contained in:
op 2022-11-22 16:07:27 +00:00
parent 3f4d9d5d45
commit b549a2fb07
6 changed files with 86 additions and 4 deletions

View File

@ -2,14 +2,14 @@ COMMENT = lightweight compositor for X11
GH_ACCOUNT = yshui
GH_PROJECT = picom
GH_TAGNAME = v9.1
GH_TAGNAME = v10
CATEGORIES = x11
# MPL 2.0
PERMIT_PACKAGE = Yes
WANTLIB += GL X11 X11-xcb c config dbus-1 ev m pcre pixman-1
WANTLIB += EGL GL X11 X11-xcb c config dbus-1 ev m pcre pixman-1
WANTLIB += xcb-composite xcb-damage xcb-glx xcb-image xcb-present
WANTLIB += xcb-randr xcb-render-util xcb-render xcb-shape xcb-sync
WANTLIB += xcb-xfixes xcb-xinerama xcb
@ -34,6 +34,7 @@ LIB_DEPENDS = devel/libconfig \
CONFIGURE_ARGS += -Dwith_docs=true \
-Dunittest=true \
-Dcompton=false
CONFIGURE_ENV += CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include" \
LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib"

View File

@ -1,2 +1,2 @@
SHA256 (picom-9.1.tar.gz) = hwCscb1JbJEmLIV24pyzrs8rTvSMBDlKkpUJ08s3uH0=
SIZE (picom-9.1.tar.gz) = 263924
SHA256 (picom-10.tar.gz) = 6EAwTDKfB5cgWWMwKJTFXhHXfPUaIsCnIINEzm/Qojg=
SIZE (picom-10.tar.gz) = 286728

View File

@ -0,0 +1,24 @@
- ignore git
- autostart file in /etc/ needs PLIST @sample
Index: meson.build
--- meson.build.orig
+++ meson.build
@@ -7,8 +7,7 @@ cc = meson.get_compiler('c')
version = 'v'+meson.project_version()
# use git describe if that's available
-git = find_program('git', required: false)
-if git.found()
+if false
gitv = run_command('git', 'rev-parse', '--short=5', 'HEAD', check: false)
if gitv.returncode() == 0
version = 'vgit-'+gitv.stdout().strip()
@@ -73,7 +72,6 @@ subdir('man')
install_data('bin/picom-trans', install_dir: get_option('bindir'))
install_data('picom.desktop', install_dir: 'share/applications')
-install_data('picom.desktop', install_dir: get_option('sysconfdir') / 'xdg' / 'autostart')
if get_option('compton')
install_data('compton.desktop', install_dir: 'share/applications')

View File

@ -0,0 +1,39 @@
don't assume glEGLImageTargetTexStorage exists. Backport of
https://github.com/yshui/picom/commit/6bcda50170031ef95fa02bc1bf94f87947c66e44
Index: src/backend/gl/egl.c
--- src/backend/gl/egl.c.orig
+++ src/backend/gl/egl.c
@@ -36,6 +36,8 @@ struct egl_data {
EGLContext ctx;
};
+static PFNGLEGLIMAGETARGETTEXSTORAGEEXTPROC glEGLImageTargetTexStorage = NULL;
+
/**
* Free a glx_texture_t.
*/
@@ -202,6 +204,14 @@ static backend_t *egl_init(session_t *ps) {
goto end;
}
+ glEGLImageTargetTexStorage =
+ (PFNGLEGLIMAGETARGETTEXSTORAGEEXTPROC)eglGetProcAddress("glEGLImageTargetTexS"
+ "torageEXT");
+ if (glEGLImageTargetTexStorage == NULL) {
+ log_error("Failed to get glEGLImageTargetTexStorageEXT.");
+ goto end;
+ }
+
gd->gl.decouple_texture_user_data = egl_decouple_user_data;
gd->gl.release_user_data = egl_release_image;
@@ -270,7 +280,7 @@ egl_bind_pixmap(backend_t *base, xcb_pixmap_t pixmap,
wd->dim = 0;
wd->inner->refcount = 1;
glBindTexture(GL_TEXTURE_2D, inner->texture);
- glEGLImageTargetTexStorageEXT(GL_TEXTURE_2D, eglpixmap->image, NULL);
+ glEGLImageTargetTexStorage(GL_TEXTURE_2D, eglpixmap->image, NULL);
glBindTexture(GL_TEXTURE_2D, 0);
gl_check_err();

View File

@ -0,0 +1,17 @@
fix log_debug call. backport of
https://github.com/yshui/picom/commit/5580f461dcf3465ce48dfce335b7c4661d67207b
Index: src/picom.c
--- src/picom.c.orig
+++ src/picom.c
@@ -539,8 +539,8 @@ static bool initialize_backend(session_t *ps) {
} else {
shader->attributes = 0;
}
- log_debug("Shader %s has attributes %ld", shader->key,
- shader->attributes);
+ log_debug("Shader %s has attributes %"PRIu64,
+ shader->key, shader->attributes);
}
}

View File

@ -3,6 +3,7 @@ bin/picom-trans
@man man/man1/picom-trans.1
@man man/man1/picom.1
share/applications/picom.desktop
@sample ${SYSCONFDIR}/xdg/autostart/picom.desktop
share/examples/picom/
share/examples/picom/picom.sample.conf
share/icons/hicolor/48x48/apps/picom.png