[cairo-bugs] [Bug 73580] cairo-perf-trace failure

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sat Jan 17 06:57:54 PST 2015


--- Comment #18 from Andrea Canciani <ranma42 at gmail.com> ---
(In reply to Emanuele Aina from comment #17)
> > If possible, I would also try to find out (and document in a comment) why _emit_surface_op() should not be used in similar/similar-image.
> I honestly don't know, _emit_surface_op() calls into _emit_current() (by way
> of _emit_surface()) which seems to be willing to roll the stack up to the
> requested surface instead of using indexed addressing or even 'dup'.
> I'm not sufficiently intimate with the cairo interpreter stack machine to
> understand the two behaviours, but they seem quite different. :/

TL;DR: Let's merge patches 1&2 and ask Chris if it is safe to use _emit_surface

Each patch in the patchset is:
Tested-By: Andrea Canciani <ranma42 at gmail.com>

I confirm that all of the patches work in my environment and in particular that
the first one fixes this bug.

The first 2 patches are
Reviewed-By: Andrea Canciani <ranma42 at gmail.com>

The first patch fixes this bug, it is quite straightforward, provides a
complete explanation in the commit message and does not affect unrelated code

The second one tries to reduce code complexity by restoring the similarity
between two functions

Before merging the third one, I would try to get a more complete understanding
of the cairoscript generator...

For example, inside cairo_surface_create_for_rectangle() there is a code
fragment that is suspiciously similar to the one which was in the old version
of cairo_surface_create_similar[_image]().
Would this be the right fragment to abstract?
(I think the concern that Bryce expressed on IRC might be related to this)

Even better, should we just use _emit_surface[_op]()?
In some functions, a comment explains why _emit_surface should not be used
(example: cairo_surface_mark_dirty() in trace.c), but the one which are
involved in this bug do not say anything on this.

You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cairographics.org/archives/cairo-bugs/attachments/20150117/f67f8f12/attachment.html>

More information about the cairo-bugs mailing list