From: Simon McVittie Date: Sun, 2 Jan 2022 14:51:20 +0000 (+0000) Subject: Rebase patch series X-Git-Tag: archive/raspbian/4.6.5+ds-1+rpi1~1^2~89 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=df952c5751e27b981927aff4ea3170681a6629f2;p=gtk4.git Rebase patch series --- diff --git a/debian/patches/debian/Disable-clipboard-test.patch b/debian/patches/debian/Disable-clipboard-test.patch deleted file mode 100644 index 3b553abe75..0000000000 --- a/debian/patches/debian/Disable-clipboard-test.patch +++ /dev/null @@ -1,25 +0,0 @@ -From: Simon McVittie -Date: Fri, 3 Sep 2021 15:08:08 +0100 -Subject: Disable clipboard test - -This regularly times out on buildds, but I can't reproduce the hang -locally. - -Bug: https://gitlab.gnome.org/GNOME/gtk/-/issues/4229 -Forwarded: no ---- - testsuite/gdk/meson.build | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/testsuite/gdk/meson.build b/testsuite/gdk/meson.build -index 5e62e98..af872f7 100644 ---- a/testsuite/gdk/meson.build -+++ b/testsuite/gdk/meson.build -@@ -12,7 +12,6 @@ clipboard_client = executable('clipboard-client', - tests = [ - 'array', - 'cairo', -- 'clipboard', - 'contentformats', - 'contentserializer', - 'cursor', diff --git a/debian/patches/debian/Disable-web-fonts-for-now.patch b/debian/patches/debian/Disable-web-fonts-for-now.patch index 9bec7eab0f..4263fa29f8 100644 --- a/debian/patches/debian/Disable-web-fonts-for-now.patch +++ b/debian/patches/debian/Disable-web-fonts-for-now.patch @@ -197,7 +197,7 @@ index ce790e7..0a01b93 100644 - font-display: swap; -} diff --git a/subprojects/gi-docgen/gidocgen/templates/basic/style.css b/subprojects/gi-docgen/gidocgen/templates/basic/style.css -index 889bbe8..89f0e4e 100644 +index 4a92097..7fd9a68 100644 --- a/subprojects/gi-docgen/gidocgen/templates/basic/style.css +++ b/subprojects/gi-docgen/gidocgen/templates/basic/style.css @@ -7,8 +7,6 @@ diff --git a/debian/patches/debian/Skip-some-known-failing-tests-on-mips-family-architecture.patch b/debian/patches/debian/Skip-some-known-failing-tests-on-mips-family-architecture.patch index 434489a09f..496a2f2ceb 100644 --- a/debian/patches/debian/Skip-some-known-failing-tests-on-mips-family-architecture.patch +++ b/debian/patches/debian/Skip-some-known-failing-tests-on-mips-family-architecture.patch @@ -8,10 +8,10 @@ Forwarded: no 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/testsuite/gsk/meson.build b/testsuite/gsk/meson.build -index d225653..683e3d4 100644 +index 71e18f8..fb42e30 100644 --- a/testsuite/gsk/meson.build +++ b/testsuite/gsk/meson.build -@@ -73,15 +73,21 @@ compare_render_tests = [ +@@ -75,15 +75,21 @@ compare_render_tests = [ 'scale-up-down', 'shadow-in-opacity', 'texture-url', diff --git a/debian/patches/debian/templates-Remove-html5shiv.patch b/debian/patches/debian/templates-Remove-html5shiv.patch index 87df271b3f..dd4cffa842 100644 --- a/debian/patches/debian/templates-Remove-html5shiv.patch +++ b/debian/patches/debian/templates-Remove-html5shiv.patch @@ -9,10 +9,10 @@ references to external resources that can be a privacy breach. 1 file changed, 1 deletion(-) diff --git a/subprojects/gi-docgen/gidocgen/templates/basic/base.html b/subprojects/gi-docgen/gidocgen/templates/basic/base.html -index 963a73e..ace1da3 100644 +index 36598ba..a1be4ab 100644 --- a/subprojects/gi-docgen/gidocgen/templates/basic/base.html +++ b/subprojects/gi-docgen/gidocgen/templates/basic/base.html -@@ -47,7 +47,6 @@ SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later +@@ -52,7 +52,6 @@ SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later {% endif %} diff --git a/debian/patches/debian/testsuite-Don-t-test-the-old-gl-renderer.patch b/debian/patches/debian/testsuite-Don-t-test-the-old-gl-renderer.patch deleted file mode 100644 index d5f04aed2d..0000000000 --- a/debian/patches/debian/testsuite-Don-t-test-the-old-gl-renderer.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Simon McVittie -Date: Thu, 2 Sep 2021 22:44:21 +0100 -Subject: testsuite: Don't test the old gl renderer - -This was removed in GTK 4.5, and two of its tests crash when run on -mipsel. - -Forwarded: not-needed, upstream removed this renderer already ---- - testsuite/gsk/meson.build | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/testsuite/gsk/meson.build b/testsuite/gsk/meson.build -index e6901e5..d225653 100644 ---- a/testsuite/gsk/meson.build -+++ b/testsuite/gsk/meson.build -@@ -92,7 +92,6 @@ informative_render_tests = [ - - renderers = [ - # name exclude term -- [ 'gl', '-ngl' ], - [ 'ngl', '' ], - [ 'broadway', '-3d' ], - [ 'cairo', '-3d' ], diff --git a/debian/patches/reftest_compare_surfaces-Report-how-much-the-images-diffe.patch b/debian/patches/reftest_compare_surfaces-Report-how-much-the-images-diffe.patch index 47811abfe7..40dabe4fc4 100644 --- a/debian/patches/reftest_compare_surfaces-Report-how-much-the-images-diffe.patch +++ b/debian/patches/reftest_compare_surfaces-Report-how-much-the-images-diffe.patch @@ -10,44 +10,44 @@ Signed-off-by: Simon McVittie Forwarded: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/3195 Applied-upstream: no, upstream want reftests to be a strict pass/fail with identical results required --- - testsuite/gsk/compare-render.c | 10 +++++++++- + testsuite/gsk/compare-render.c | 9 ++++++++- testsuite/reftests/gtk-reftest.c | 9 ++++++++- testsuite/reftests/reftest-compare.c | 28 +++++++++++++++++++++++++--- testsuite/reftests/reftest-compare.h | 5 ++++- - 4 files changed, 46 insertions(+), 6 deletions(-) + 4 files changed, 45 insertions(+), 6 deletions(-) diff --git a/testsuite/gsk/compare-render.c b/testsuite/gsk/compare-render.c -index a62252a..9742358 100644 +index 919957e..7145363 100644 --- a/testsuite/gsk/compare-render.c +++ b/testsuite/gsk/compare-render.c -@@ -236,11 +236,19 @@ main (int argc, char **argv) - } +@@ -227,12 +227,19 @@ main (int argc, char **argv) else { + GdkTexture *diff_texture; + guint max_diff = 0; + guint pixels_changed = 0; + guint pixels = 0; -+ + /* Now compare the two */ -- diff_surface = reftest_compare_surfaces (rendered_surface, reference_surface); -+ diff_surface = reftest_compare_surfaces (rendered_surface, reference_surface, +- diff_texture = reftest_compare_textures (rendered_texture, reference_texture); ++ diff_texture = reftest_compare_textures (rendered_texture, reference_texture, + &max_diff, &pixels_changed, &pixels); - if (diff_surface) + if (diff_texture) { + g_print ("%u (out of %u) pixels differ from reference by up to %u levels\n", + pixels_changed, pixels, max_diff); + - save_image (diff_surface, node_file, ".diff.png"); - cairo_surface_destroy (diff_surface); + save_image (diff_texture, node_file, ".diff.png"); + g_object_unref (diff_texture); success = FALSE; diff --git a/testsuite/reftests/gtk-reftest.c b/testsuite/reftests/gtk-reftest.c -index cd15396..3ae5413 100644 +index 3872f55..12d202f 100644 --- a/testsuite/reftests/gtk-reftest.c +++ b/testsuite/reftests/gtk-reftest.c -@@ -298,6 +298,9 @@ test_ui_file (GFile *file) +@@ -331,6 +331,9 @@ test_ui_file (GFile *file) char *ui_file, *reference_file; - cairo_surface_t *ui_image, *reference_image, *diff_image; + GdkTexture *ui_image, *reference_image, *diff_image; GtkStyleProvider *provider; + guint max_diff = 0; + guint pixels_changed = 0; @@ -55,12 +55,12 @@ index cd15396..3ae5413 100644 ui_file = g_file_get_path (file); -@@ -317,12 +320,16 @@ test_ui_file (GFile *file) - } - g_free (reference_file); +@@ -362,12 +365,16 @@ test_ui_file (GFile *file) + if (reference_image == NULL) + reference_image = gdk_memory_texture_new (1, 1, GDK_MEMORY_DEFAULT, g_bytes_new ((guchar[4]) {0, 0, 0, 0}, 4), 4); -- diff_image = reftest_compare_surfaces (ui_image, reference_image); -+ diff_image = reftest_compare_surfaces (ui_image, reference_image, +- diff_image = reftest_compare_textures (ui_image, reference_image); ++ diff_image = reftest_compare_textures (ui_image, reference_image, + &max_diff, &pixels_changed, &pixels); save_image (ui_image, ui_file, ".out.png"); @@ -70,14 +70,14 @@ index cd15396..3ae5413 100644 { + g_test_message ("%u (out of %u) pixels differ from reference by up to %u levels", + pixels_changed, pixels, max_diff); + save_node (g_object_get_data (G_OBJECT (ui_image), "source-render-node"), ui_file, ".out.node"); + save_node (g_object_get_data (G_OBJECT (reference_image), "source-render-node"), ui_file, ".ref.node"); save_image (diff_image, ui_file, ".diff.png"); - cairo_surface_destroy (diff_image); - g_test_fail (); diff --git a/testsuite/reftests/reftest-compare.c b/testsuite/reftests/reftest-compare.c -index 5bccb69..ac72c61 100644 +index bb6c6eb..202fcf5 100644 --- a/testsuite/reftests/reftest-compare.c +++ b/testsuite/reftests/reftest-compare.c -@@ -83,12 +83,16 @@ buffer_diff_core (const guchar *buf_a, +@@ -35,12 +35,16 @@ buffer_diff_core (const guchar *buf_a, const guchar *buf_b, int stride_b, int width, @@ -89,13 +89,13 @@ index 5bccb69..ac72c61 100644 int x, y; guchar *buf_diff = NULL; int stride_diff = 0; - cairo_surface_t *diff = NULL; + GdkTexture *diff = NULL; + guint max_diff = 0; + guint pixels_changed = 0; for (y = 0; y < height; y++) { -@@ -129,6 +133,10 @@ buffer_diff_core (const guchar *buf_a, +@@ -84,6 +88,10 @@ buffer_diff_core (const guchar *buf_a, guint channel_diff; channel_diff = ABS (value_a - value_b); @@ -106,7 +106,7 @@ index 5bccb69..ac72c61 100644 channel_diff *= 4; /* emphasize */ if (channel_diff) channel_diff += 128; /* make sure it's visible */ -@@ -137,6 +145,8 @@ buffer_diff_core (const guchar *buf_a, +@@ -92,6 +100,8 @@ buffer_diff_core (const guchar *buf_a, diff_pixel |= channel_diff << (channel * 8); } @@ -115,7 +115,7 @@ index 5bccb69..ac72c61 100644 if ((diff_pixel & 0x00ffffff) == 0) { /* alpha only difference, convert to luminance */ -@@ -148,12 +158,21 @@ buffer_diff_core (const guchar *buf_a, +@@ -105,12 +115,21 @@ buffer_diff_core (const guchar *buf_a, } } @@ -128,42 +128,41 @@ index 5bccb69..ac72c61 100644 return diff; } - cairo_surface_t * - reftest_compare_surfaces (cairo_surface_t *surface1, -- cairo_surface_t *surface2) -+ cairo_surface_t *surface2, -+ guint *max_diff_out, -+ guint *pixels_changed_out, -+ guint *pixels_out) + GdkTexture * + reftest_compare_textures (GdkTexture *texture1, +- GdkTexture *texture2) ++ GdkTexture *texture2, ++ guint *max_diff_out, ++ guint *pixels_changed_out, ++ guint *pixels_out) { - int w1, h1, w2, h2, w, h; - cairo_surface_t *coerced1, *coerced2, *diff; -@@ -169,11 +188,14 @@ reftest_compare_surfaces (cairo_surface_t *surface1, - cairo_image_surface_get_stride (coerced1), - cairo_image_surface_get_data (coerced2), - cairo_image_surface_get_stride (coerced2), + int w, h; + guchar *data1, *data2; +@@ -126,10 +145,13 @@ reftest_compare_textures (GdkTexture *texture1, + + diff = buffer_diff_core (data1, w * 4, + data2, w * 4, - w, h); + w, h, max_diff_out, pixels_changed_out); - cairo_surface_destroy (coerced1); - cairo_surface_destroy (coerced2); + g_free (data1); + g_free (data2); + if (pixels_out != NULL) + *pixels_out = w * h; + return diff; } - diff --git a/testsuite/reftests/reftest-compare.h b/testsuite/reftests/reftest-compare.h -index 551b1c5..c6e001c 100644 +index d5e02a1..b71636e 100644 --- a/testsuite/reftests/reftest-compare.h +++ b/testsuite/reftests/reftest-compare.h @@ -24,7 +24,10 @@ G_BEGIN_DECLS G_MODULE_EXPORT - cairo_surface_t * reftest_compare_surfaces (cairo_surface_t *surface1, -- cairo_surface_t *surface2); -+ cairo_surface_t *surface2, + GdkTexture * reftest_compare_textures (GdkTexture *texture1, +- GdkTexture *texture2); ++ GdkTexture *texture2, + guint *max_diff_out, + guint *pixels_changed_out, + guint *pixels_out); diff --git a/debian/patches/reftests-Allow-minor-differences-to-be-tolerated.patch b/debian/patches/reftests-Allow-minor-differences-to-be-tolerated.patch index ac73d110e8..aeae1c951c 100644 --- a/debian/patches/reftests-Allow-minor-differences-to-be-tolerated.patch +++ b/debian/patches/reftests-Allow-minor-differences-to-be-tolerated.patch @@ -28,7 +28,7 @@ Applied-upstream: no, upstream want reftests to be a strict pass/fail with ident 3 files changed, 62 insertions(+), 3 deletions(-) diff --git a/testsuite/gsk/compare-render.c b/testsuite/gsk/compare-render.c -index 9742358..cd6bf50 100644 +index 7145363..2d5fdf9 100644 --- a/testsuite/gsk/compare-render.c +++ b/testsuite/gsk/compare-render.c @@ -98,6 +98,12 @@ get_output_file (const char *file, @@ -42,11 +42,11 @@ index 9742358..cd6bf50 100644 +} + static void - save_image (cairo_surface_t *surface, - const char *test_name, -@@ -246,12 +252,35 @@ main (int argc, char **argv) + save_image (GdkTexture *texture, + const char *test_name, +@@ -237,12 +243,35 @@ main (int argc, char **argv) - if (diff_surface) + if (diff_texture) { + char *keyfile_path = get_test_keyfile (node_file); + GKeyFile *keyfile = g_key_file_new (); @@ -67,8 +67,8 @@ index 9742358..cd6bf50 100644 g_print ("%u (out of %u) pixels differ from reference by up to %u levels\n", pixels_changed, pixels, max_diff); - save_image (diff_surface, node_file, ".diff.png"); - cairo_surface_destroy (diff_surface); + save_image (diff_texture, node_file, ".diff.png"); + g_object_unref (diff_texture); - success = FALSE; + + if (max_diff <= tolerated_diff && pixels_changed <= tolerated_pixels) @@ -82,10 +82,10 @@ index 9742358..cd6bf50 100644 } diff --git a/testsuite/reftests/gtk-reftest.c b/testsuite/reftests/gtk-reftest.c -index 3ae5413..f2fd60e 100644 +index 12d202f..5970b1d 100644 --- a/testsuite/reftests/gtk-reftest.c +++ b/testsuite/reftests/gtk-reftest.c -@@ -292,6 +292,12 @@ save_image (cairo_surface_t *surface, +@@ -292,6 +292,12 @@ save_image (GdkTexture *texture, g_free (filename); } @@ -96,9 +96,9 @@ index 3ae5413..f2fd60e 100644 +} + static void - test_ui_file (GFile *file) - { -@@ -328,11 +334,35 @@ test_ui_file (GFile *file) + save_node (GskRenderNode *node, + const char *test_name, +@@ -373,13 +379,37 @@ test_ui_file (GFile *file) if (diff_image) { @@ -121,8 +121,10 @@ index 3ae5413..f2fd60e 100644 g_test_message ("%u (out of %u) pixels differ from reference by up to %u levels", pixels_changed, pixels, max_diff); + + save_node (g_object_get_data (G_OBJECT (ui_image), "source-render-node"), ui_file, ".out.node"); + save_node (g_object_get_data (G_OBJECT (reference_image), "source-render-node"), ui_file, ".ref.node"); save_image (diff_image, ui_file, ".diff.png"); - cairo_surface_destroy (diff_image); + g_object_unref (diff_image); - g_test_fail (); + + if (max_diff <= tolerated_diff && pixels_changed <= tolerated_pixels) @@ -136,15 +138,15 @@ index 3ae5413..f2fd60e 100644 remove_extra_css (provider); diff --git a/testsuite/reftests/image-compare.c b/testsuite/reftests/image-compare.c -index 07bb79e..714f4fc 100644 +index dd9c26c..e68a161 100644 --- a/testsuite/reftests/image-compare.c +++ b/testsuite/reftests/image-compare.c -@@ -41,7 +41,7 @@ main (int argc, char **argv) - image1 = cairo_image_surface_create_from_png (argv[1]); - image2 = cairo_image_surface_create_from_png (argv[2]); +@@ -51,7 +51,7 @@ main (int argc, char **argv) + exit (1); + } -- diff = reftest_compare_surfaces (image1, image2); -+ diff = reftest_compare_surfaces (image1, image2, NULL, NULL, NULL); +- diff = reftest_compare_textures (image1, image2); ++ diff = reftest_compare_textures (image1, image2, NULL, NULL, NULL); if (opt_filename && diff) - cairo_surface_write_to_png (diff, opt_filename); + { diff --git a/debian/patches/series b/debian/patches/series index 125a73b22d..d02e0fdcb1 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -2,6 +2,4 @@ reftest_compare_surfaces-Report-how-much-the-images-diffe.patch reftests-Allow-minor-differences-to-be-tolerated.patch debian/Disable-web-fonts-for-now.patch debian/templates-Remove-html5shiv.patch -debian/testsuite-Don-t-test-the-old-gl-renderer.patch debian/Skip-some-known-failing-tests-on-mips-family-architecture.patch -debian/Disable-clipboard-test.patch