[Pixman] [PATCH 0/7] lowlevel-blt-bench test pattern parser
ppaalanen at gmail.com
Mon Apr 13 04:31:35 PDT 2015
From: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
this is a retake of Ben Avison's series starting with
Of that series, the first patch has landed. Here I am replacing patches 3
and 4. Patch 2 is included in my series as is, with my R-b added. I am leaving
patch 5 of that series for a bit later, including some other clean-ups to
The point of my series is to try and take into accout Søren's review comments
> 0002: lowlevel parse Needs work
> 0003: affine benchmarker Needs work
> Both of these could benefit from taking the support for
> format/operator parsing and printing in check-format.c and moving it
> to utils.[ch], perhaps extended to deal with strings like 'none' etc.
> Also some coding style issues. (Use a typedef for structs, don't
> define a struct on a single line, braces around statements that span
> multiple lines -- see CODING_STYLE for more information.
This series tries to do just that: move the parsing/printing code to utils and
extend it to be usable from lowlevel-blt-bench.
Apart from restructuring, there is one significant(?) difference to Ben's
patches: for a solid mask, Ben used a8r8g8b8, but my code uses a8. I hope this
is fine in general, but should we also add a condition, that if a test has CA
flag and a solid mask, then that mask needs to be a8r8g8b8?
None of the existing tests has a solid mask for CA tests. I'm not sure how much
it makes sense.
I have tested this series with the usual 'make check' after each commit, plus
verified that the output of check-formats (the lists of operators and formats)
is the same before and after.
This series allows to attempt even impossible tests like src_8888_n. A solid
destination is obviously nonsense, and triggers a segfault:
NULL function pointer
To me it seems that Pixman does not validate its arguments well enough, but
that's off-topic here. I don't think this kind of validation would belong in
lowlevel-blt-bench but libpixman itself.
Ben, when we eventually get to the actual optimization patches, I expect I will
reproduce the benchmarks myself while reviewing. Is that ok?
What do you think of this series?
Ben Avison (1):
test: Move format and operator string functions to utils.[ch]
Pekka Paalanen (6):
test/utils: support operator name aliases
test/utils: support format name aliases
test/utils: add operator aliases for lowlevel-blt-bench
test/utils: add format aliases used by lowlevel-blt-bench
lowlevel-blt-bench: add test name parser and self-test
lowlevel-blt-bench: use the test pattern parser
test/check-formats.c | 192 -------------------
test/lowlevel-blt-bench.c | 295 ++++++++++++++++++++++++++---
test/utils.c | 463 ++++++++++++++++++++++++++++++++--------------
test/utils.h | 12 ++
4 files changed, 608 insertions(+), 354 deletions(-)
More information about the Pixman