diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 585dc3fdb..8fae44990 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -406,6 +406,8 @@ vs2019 shared x86: EXTRA_MESON_ARGS: '--default-library=shared' android arm64 fedora: + # TODO: should probably build our own image here some day + # See https://gitlab.freedesktop.org/gstreamer/gstreamer/container_registry/7689 for current images extends: - '.fdo.distribution-image@fedora' stage: 'build' @@ -419,6 +421,53 @@ android arm64 fedora: - meson setup --cross-file .gitlab-ci/android-cross-file.txt -Dpixman:a64-neon=disabled build - meson compile --verbose -C build +macOS arm64: + image: "registry.freedesktop.org/gstreamer/cerbero/macos-arm64/15-sequoia:2024-10-28.2" + tags: + - gst-mac-arm + stage: 'build' + artifacts: + when: 'always' + expire_in: "7 days" + paths: + - build/meson-logs/*.txt + - build/meson-private/*.pc + - build/test/*.log + - build/test/pdiff/*.log + - build/test/output + exclude: + - "build/test/**/*.cs" + - "build/test/**/*.trace" + before_script: + # Install the DejaVu fonts + - curl -LO https://downloads.sourceforge.net/dejavu/dejavu-fonts-ttf-2.37.zip + - unzip dejavu-fonts-ttf-2.37.zip + - cp dejavu-fonts-ttf-2.37/ttf/*.ttf /Library/Fonts + # Update pip + - pip3 install --upgrade pip + # FIXME + - export PATH=${PATH}:/Users/gst-ci/Library/Python/3.9/bin + # Make sure meson is up to date + - pip3 install -U meson + # Need to install certificates for Python + - pip3 install --upgrade certifi + #### Another way to install certificates + ####- open /Applications/Python\ 3.8/Install\ Certificates.command + # Get ninja + - pip3 install -U ninja + script: + # FIXME + - export PATH=${PATH}:/Users/gst-ci/Library/Python/3.9/bin + - CERT_PATH=$(python3 -m certifi) && export SSL_CERT_FILE=${CERT_PATH} && export REQUESTS_CA_BUNDLE=${CERT_PATH} + # pixman region-test fails to link on macOS + - meson setup -Dpixman:tests=disabled build + - meson compile --verbose -C build + # Test cairo-quartz. Other backends should be covered by other jobs + - export CAIRO_TEST_IGNORE_quartz_argb32=$(tr '\n' ',' < .gitlab-ci/ignore-quartz-argb32.txt) + - export CAIRO_TEST_IGNORE_quartz_rgb24=$(tr '\n' ',' < .gitlab-ci/ignore-quartz-rgb24.txt) + - export CAIRO_TEST_TARGET=quartz + - (cd build/test && srcdir=../../test ./cairo-test-suite) + # Run static analysis. static-scan: stage: 'analysis' diff --git a/.gitlab-ci/ignore-quartz-argb32.txt b/.gitlab-ci/ignore-quartz-argb32.txt index fb30f4bb0..806837e42 100644 --- a/.gitlab-ci/ignore-quartz-argb32.txt +++ b/.gitlab-ci/ignore-quartz-argb32.txt @@ -2,6 +2,7 @@ bug-361 bug-431 bug-image-compositor clip-operator +coverage-column-triangles coverage-rhombus culled-glyphs extended-blend-alpha diff --git a/.gitlab-ci/ignore-quartz-rgb24.txt b/.gitlab-ci/ignore-quartz-rgb24.txt index 92416e16b..9db477c35 100644 --- a/.gitlab-ci/ignore-quartz-rgb24.txt +++ b/.gitlab-ci/ignore-quartz-rgb24.txt @@ -10,6 +10,7 @@ bug-image-compositor bug-source-cu clip-device-offset clip-fill-rule-pixel-aligned +coverage-column-triangles coverage-rhombus culled-glyphs device-offset diff --git a/test/reference/bug-51910.quartz.ref.png b/test/reference/bug-51910.quartz.ref.png index cc900e68c..f38b99391 100644 Binary files a/test/reference/bug-51910.quartz.ref.png and b/test/reference/bug-51910.quartz.ref.png differ diff --git a/test/reference/bug-seams.quartz.xfail.png b/test/reference/bug-seams.quartz.xfail.png index 25c98b36a..0250ef5dd 100644 Binary files a/test/reference/bug-seams.quartz.xfail.png and b/test/reference/bug-seams.quartz.xfail.png differ diff --git a/test/reference/dash-caps-joins.quartz.xfail.png b/test/reference/dash-caps-joins.quartz.xfail.png index cd9fe93ba..fb3df5984 100644 Binary files a/test/reference/dash-caps-joins.quartz.xfail.png and b/test/reference/dash-caps-joins.quartz.xfail.png differ diff --git a/test/reference/dash-state.quartz.xfail.png b/test/reference/dash-state.quartz.xfail.png index ef38975ca..e4a77dc5f 100644 Binary files a/test/reference/dash-state.quartz.xfail.png and b/test/reference/dash-state.quartz.xfail.png differ diff --git a/test/reference/dash-zero-length.quartz.rgb24.xfail.png b/test/reference/dash-zero-length.quartz.rgb24.xfail.png index 68802c584..8b531ff7e 100644 Binary files a/test/reference/dash-zero-length.quartz.rgb24.xfail.png and b/test/reference/dash-zero-length.quartz.rgb24.xfail.png differ diff --git a/test/reference/extended-blend-alpha.quartz.rgb24.ref.png b/test/reference/extended-blend-alpha.quartz.rgb24.ref.png index 1b3dae712..f749e062a 100644 Binary files a/test/reference/extended-blend-alpha.quartz.rgb24.ref.png and b/test/reference/extended-blend-alpha.quartz.rgb24.ref.png differ diff --git a/test/reference/extended-blend-solid-alpha.quartz.rgb24.ref.png b/test/reference/extended-blend-solid-alpha.quartz.rgb24.ref.png index 1b3dae712..f749e062a 100644 Binary files a/test/reference/extended-blend-solid-alpha.quartz.rgb24.ref.png and b/test/reference/extended-blend-solid-alpha.quartz.rgb24.ref.png differ diff --git a/test/reference/filter-bilinear-extents.quartz.argb32.xfail.png b/test/reference/filter-bilinear-extents.quartz.argb32.xfail.png new file mode 100644 index 000000000..d39ff8311 Binary files /dev/null and b/test/reference/filter-bilinear-extents.quartz.argb32.xfail.png differ diff --git a/test/reference/filter-bilinear-extents.quartz.rgb24.xfail.png b/test/reference/filter-bilinear-extents.quartz.rgb24.xfail.png new file mode 100644 index 000000000..e4f8c9545 Binary files /dev/null and b/test/reference/filter-bilinear-extents.quartz.rgb24.xfail.png differ diff --git a/test/reference/filter-bilinear-extents.quartz.xfail.png b/test/reference/filter-bilinear-extents.quartz.xfail.png deleted file mode 100644 index 312ee802d..000000000 Binary files a/test/reference/filter-bilinear-extents.quartz.xfail.png and /dev/null differ diff --git a/test/reference/line-width-large-overlap-dashed.quartz.xfail.png b/test/reference/line-width-large-overlap-dashed.quartz.xfail.png index 78dbe5976..b8afa547e 100644 Binary files a/test/reference/line-width-large-overlap-dashed.quartz.xfail.png and b/test/reference/line-width-large-overlap-dashed.quartz.xfail.png differ diff --git a/test/reference/line-width-overlap-dashed.quartz.xfail.png b/test/reference/line-width-overlap-dashed.quartz.xfail.png index ce8ff7bc9..0e9c37412 100644 Binary files a/test/reference/line-width-overlap-dashed.quartz.xfail.png and b/test/reference/line-width-overlap-dashed.quartz.xfail.png differ diff --git a/test/reference/mask-alpha.quartz.argb32.ref.png b/test/reference/mask-alpha.quartz.argb32.ref.png index a7bfbb2a8..56f27d100 100644 Binary files a/test/reference/mask-alpha.quartz.argb32.ref.png and b/test/reference/mask-alpha.quartz.argb32.ref.png differ diff --git a/test/reference/mask-alpha.quartz.rgb24.ref.png b/test/reference/mask-alpha.quartz.rgb24.ref.png deleted file mode 100644 index d4cc59c83..000000000 Binary files a/test/reference/mask-alpha.quartz.rgb24.ref.png and /dev/null differ diff --git a/test/reference/mask.quartz.argb32.ref.png b/test/reference/mask.quartz.argb32.ref.png index ab800daf7..b173221ed 100644 Binary files a/test/reference/mask.quartz.argb32.ref.png and b/test/reference/mask.quartz.argb32.ref.png differ diff --git a/test/reference/operator-clear.quartz.argb32.ref.png b/test/reference/operator-clear.quartz.argb32.ref.png index a76ebfc82..fb85d2610 100644 Binary files a/test/reference/operator-clear.quartz.argb32.ref.png and b/test/reference/operator-clear.quartz.argb32.ref.png differ diff --git a/test/reference/operator-clear.quartz.rgb24.ref.png b/test/reference/operator-clear.quartz.rgb24.ref.png index 7b44e219c..1b016a9c2 100644 Binary files a/test/reference/operator-clear.quartz.rgb24.ref.png and b/test/reference/operator-clear.quartz.rgb24.ref.png differ diff --git a/test/reference/operator-source.quartz.argb32.ref.png b/test/reference/operator-source.quartz.argb32.ref.png index 8d4f80dae..ac1afbaa9 100644 Binary files a/test/reference/operator-source.quartz.argb32.ref.png and b/test/reference/operator-source.quartz.argb32.ref.png differ diff --git a/test/reference/pthread-same-source.quartz.ref.png b/test/reference/pthread-same-source.quartz.ref.png index 2cd620f43..822b6e39e 100644 Binary files a/test/reference/pthread-same-source.quartz.ref.png and b/test/reference/pthread-same-source.quartz.ref.png differ diff --git a/test/reference/radial-gradient-one-stop.quartz.ref.png b/test/reference/radial-gradient-one-stop.quartz.ref.png index cf37c2f48..dada71735 100644 Binary files a/test/reference/radial-gradient-one-stop.quartz.ref.png and b/test/reference/radial-gradient-one-stop.quartz.ref.png differ diff --git a/test/reference/random-clip.quartz.ref.png b/test/reference/random-clip.quartz.ref.png index aa617d675..b4a493461 100644 Binary files a/test/reference/random-clip.quartz.ref.png and b/test/reference/random-clip.quartz.ref.png differ diff --git a/test/reference/recording-surface-extend-none.quartz.argb32.ref.png b/test/reference/recording-surface-extend-none.quartz.argb32.ref.png index 07d737a13..59b1a194e 100644 Binary files a/test/reference/recording-surface-extend-none.quartz.argb32.ref.png and b/test/reference/recording-surface-extend-none.quartz.argb32.ref.png differ diff --git a/test/reference/recording-surface-extend-none.quartz.rgb24.ref.png b/test/reference/recording-surface-extend-none.quartz.rgb24.ref.png index 0df693529..9b1642b28 100644 Binary files a/test/reference/recording-surface-extend-none.quartz.rgb24.ref.png and b/test/reference/recording-surface-extend-none.quartz.rgb24.ref.png differ diff --git a/test/reference/recording-surface-extend-repeat.quartz.argb32.ref.png b/test/reference/recording-surface-extend-repeat.quartz.argb32.ref.png index 2f6f274de..adcdfb4fd 100644 Binary files a/test/reference/recording-surface-extend-repeat.quartz.argb32.ref.png and b/test/reference/recording-surface-extend-repeat.quartz.argb32.ref.png differ diff --git a/test/reference/recording-surface-extend-repeat.quartz.rgb24.ref.png b/test/reference/recording-surface-extend-repeat.quartz.rgb24.ref.png index a8943a706..439591038 100644 Binary files a/test/reference/recording-surface-extend-repeat.quartz.rgb24.ref.png and b/test/reference/recording-surface-extend-repeat.quartz.rgb24.ref.png differ diff --git a/test/reference/recording-surface-over.quartz.argb32.ref.png b/test/reference/recording-surface-over.quartz.argb32.ref.png index 07d737a13..59b1a194e 100644 Binary files a/test/reference/recording-surface-over.quartz.argb32.ref.png and b/test/reference/recording-surface-over.quartz.argb32.ref.png differ diff --git a/test/reference/recording-surface-over.quartz.rgb24.ref.png b/test/reference/recording-surface-over.quartz.rgb24.ref.png index 0df693529..9b1642b28 100644 Binary files a/test/reference/recording-surface-over.quartz.rgb24.ref.png and b/test/reference/recording-surface-over.quartz.rgb24.ref.png differ diff --git a/test/reference/recording-surface-source.quartz.argb32.ref.png b/test/reference/recording-surface-source.quartz.argb32.ref.png index bd5d7497b..44a9c26d5 100644 Binary files a/test/reference/recording-surface-source.quartz.argb32.ref.png and b/test/reference/recording-surface-source.quartz.argb32.ref.png differ diff --git a/test/reference/recording-surface-source.quartz.rgb24.ref.png b/test/reference/recording-surface-source.quartz.rgb24.ref.png index ddba6f3ff..cb4f6bbf9 100644 Binary files a/test/reference/recording-surface-source.quartz.rgb24.ref.png and b/test/reference/recording-surface-source.quartz.rgb24.ref.png differ diff --git a/test/reference/surface-pattern-operator.quartz.argb32.ref.png b/test/reference/surface-pattern-operator.quartz.argb32.ref.png index e2a411682..413ccefcc 100644 Binary files a/test/reference/surface-pattern-operator.quartz.argb32.ref.png and b/test/reference/surface-pattern-operator.quartz.argb32.ref.png differ diff --git a/test/reference/surface-pattern-operator.quartz.rgb24.ref.png b/test/reference/surface-pattern-operator.quartz.rgb24.ref.png index 02eec1c85..7e4ef3638 100644 Binary files a/test/reference/surface-pattern-operator.quartz.rgb24.ref.png and b/test/reference/surface-pattern-operator.quartz.rgb24.ref.png differ diff --git a/test/reference/surface-pattern.quartz.xfail.png b/test/reference/surface-pattern.quartz.xfail.png index 42938f026..41ed28068 100644 Binary files a/test/reference/surface-pattern.quartz.xfail.png and b/test/reference/surface-pattern.quartz.xfail.png differ diff --git a/test/reference/text-pattern.quartz.argb32.ref.png b/test/reference/text-pattern.quartz.argb32.ref.png index b3f869b50..3964f5438 100644 Binary files a/test/reference/text-pattern.quartz.argb32.ref.png and b/test/reference/text-pattern.quartz.argb32.ref.png differ diff --git a/test/reference/text-pattern.quartz.rgb24.ref.png b/test/reference/text-pattern.quartz.rgb24.ref.png index bb50f4dff..35f28a708 100644 Binary files a/test/reference/text-pattern.quartz.rgb24.ref.png and b/test/reference/text-pattern.quartz.rgb24.ref.png differ diff --git a/test/reference/tighten-bounds.quartz.argb32.ref.png b/test/reference/tighten-bounds.quartz.argb32.ref.png index dc4aacdd8..5f9deec6e 100644 Binary files a/test/reference/tighten-bounds.quartz.argb32.ref.png and b/test/reference/tighten-bounds.quartz.argb32.ref.png differ diff --git a/test/reference/tighten-bounds.quartz.rgb24.ref.png b/test/reference/tighten-bounds.quartz.rgb24.ref.png index 8d11e0b85..0aeddcd3b 100644 Binary files a/test/reference/tighten-bounds.quartz.rgb24.ref.png and b/test/reference/tighten-bounds.quartz.rgb24.ref.png differ diff --git a/test/reference/trap-clip.quartz.argb32.ref.png b/test/reference/trap-clip.quartz.argb32.ref.png index 66a1e8afe..8bf6a5668 100644 Binary files a/test/reference/trap-clip.quartz.argb32.ref.png and b/test/reference/trap-clip.quartz.argb32.ref.png differ diff --git a/test/reference/trap-clip.quartz.rgb24.ref.png b/test/reference/trap-clip.quartz.rgb24.ref.png deleted file mode 100644 index 38e6d31df..000000000 Binary files a/test/reference/trap-clip.quartz.rgb24.ref.png and /dev/null differ diff --git a/test/reference/unbounded-operator.quartz.argb32.ref.png b/test/reference/unbounded-operator.quartz.argb32.ref.png index b2e99165e..040801d51 100644 Binary files a/test/reference/unbounded-operator.quartz.argb32.ref.png and b/test/reference/unbounded-operator.quartz.argb32.ref.png differ diff --git a/test/reference/unbounded-operator.quartz.rgb24.ref.png b/test/reference/unbounded-operator.quartz.rgb24.ref.png index ea41dc892..eaaaaf7ef 100644 Binary files a/test/reference/unbounded-operator.quartz.rgb24.ref.png and b/test/reference/unbounded-operator.quartz.rgb24.ref.png differ