Comment 17 for bug 1041599

Revision history for this message
In , Psychon-d (psychon-d) wrote :

I can reproduce this (debian testing amd64). Here's what git bisect says:

6ed0c6224b763e9cbcfb0d46f188883d8425bab5 is the first bad commit
commit 6ed0c6224b763e9cbcfb0d46f188883d8425bab5
Author: Chris Wilson <email address hidden>
Date: Fri Jul 29 13:03:59 2011 +0100

    pdf: Remove redundant clip regions

    If the extents of the operation is wholly contained within the clip
    region, then we can safely not invoke any clipping.

    Signed-off-by: Chris Wilson <email address hidden>

:040000 040000 42e4cbdf15d9d1a7a92da02d2fa291c68c6ea6b7 8bef42b00d2da3b1a14e895bb51a598335ba3972 M src

I checked twice and it really does work before this commit. However, trying to revert this changes ontop of current master (by hand) didn't make this work again.

Now someone please tell me how ignoring a clip can cause misplaced glyphs...

In case it turns out that this wasn't the faulty commit:

$ git bisect log
git bisect start
# bad: [9f52261dd7941ec7b338b050479da25c2571f9ac] xcb: Correctly handle a recording surface's extents
git bisect bad 9f52261dd7941ec7b338b050479da25c2571f9ac
# good: [4938e11ffe11781e4e294092807ebc67f362eac6] version: Bump for 1.10.2 release
git bisect good 4938e11ffe11781e4e294092807ebc67f362eac6
# skip: [6b3d53646eb7aa3f13a0a6d133ec2ffcd1df8fdd] image: peek through a snapshot to the recording surface behind
git bisect skip 6b3d53646eb7aa3f13a0a6d133ec2ffcd1df8fdd
# good: [c0dc933efda7672b07e188a1195821340f911a66] xcb: Remove CAIRO_XCB_RENDER_HAS_COMPOSITE_SPANS
git bisect good c0dc933efda7672b07e188a1195821340f911a66
# bad: [2209ec5a15f535b1fae19c84b796f3d11a12de00] test: Make cairo_test_suite depend upon the any2ppm exectuable on all platforms
git bisect bad 2209ec5a15f535b1fae19c84b796f3d11a12de00
# bad: [6155348966b89a216d2e5ee0b4784507a0226a9f] default-context: Do not allow restoring pushed gstates
git bisect bad 6155348966b89a216d2e5ee0b4784507a0226a9f
# good: [e775db35d9306b74867f981a08d253562b15cffd] xcb: Move cairo_xcb_picture_t to cairo-xcb-private.h
git bisect good e775db35d9306b74867f981a08d253562b15cffd
# good: [04ef07ee3bdeab9b2b3d74547214c6735ebb27b3] clip: Embed a single box to avoid a common allocation
git bisect good 04ef07ee3bdeab9b2b3d74547214c6735ebb27b3
# good: [aad2c3dd0f7a512e6d3db087bf94ab53e30e92ed] gl: Use cairo_rectangle_int_t
git bisect good aad2c3dd0f7a512e6d3db087bf94ab53e30e92ed
# skip: [74a86a76a9c32a74d63712b718c90669889820e6] clipper: Detect a incremental change in the general clip-path
git bisect skip 74a86a76a9c32a74d63712b718c90669889820e6
# good: [89cb071d14f02f062d6960b9c49bced8212d032b] script: Initialize recording extents
git bisect good 89cb071d14f02f062d6960b9c49bced8212d032b
# skip: [7c6e1b8db89420fa69ebd8d2ba12dde1aeb47ea8] xcb: Short-circuit multiplying the alpha mask by 1.0
git bisect skip 7c6e1b8db89420fa69ebd8d2ba12dde1aeb47ea8
# bad: [d2ea8bd070f3bff87ec952af490093375cbc1f05] build: Respect CFLAGS and LIBS env settings
git bisect bad d2ea8bd070f3bff87ec952af490093375cbc1f05
# skip: [4032c86127a5f1658c2bddbf1c642fb62e21a208] fallback: Prevent recursion when combining with the clip
git bisect skip 4032c86127a5f1658c2bddbf1c642fb62e21a208
# bad: [0660f62fe5ffdd86eedf8262f3ac50fb039491c1] gl: Rectilinear fast path
git bisect bad 0660f62fe5ffdd86eedf8262f3ac50fb039491c1
# skip: [2787ef4e73fe668edbb938aa82ab569789a39116] pattern: Complete the list of possible pattern errors
git bisect skip 2787ef4e73fe668edbb938aa82ab569789a39116
# bad: [488c94220d46f10a0fa8fa4dfb1beda88d80988e] ps: Apply the clip reduction techniques from pdf
git bisect bad 488c94220d46f10a0fa8fa4dfb1beda88d80988e
# skip: [6ec24760b32da5ca1f0a67f6ff344b91f8bc020c] device: Flush on a finished device is a no-op
git bisect skip 6ec24760b32da5ca1f0a67f6ff344b91f8bc020c
# good: [29a302cc4bc7734129bca8fe242dc7ecb626895d] clipper: Also need to guard against the incoming clip being NULL
git bisect good 29a302cc4bc7734129bca8fe242dc7ecb626895d
# bad: [6ed0c6224b763e9cbcfb0d46f188883d8425bab5] pdf: Remove redundant clip regions
git bisect bad 6ed0c6224b763e9cbcfb0d46f188883d8425bab5