Commit Graph

1850 Commits

Author SHA1 Message Date
Cyril Brulebois
69b4ffdbc9 Upload to experimental. 2011-07-05 01:37:39 +02:00
Cyril Brulebois
351ed700c3 Enable parallel building (by passing --parallel to dh $@). 2011-07-05 01:36:48 +02:00
Cyril Brulebois
af6efdfd20 Bump changelogs. 2011-07-04 22:47:03 +02:00
Cyril Brulebois
ff92434b39 Merge branch 'upstream-experimental' into debian-experimental 2011-07-04 22:45:55 +02:00
Søren Sandmann Pedersen
6c4001a0e1 Pre-release version bump to 0.23.2 2011-07-04 08:13:19 -04:00
Taekyun Kim
eff7c8efab Bilinear REPEAT_NORMAL source line extension for too short src_width
To avoid function call and other calculation overhead, extend source
scanline into temporary buffer when source width is too small.
Temporary buffer will be repeatedly accessed, so extension cost is
very small due to cache effect.
2011-06-28 23:20:32 +09:00
Taekyun Kim
828794d328 Enable REPEAT_NORMAL bilinear fast path entries 2011-06-28 23:20:29 +09:00
Taekyun Kim
1161b3f9ed ARM: Add REPEAT_NORMAL functions to bilinear BIND macros
Now bilinear template support REPEAT_NORMAL, so functions for that
is added to PIXMAN_ARM_BIND_SCALED_BILINEAR_ macros. Fast path
entries are not enabled yet.
2011-06-28 23:20:27 +09:00
Taekyun Kim
ebd2f06d96 sse2: Declare bilinear src_8888_8888 REPEAT_NORMAL composite function
Now bilinear template support REPEAT_NORMAL, so declare composite
functions using it. Function is just declared not used yet.
2011-06-28 23:20:25 +09:00
Taekyun Kim
7e22b2f782 REPEAT_NORMAL support for bilinear fast path template
The basic idea is to break down normal repeat into a set of
non-repeat scanline compositions and stitching them together.

Bilinear may interpolate last and first pixels of source scanline.
In this case, we can use temporary wrap around buffer.
2011-06-28 23:20:23 +09:00
Taekyun Kim
2f025bad43 Replace boolean arguments with flags for bilinear fast path template
By replacing boolean arguments with flags, the code can be more
readable and flags can be extended to do some more things later.

Currently following flags are defined.

FLAG_NONE
    - No flags are turned on.

FLAG_HAVE_SOLID_MASK
    - Template will generate solid mask composite functions.

FLAG_HAVE_NON_SOLID_MASK
    - Template will generate bits mask composite functions.

FLAG_HAVE_SOLID_MASK and FLAG_NON_SOLID_MASK should be mutually
exclusive.
2011-06-28 23:20:21 +09:00
Søren Sandmann
4d4d1760e8 test: Make fuzzer-find-diff.pl executable 2011-06-25 10:17:50 -04:00
Søren Sandmann
ece8d13bf7 ARM: Fix two bugs in neon_composite_over_n_8888_0565_ca().
The first bug is that a vmull.u8 instruction would store its result in
the q1 register, clobbering the d2 register used later on. The second
is that a vraddhn instruction would overwrite d25, corrupting the q12
register used later.

Fixing the second bug caused a pipeline bubble where the d18 register
would be unavailable for a clock cycle. This is fixed by swapping the
instruction with its successor.
2011-06-25 10:17:05 -04:00
Søren Sandmann Pedersen
5715a394c4 blitters-test: Make common formats more likely to be tested.
Move the eight most common formats to the top of the list of image
formats and make create_random_image() much more likely to select one
of those eight formats.

This should help catch more bugs in SIMD optimized operations.
2011-06-25 10:17:05 -04:00
Andrea Canciani
d815a1c54a Silence autoconf warnings
Autoconf 2.86 reports:

warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body

Every code fragment must be wrapped in [AC_LANG_SOURCE([...])]
2011-06-23 10:47:43 +02:00
Søren Sandmann Pedersen
a89f8cfaf1 Replace argumentxs to composite functions with a pointer to a struct
This allows more information, such as flags or the composite region,
to be passed to the composite functions.
2011-06-20 02:03:23 -04:00
Søren Sandmann Pedersen
99e7d8fab5 In pixman-general.c rename image_parameters to {src, mask, dest}_image
All the fast paths generally use these names as well.
2011-06-12 16:45:57 -04:00
Søren Sandmann Pedersen
4d713e3120 Replace instances of "dst_*" with "dest_*"
The variables in question were dst_x, dst_y, dst_image. The majority
of _x and _y uses were already dest_x and dest_y, while the majority
of _image uses were dst_image.
2011-06-12 16:45:57 -04:00
Julien Cristau
9d5bef2fcf Upload to unstable 2011-06-12 17:02:08 +02:00
Julien Cristau
90f71ced40 Bump changelogs 2011-06-12 17:01:38 +02:00
Julien Cristau
045dd15b6a Merge tag 'pixman-0.22.0' into debian-unstable 2011-06-12 17:00:36 +02:00
Julien Cristau
105c2e8664 Bump Standards-Version to 3.9.2. 2011-06-12 16:59:43 +02:00
Julien Cristau
3bb65959ee Add changelog entry for multiarch 2011-06-12 16:58:06 +02:00
Julien Cristau
f7a60c64ac Don't ship debug symbols for the udeb 2011-06-12 16:57:28 +02:00
Julien Cristau
94b5f3b6a4 Merge branch 'multiarch' of git.debian.org:/git/pkg-xorg/lib/pixman into debian-unstable
Conflicts:
	debian/control
	debian/rules
2011-06-12 16:55:38 +02:00
Søren Sandmann
6aceb767aa demos: Comment out some unused variables 2011-05-31 18:07:34 -04:00
Søren Sandmann
4abe76432a sse2: Delete some unused variables 2011-05-31 18:07:26 -04:00
Søren Sandmann
5c60e1855b mmx: Delete some unused variables 2011-05-31 18:06:43 -04:00
Andrea Canciani
827e613338 Include noop in win32 builds 2011-05-29 10:02:21 +02:00
Nis Martensen
65b63728cc Fix a few typos in pixman-combine.c.template
Some equations have too much multiplication with alpha.
2011-05-24 10:01:37 -04:00
Søren Sandmann Pedersen
dd449a2a8e Move NOP src iterator into noop implementation.
The iterator for sources where neither RGB nor ALPHA is needed, really
belongs in the noop implementation.
2011-05-19 13:46:56 +00:00
Søren Sandmann Pedersen
ba480882aa Move NULL iterator into pixman-noop.c
Iterating a NULL image returns NULL for all scanlines. We may as well
do this in the noop iterator.
2011-05-19 13:46:56 +00:00
Søren Sandmann Pedersen
a4e984de19 Add a noop src iterator
When the image is a8r8g8b8 and not transformed, and the fetched
rectangle is within the image bounds, scanlines can be fetched by
simply returning a pointer instead of copying the bits.
2011-05-19 13:46:56 +00:00
Søren Sandmann Pedersen
d4fff4a959 Move noop dest fetching to noop implementation
It will at some point become useful to have CPU specific destination
iterators. However, a problem with that, is that such iterators should
not be used if we can composite directly in the destination image.

By moving the noop destination iterator to the noop implementation, we
can ensure that it will be chosen before any CPU specific iterator.
2011-05-19 13:46:50 +00:00
Søren Sandmann Pedersen
13ce88f800 Add a noop composite function for the DST operator
The DST operator doesn't actually do anything, so add a noop "fast
path" for it, instead of checking in pixman_image_composite32().

The performance tradeoff here is that we get rid of a test for DST in
the common case where the operator is not DST, in return for an extra
walk over the clip rectangles in the uncommon case where the operator
actually is DST.
2011-05-19 13:45:59 +00:00
Søren Sandmann Pedersen
8c76235f41 Add a "noop" implementation.
This new implementation is ahead of all other implementations in the
fallback chain and is supposed to contain operations that are "noops",
ie., they don't require any work. For example, it might contain a
"fast path" for the DST operator that doesn't actually do anything or
an iterator for a8r8g8b8 that just returns a pointer into the image.
2011-05-19 13:45:59 +00:00
Andrea Canciani
0f6a4d4588 test: Fix compilation on win32
MSVC complains about uint32_t being used as an expression:

composite.c(902) : error C2275: 'uint32_t' : illegal use of this type
as an expression
2011-05-17 00:29:55 +02:00
Dave Yeo
838c2b593e Check for working mmap()
OS/2 doesn't have a working mmap().
2011-05-09 12:38:44 +02:00
Søren Sandmann Pedersen
c53625a36e Post-release version bump to 0.23.1 2011-05-02 05:11:49 -04:00
Søren Sandmann Pedersen
918a544406 Pre-release version bump to 0.22.0 2011-05-02 05:06:33 -04:00
Cyril Brulebois
2296b15c9d Upload to unstable. 2011-04-29 17:53:20 +02:00
Cyril Brulebois
c48a9b8035 Mention endianness-related FTBFS fix (Closes: #622211). 2011-04-29 17:53:09 +02:00
Cyril Brulebois
fa956ebd6b Bump changelogs. 2011-04-29 17:52:36 +02:00
Cyril Brulebois
d06147d984 Merge branch 'upstream-unstable' into debian-unstable 2011-04-29 17:51:32 +02:00
Søren Sandmann Pedersen
71b2e2745b Post-release version bump to 0.21.9 2011-04-19 00:22:29 -04:00
Søren Sandmann Pedersen
89868e93bd Pre-release version bump to 0.21.8 2011-04-19 00:00:37 -04:00
Taekyun Kim
33f1652b95 ARM: Enable bilinear fast paths using scanline functions in pixman-arm-neon-asm-bilinear.S
Enable fast paths which is supported by scanline functions in
pixman-arm-neon-asm-bilinear.S
2011-04-18 16:49:46 -04:00
Taekyun Kim
e8185f1cb4 ARM: NEON scanline functions for bilinear scaling
General fetch->combine->store based bilinear scanline functions.
Need further optimizations and eventually will be replaced with optimal
functions one by one.
General functions should be located in pixman-arm-neon-asm-bilinear.S and
optimal functions in pixman-arm-neon-asm.S

Following general bilinear scanline functions are implemented
    over_8888_8888
    add_8888_8888
    src_8888_8_8888
    src_8888_8_0565
    src_0565_8_x888
    src_0565_8_0565
    over_8888_8_8888
    add_8888_8_8888
2011-04-18 16:49:43 -04:00
Taekyun Kim
00939d3562 ARM: Common macro for scaled bilinear scanline function with A8 mask
Defining PIXMAN_ARM_BIND_SCALED_BILINEAR_SRC_A8_DST macro for declaration of
scaled bilinear scanline functions in common header.
2011-04-18 16:49:40 -04:00
Søren Sandmann Pedersen
b455496890 Offset rendering in pixman_composite_trapezoids() by (x_dst, y_dst)
Previously, this function would do coordinate calculations in such a
way that (x_dst, y_dst) would only affect the alignment of the source
image, but not of the traps, which would always be considered to be in
absolute destination coordinates. This is unlike the
pixman_image_composite() function which also registers the mask to the
destination.

This patch makes it so that traps are also offset by (x_dst, y_dst).

Also add a comment explaining how this function is supposed to
operate, and update tri-test.c and composite-trap-test.c to deal with
the new semantics.
2011-04-18 16:27:29 -04:00