Chris Wilson writes:
>> Did you see Taekyun Kim's reply to this? He proposes this API:
>>
>> pixman_image_composite_xrender(op, src, shape, clip, dst)
>> pixman_image_composite_bounded(op, src, shape, clip, dst)
>> pixman_image_composite_simple(op, src, shape, clip, dst)
>>
>> in
Chris Wilson writes:
> On Thu, 15 Sep 2011 13:26:09 +0200, sandm...@cs.au.dk (=?utf-8?Q?S=C3=B8ren?=
> Sandmann) wrote:
>> Chris Wilson writes:
>>
>> >> Did you see Taekyun Kim's reply to this? He proposes this API:
>> >>
>> >> pixman_image_composite_xrender(op, src, shape, clip, dst)
>>
Jon TURNEY writes:
> libutils depends on pixman and so needs to preceed it in the link order
>
> Found by tinderbox, see [1]
>
> [1] http://tinderbox.freedesktop.org/builds/2011-09-15-0005/logs/pixman/#build
Pushed.
Soren
___
Pixman mailing list
Pixm
Soeren Sandmann writes:
> Soeren Sandmann writes:
>
>> Chris Wilson writes:
>>
>>> The final patch is a little scary though. Was that motivated by
>>> observation of the generated assembly or through performance testing?
>>
>> It was motivated by looking at the generated assembly, but I'll run
Hi,
> From: Taekyun Kim
>
> Too short scanlines can cause repeat handling overhead and optimized
> pixman composite functions usually process a bunch of pixels in a
> single loop iteration it might be beneficial to pre-extend source
> scanlines. The temporary buffers will usually reside in cache,
Chris Wilson writes:
> A common condition (in benchmarks at least) are single pixel wide
> vertical lines. This is the worst-cast behaviour for the fast-paths like
> SSE2 which require long runs in order to offset the ramp up cost of
> aligning and using the SIMD registers.
>
> For example, box-o
Matt Turner writes:
> b8r8g8 is apparently no longer supported sometime since this code was
> commented.
All three patches look good to me.
If you were benchmarking the over_x888_8_() operation, is it still
slower than the general code?
Soren
__
Chris Wilson writes:
> Cairo, for instance, has a subtly different interpretation of how to use
> the mask in combination with the Porter-Duff operators. In particular,
> it has the notion of a clip mask, for which pixman has no parallel.
A question I have is, how much of a speedup is this reall
Hi,
> Pixman is used as a bottom-layer backend for S/W rendering for various
> applications and majority of the time is spent by pixman for rendering
> intensive work. So providing performance information can help people
> figure out hot spots and we can do optimizations based on the result.
>
> T
Taekyun Kim writes:
> +#else
> +
> +typedef int pixman_mutex_t;
> +
> +# define PIXMAN_MUTEX_INIT(mutex) do while (0) {}
> +# define PIXMAN_MUTEX_LOCK(mutex) do while (0) {}
> +# define PIXMAN_MUTEX_UNLOCK(mutex)do while (0) {}
> +# define PIXMAN_MUTEX_FINI(mutex) do while (0)
Taekyun Kim writes:
> From: Taekyun Kim
>
> It might be useful to know the type of an implementation. We can
> gather profile data or control priority of individual composite
> function.
Wouldn't it be simpler to simply store the name of the implementation as
a string? I don't think the impleme
Taekyun Kim writes:
> diff --git a/pixman/pixman-perf-stat.c b/pixman/pixman-perf-stat.c
> new file mode 100644
> index 000..2986777
> --- /dev/null
> +++ b/pixman/pixman-perf-stat.c
> @@ -0,0 +1,541 @@
> +/*
> + * Copyright © 2011 SCore Corporation
> + *
> + * Permission is hereby granted, f
From: Søren Sandmann Pedersen
Fixes bug 41257.
---
test/scaling-helpers-test.c |1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/test/scaling-helpers-test.c b/test/scaling-helpers-test.c
index a8b94b0..33ec47c 100644
--- a/test/scaling-helpers-test.c
+++ b/test/scaling
Taekyun Kim writes:
> On 09/27/2011 11:14 PM, Søren Sandmann wrote:
>
> Does Siarhei and/or Nokia own any copyright on this code?
>
>
> These patches are based on Siarhei's work and I took lots of code from
> the work and modified it. How should I write copyright n
Michel Dänzer writes:
> On Die, 2011-10-04 at 15:52 -0700, Aaron Plattner wrote:
>> This caused a performance regression because previously, miTrapezoids
>> would render its mask image into a scratch pixmap and then perform the
>> final composite using a possibly-accelerated RENDER Composite c
Matt Turner writes:
> I'm not able to reproduce it, but I have two reports that iwMMXt is
> incorrectly detected on x86 and amd64. This happens because it uses the
> standard _mm_* intrinsic functions. It should fail on x86 and amd64
> because configure will use -march=iwmmxt to compile the test,
Taekyun Kim writes:
> Primitive bilinear interpolation code is reusable to implement other
> bilinear functions.
These look good to me.
Remember that if your patches pass make check, and nobody says anything
for some reasonable amount of time, just go ahead and push them to
master.
Thanks,
So
.tar.gz
SHA1: 84f4200f13e889a58985cfbc2b4fd108bd251fe4 pixman-0.23.6.tar.bz2
GPG signature:
http://cairographics.org/snapshots/pixman-0.23.6.tar.gz.sha1.asc
(signed by Søren Sandmann Pedersen
Git:
git://git.freedesktop.org/git/pixman
tag: pixman-0.23.6
Log
唐博 writes:
> How can pixman achieve 2.5D effect, it's affine matirx is 3*3. If add
> Z axis coordinate, I found that it should apply 4*4 matrix.
You may be interested in this branch:
http://cgit.freedesktop.org/~sandmann/pixman/log/?h=checkerboard
which contains two demo programs, one that
Hi,
The following patches contain some cleanups in the gradient walker,
and a change to make it use "sentinel" color stops before and after
the user-specified stops.
Thanks,
Soren
___
Pixman mailing list
Pixman@lists.freedesktop.org
http://lists.freed
From: Søren Sandmann Pedersen
The type of pos in gradient_walker_reset() and gradient_walker_pixel()
is pixman_fixed_48_16_t and not pixman_fixed_32_32. The types of the
positions in the walker struct are pixman_fixed_t and not int32_t, and
need_reset is a boolean, not an integer. The spread
From: Søren Sandmann Pedersen
When storing the gradient stops internally, allocate two more stops,
one before the beginning of the stop list and one after the
end. Initialize those stops based on the repeat property of the
gradient.
This allows gradient_walker_reset() to be simplified because
From: Søren Sandmann Pedersen
The code that searches for the closest color stop to the given
position is duplicated across the various repeat modes. Replace the
switch with two if/else constructions, and put the search code between
them.
---
pixman/pixman-gradient-walker.c | 93
Francois Tigeot writes:
> I have recently found a text corruption issue with the latest pixman version
> packaged in pkgsrc.
>
> The full pkgsrc bug report is visible here:
> http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=45509
>
> And here is a direct link to a screen shot:
> http://d
Francois Tigeot writes:
>> Pixman 0.20.0 and earlier contained a workaround for a bug in the X
>> server version 1.6 and earlier, that could produce symptoms like the one
>> in the screen shot. In 0.22.0 this workaround was removed.
>>
>> So if you are using a 1.6 X server or earlier, you'll pro
From: Søren Sandmann Pedersen
In pixman-noop.c and pixman-sse2.c, we are accessing
image->bits.width/height without first making sure the image is a bits
image. The warning is harmless because we never act on this
information without checking that the image is a8r8g8b8, but valgrind
does w
: 549ed97ef809ff1a71e2cd9d709fe910d1037e8e pixman-0.23.8.tar.bz2
GPG signature:
http://cairographics.org/snapshots/pixman-0.23.8.tar.gz.sha1.asc
(signed by Søren Sandmann Pedersen
Git:
git://git.freedesktop.org/git/pixman
tag: pixman-0.23.8
Log:
Søren Sandmann Pedersen (7
Siamashka,
Søren Sandmann, and Taekyun Kim.
Please report bugs to pixman@lists.freedesktop.org or file them at
https://bugs.freedesktop.org/enter_bug.cgi?product=pixman
Søren
Website:
http://pixman.org/
tar.gz:
http://cairographics.org/releases/pixman-0.24.0.tar.gz
Bobby Salazar writes:
> This patch adds runtime detection support for the ARM NEON fast paths
> for code compiled with the Android NDK. This is the only code change
> needed to enable the ARM NEON pixman fast paths for the ever growing
> Android platform (200 million+ smartphones, tablets, etc.).
Bobby Salazar writes:
> Would you like me to make these changes then and resubmit the patch?
> Or is this something you were planning on doing before you commit the
> change?
I'd like you to make the changes and resubmit.
Thanks,
Soren
___
Pixman mai
Bobby Salazar writes:
> Here is a new path. Please let me know what you think.
Looks good - pushed to master.
Thanks,
Soren
___
Pixman mailing list
Pixman@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pixman
From: Søren Sandmann Pedersen
These functions simply reset the region to empty. They are equivalent
to
pixman_region_fini (®ion);
pixman_region_init (®ion);
---
pixman/pixman-region.c | 10 ++
pixman/pixman.h|2 ++
2 files changed, 12 insertions(+), 0
From: Søren Sandmann Pedersen
This patch modifies demos/gradient-test to display a bug in gradients
with a repeat mode of NONE. Instead of being transparent as it should,
side to the left of the gradient will be a fade from red to
transparent, rendered on top of a green background.
---
demos
From: Søren Sandmann Pedersen
ec7c9c2b6865b48b8bd14e4 introduced a bug where NONE gradients would be
misrendered, causing the area outside the gradient to be treated as a
long fade to transparent.The problem was that a check for positions
outside the gradients were dropped in favor of relying on
The following patches fix various cases of signed integer overflow,
which is undefined in C. The first patch was a result of
https://bugs.freedesktop.org/show_bug.cgi?id=43906
in which Siarhei pointed out that clang miscompiles pixman due to a
signed overflow in some of the PDF operators. He
From: Søren Sandmann Pedersen
In the macros for the PDF blend modes, two comp1_t variables are
multiplied together and then used as if the result were a
comp4_t. When comp1_t is a uint8_t, this is fine because they are
promoted to int, and the product of two uint8_ts fits in an
int. However
From: Søren Sandmann Pedersen
nx and e->dy are both 32 bit quantities, so a cast is needed to make
sure their product is 64 bit before subtracting it from a 64 bit
quantity.
---
pixman/pixman-trap.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/pixman/pixman-trap.
From: Søren Sandmann Pedersen
In pixman-fast-path.c: (1 << 31) - 1 causes a signed overflow, so
change to (1U << n) - 1.
In pixman-image.c: The check for whether m10 == -m01 will overflow
when -m01 == INT_MIN. Instead just check whether the variables are 1
and -1.
In pixman-utils
From: Søren Sandmann Pedersen
Otherwise, when comp1_t is 16 bits wide, we can end up with a signed
integer overflow.
---
pixman/pixman-combine.h.template |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/pixman/pixman-combine.h.template b/pixman/pixman-combine.h.template
From: Søren Sandmann Pedersen
When a trapezoid has a top/bottom that is above/below the left/right
edges, degenerate trapezoids become possible. For example the edge
could be very short and close to horizontal. If the bottom edge is far
below the bottom point of such a short edge, the result is
Colin Walters writes:
> http://people.gnome.org/~walters/docs/build-api.txt
Pushed to master.
Thanks,
Soren
___
Pixman mailing list
Pixman@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pixman
From: Søren Sandmann Pedersen
A parenthesis was misplaced so that the size argument to memcmp() was
always 0. The bug is harmless except that the flags might be
unnecessarily recomputed in some cases.
A bug reporting this in Mozilla's fork was discovered here:
https://bugzilla.mozill
From: Søren Sandmann Pedersen
We need to compute floor (a/b * 255 + 0.5), not floor (a / b * 255),
so add b/2 to the numerator in the DIV_UNc() macro.
---
pixman/pixman-combine.h.template |2 +-
test/blitters-test.c |2 +-
2 files changed, 2 insertions(+), 2 deletions
From: Søren Sandmann Pedersen
There is a bug where the red channel of the alpha map of the
destination image is used instead of the red channel of the
destination image itself.
---
test/alphamap.c | 85 +++
1 files changed, 79 insertions
From: Søren Sandmann Pedersen
The alpha channel from the alpha map must be inserted as the new alpha
channel when a scanline is fetched from an image. Previously the alpha
map would overwrite the buffer instead. This wasn't caught be the
alpha map test because it would only verify tha
From: Søren Sandmann Pedersen
Add a new function _pixman_implementation_lookup_combiner() that will
find a usable combiner given an operator and information about whether
the combiner should apply component alpha and whether it should be 64
bit.
In pixman-general.c use this function to look up
From: Søren Sandmann Pedersen
When making the copy of the destination, do so separately for the
image and the alpha map. This ensures that the alpha channel of the
alpha map will be different from the alpha channel of the actual
image.
Previously, orig_dst would be copied onto dst along with
From: Søren Sandmann Pedersen
---
test/composite.c | 36
test/utils.c | 30 ++
test/utils.h |9 +
3 files changed, 39 insertions(+), 36 deletions(-)
diff --git a/test/composite.c b/test/composite.c
index
Hi,
The following patches add a new "pixel_checker_t" object to the
test/utils.[ch] and port the composite test over to use it.
The pixel_checker_t object is initialized with a format and can then
be used to check that pixels in this format are within an acceptable
deviation relative to a "perfec
From: Søren Sandmann Pedersen
Add a new pixel_checker_t object to test/utils.[ch]. This object
should be initialized with a format and can then be used to check
whether a given "real" pixel in that format is close enough to a
"perfect" pixel given as a double precisi
From: Søren Sandmann Pedersen
And do the rounding from float to int in the same way cairo does: by
multiplying with (1 << width), then subtracting one when the input was 1.0.
---
test/composite.c |8
test/utils.c | 34 --
test/u
From: Søren Sandmann Pedersen
Also make some tweaks to the way the errors are printed.
---
test/composite.c | 290 ++
1 files changed, 95 insertions(+), 195 deletions(-)
diff --git a/test/composite.c b/test/composite.c
index 201c5b8..48bde9c
Hi,
Thanks for the patch. The main comment I have is about being precise
that this is about DSPr2 and not r1. This has some consequences:
- I think a consistent string "dspr2" should be used to refer to this
functionality. Ie., the files should be called pixman-mips-dspr2.[ch],
the functions
Detection Support For ARM NEON
Colin Walters (1):
autogen.sh: Support GNOME Build API
Naohiro Aota (1):
Don't use non-POSIX test
Søren Sandmann Pedersen (7):
Post-release version bump to 0
Hi,
The following patch reverts 259d46168c0f2, which was a change that made
trapezoids like this one invalid:
-- top
\
\/
left right
\
ashbb writes:
> When my friend runs the following snippet on his Macbook, it crashes.
>
> require 'cairo'
> require 'pango'
> require 'gtk2'
> win = Gtk::Window.new
> win.set_default_size 300, 300
> canvas = Gtk::Layout.new
> surface = Cairo::ImageSurface.new Cairo::FORMAT_ARGB32, 3
Bobby Salazar writes:
> This patch adds runtime detection support for the ARM NEON fast paths
> for code compiled with the iOS SDK.
>
> Please send comments to me directly as I am not subscribed to the
> list.
The patch looks fine to me; if noone objects, I'll merge it in a couple
of days.
Did
Søren Sandmann Pedersen (3):
Post-release version bump to 0.24.3
Revert "Reject trapezoids where top (botttom) is above (below)
the edges"
Pre-release version bump to 0.24.4
___
Pixman mailing l
Matt Turner writes:
> Although not part of the original MMX instruction set, both SSE and
> AMD's Extended 3DNow! both provide the pshufw instruction.
>
> ARM iwMMXt also has an equivalent instruction, as do the Loongson
> Multimedia Instructions.
>
> We can simplify the expand_alpha, expand_alph
sandm...@cs.au.dk (Søren Sandmann) writes:
> Matt Turner writes:
>
>> Although not part of the original MMX instruction set, both SSE and
>> AMD's Extended 3DNow! both provide the pshufw instruction.
>>
>> ARM iwMMXt also has an equivalent instructio
Nemanja Lukic writes:
> From: Nemanja Lukic
>
> MIPS DSP instruction set extensions
> ---
> configure.ac | 42
> pixman/Makefile.am | 13
> pixman/pixman-cpu.c| 66
>
> pixman
"Lukic, Nemanja" writes:
> Run-time detection of the DSP extensions is left as it was in the
> original patch. Yes, there is no easy way to run-time distinguish if
> CPU supports DSPr1 or DSPr2. In case of "ddsp" string in the cpuinfo,
> we don't want to return TRUE. TRUE should be returned only
Jeremy Huddleston writes:
> Can you give me a bit more specifics? Do you have a reduced test case
> that you can show me of the problems you are having? Have you opened
> a bug report on llvm's bugzilla? Have you filed a radar with Apple's
> bug tracker?
As I understand it:
The reduced test
Jeremy Huddleston writes:
> I noticed this message in the release notes for 0.24.4:
> """
> This release also contains some basic support for using the NEON
> acceleration on iOS, although actually building pixman on that platform
> remains difficult.
> """
>
> I was curious about what was so dif
Matt Turner writes:
> The current runtime test checked that MMX extensions were available
> before executing code in pixman-mmx.c, even though no MMX extensions
> were used.
>
> The new --{enable,disable}-mmxext flag enables the use of MMX extensions
> in pixman-mmx.c. This allows us to use a few
Matt Turner writes:
>> Are there any interesting chips without MMX extensions? Pentium MMX
>> definitely is not interesting. If there aren't, I'd rather just get rid
>> of the ifdefs and unconditionally require MMX-ext to be present.
>
> Not really, but it doesn't seem to be much code at all to s
Matt Turner writes:
> On Sun, Feb 19, 2012 at 5:23 PM, Søren Sandmann wrote:
>> Matt Turner writes:
>>
>>>> Are there any interesting chips without MMX extensions? Pentium MMX
>>>> definitely is not interesting. If there aren't, I'd rather ju
Matt Turner writes:
> +/* We have to compile with -msse to use xmmintrin.h, but that causes SSE
> + * instructions to be generated that we don't want. Just duplicate the
> + * functions we want to use. */
> +extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__,
> __artificial_
Matt Turner writes:
> v4: use inline assembly since the intrinsic needs SSE or 3DNowA
> - we can't use -msse, since it'll cause more SSE instructions to be
> generated that we don't want
> - there is no -m3dnowa flag (anymore?)
Both patches look good to me. Just one nitpick:
From: Søren Sandmann Pedersen
It used to be slower than the generic code (with the gcc that was
current in 2007) that doesn't seem to be the case anymore:
over_x888_8_ = L1: 22.97 L2: 22.88 M: 22.27 ( 5.29%) HT: 18.30 VT:
15.81 R: 15.54 RT: 10.35 ( 131Kops/s)
over_x888_8
From: Søren Sandmann Pedersen
Also a few minor formating fixes.
---
pixman/pixman-mmx.c | 18 +-
1 files changed, 5 insertions(+), 13 deletions(-)
diff --git a/pixman/pixman-mmx.c b/pixman/pixman-mmx.c
index 609e532..a3500ce 100644
--- a/pixman/pixman-mmx.c
+++ b/pixman
Matt Turner writes:
> This looks like an LLVM/clang bug.
>
> The 'K' constraint is documented here
> http://gcc.gnu.org/onlinedocs/gcc/Machine-Constraints.html#Machine-Constraints
> as an 8-bit immediate.
Maybe clang just doesn't realize that the __N is compile-time
constant. If so, changing _mm
Matt Turner writes:
> The load/store functions act as a boundary between the integer
> and vector registers.
>
> Consider code like
> uint32_t d = *dst;
> __m64 vdest = load(d);
>
> The program loads 4 bytes of data into an integer register and then
> transfers it to the vecto
From: Søren Sandmann Pedersen
There are several issues with the Clang compiler and pixman-mmx.c:
- When not optimizing, it doesn't seem to recognize that an argument
to an __always_inline__ function is compile-time constant. This
results in this error being produced:
fatal
Jeremy Huddleston writes:
> I'd rather check what it chokes on rather than just erroring out if
> it's __clang__ ... that way when it is fixed, newer versions will
> "just work"
Feel free to send such patches.
Soren
___
Pixman mailing list
Pixman@lis
I have merged the patches to master.
Thanks,
Soren
Nemanja Lukic writes:
> Per previous code review:
>
> Run time detection is changed so that "MIPS 74K" instead of "MIPS 74Kc" string
> is searched in /proc/cpuinfo. I used 74Kc as search string, since all boards I
> have, although Kf (like 24K
From: Søren Sandmann Pedersen
With this, it becomes possible to do
PIXMAN_DISABLE="sse2 mmx" some_app
which will run some_app without SSE2 and MMX enabled. This is useful
for benchmarking, testing and narrowing down bugs.
---
pixman/pixman-cp
Andrea Canciani writes:
> I think that strstr might cause substrings to also disable unintended
> backends.
> This would already happen for "mmx" vs "arm-iwmmxt".
> Is this intentional?
> Although in this specific case, it might be ok, I believe that it
> might lead to unexpected behavior as oth
From: Søren Sandmann Pedersen
With this, it becomes possible to do
PIXMAN_DISABLE="sse2 mmx" some_app
which will run some_app without SSE2 and MMX enabled. This is useful
for benchmarking, testing and narrowing down bugs.
The current list of implementations that can b
From: Søren Sandmann Pedersen
This should be a bit faster because it can reuse the scanline on each iteration.
---
pixman/pixman-bits-image.c | 28
pixman/pixman-noop.c | 27 +++
2 files changed, 27 insertions(+), 28 deletions
Matt Turner writes:
> On Tue, Feb 28, 2012 at 1:20 PM, Lukic, Nemanja wrote:
>> Good point.
>> Only problem there is that address on which we are storing might not be
>> 4-byte aligned (since we are doing memset on array of uint16_t).
>> But *dest can be aligned (with simple check) before the m
Matt Turner writes:
> +/* vectors are stored in 64-bit floating-point registers */
> +typedef double __m64;
> [...]
> @@ -114,11 +118,14 @@ _mm_shuffle_pi16 (__m64 __A, int8_t const __N)
> * uint64_t and __m64 values, then define USE_CVT_INTRINSICS.
> * If __m64 and uint64_t values can just
Matt Turner writes:
> To be used by the next commit.
>
> Signed-off-by: Matt Turner
> ---
> pixman/pixman-mmx.c | 17 +
> 1 files changed, 17 insertions(+), 0 deletions(-)
>
> diff --git a/pixman/pixman-mmx.c b/pixman/pixman-mmx.c
> index 8b55b32..63edf18 100644
> --- a/pixman
Matt Turner writes:
> diff --git a/pixman/pixman-cpu.c b/pixman/pixman-cpu.c
> index 92942b2..1fc9faa 100644
> --- a/pixman/pixman-cpu.c
> +++ b/pixman/pixman-cpu.c
> @@ -690,7 +690,9 @@ _pixman_choose_implementation (void)
> if (pixman_have_arm_iwmmxt ())
> imp = _pixman_implementatio
From: Søren Sandmann Pedersen
The MEMCPY_WRAPPED and ACCESS macros are not used anymore.
---
pixman/pixman-accessor.h | 15 ---
1 files changed, 0 insertions(+), 15 deletions(-)
diff --git a/pixman/pixman-accessor.h b/pixman/pixman-accessor.h
index 90c8ea7..8e0b036 100644
--- a
From: Søren Sandmann Pedersen
The macros related to palette entries:
RGB15_TO_ENTRY,
RGB24_TO_ENTRY,
RGB24_TO_ENTRY_Y
are not used anywhere.
---
pixman/pixman-access.c |9 -
1 files changed, 0 insertions(+), 9 deletions(-)
diff --git a/pixman/pixman-access.c b/pixman/pixman
Nemanja Lukic writes:
> From: Nemanja Lukic
>
> Performance numbers before/after on MIPS-74kc @ 1GHz
Pushed to master.
Thanks,
Søren
___
Pixman mailing list
Pixman@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pixman
/pixman-0.25.2.tar.gz.sha1.asc
(signed by Søren Sandmann Pedersen
Git:
git://git.freedesktop.org/git/pixman
tag: pixman-0.25.2
Log:
Alan Coopersmith (2):
Make mmx code compatible with Solaris Studio 12.3 compilers
Just use xmmintrin.h when
Nemanja Lukic writes:
> [ # ] backend test min(s) median(s) stddev. count
> [ # ]image: pixman 0.25.3
> [ 0]imagexfce4-terminal-a1 138.223 139.070 0.33%6/6
> [ # ] image16: pixman 0.25.3
> [ 0] image16xfce4-terminal-a1 132.76
Leon Woestenberg writes:
> What is the purpose of color_to_pixel()? Not all formats are supported in
> there, why not?
The function is used in pixman_image_fill_boxes() to convert a
full-precision pixman_color_t to a value than can be directly written to
a pixman image.
If a format is not sup
Leon Woestenberg writes:
> when is it required to write a specific accessor function, and when can
> MAKE_ACCESSORS be used?
MAKE_ACCESSORS() should work when the format type is not a YUV format,
and when the format does not have channels wider than 8 bits.
Soren
__
Siarhei Siamashka writes:
> optimizations any more. Anyway, the purpose of running benchmarks is
> to confirm the performance improvement, so I guess this trace is also
> fine even though it does not behave as originally intended.
Agreed, pushed to master.
Thanks,
Søren
___
Pushed this series to master.
Thanks,
Soren
___
Pixman mailing list
Pixman@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pixman
From: Søren Sandmann Pedersen
In 32 bit mode the "=A" constraint refers to the register pair
edx:eax, but according to GCC developers this is not the case in 64
bit mode, where it refers to "rax".
Hence, using "=A" for rdtsc is incorrect in 64 bit mode.
S
Matt Turner writes:
>> static inline uint64_t
>> oil_profile_stamp_rdtsc (void)
>> {
>> - uint64_t ts;
>> + uint32_t hi, lo;
>>
>> - __asm__ __volatile__ ("rdtsc\n" : "=A" (ts));
>> - return ts;
>> + __asm__ __volatile__ ("rdtsc\n" : "=a" (lo), "=d" (hi));
>> +
>> + return lo
Fan Chun-wei writes:
> This is a patch to include xmmintrin.h on Visual C++ in pixman-mmx.c
> as this is where _mm_shuffle_pi16 and _mm_mulhi_pu16 are defined on
> that compiler, and the definitions of those functions provided in
> pixman-mmx.c use gcc-specific items which Visual C++ does not lik
Jeremy Huddleston writes:
> On Mar 14, 2012, at 16:39, Matt Turner wrote:
>
>> This causes test failures
>>
>> /bin/sh: line 5: 10408 Segmentation fault ${dir}$tst
>> FAIL: scaling-test
>> /bin/sh: line 5: 10429 Floating point exception${dir}$tst
>> FAIL: affine-test
>> Test 629 fa
Most of this series look good, but a few comments:
- Considering the fact that all the intrinsics are reimplemented in
inline assembly, do you actually need -march=loongson?
- Should the header file loongson-mmintrin.h be added to
libpixman_loongson_mmi_la_SOURCES? Otherwise it might not show
Dimiter 'malkia' Stanev writes:
> I'm compiling with Windows WDK (7.1) which is ~ 2008 compiler. I had
> to replace __inline__ with force_inline:
Makes sense. If you want it in master, please send a patch with a commit
log, for example using git send-email.
Søren
__
The following patches add two new demo programs:
- quad2quad, which will compute the projective transformation that
maps one quadrilateral into another
- checkerboard, which shows a checkerboard being projectively
transformed.
There is nothing earthshattering about either one, but they migh
201 - 300 of 887 matches
Mail list logo