pixman: Branch 'master' - 6 commits
Søren Sandmann Pedersen
sandmann at kemper.freedesktop.org
Thu Jul 17 11:15:32 PDT 2008
Makefile.am | 2 +-
RELEASING | 22 ++++++++++++----------
configure.ac | 2 +-
pixman/combine.h.inc | 12 ++++++++++++
pixman/pixman-pict.c | 27 ++++++++++++++-------------
5 files changed, 40 insertions(+), 25 deletions(-)
New commits:
commit f729457da5de4a96ccd220ce71c583cdec971483
Author: Søren Sandmann Pedersen <sandmann at daimi.au.dk>
Date: Thu Jul 17 14:13:34 2008 -0400
Update RELEASING and release targets in Makefile.am
diff --git a/Makefile.am b/Makefile.am
index 77c9d61..2cf692d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -114,7 +114,7 @@ release-publish-message: $(sha1_tgz) $(md5_tgz) $(sha1_tbz2) $(md5_tbz2) ensure-
@echo ""
@echo "GPG signature:"
@echo " $(RELEASE_CAIRO_URL)/$(gpg_file)"
- @echo " (signed by `getent passwd "$$USER" | cut -d: -f 5 | cut -d, -f 1`)"
+ @echo " (signed by `git config --get user.name` <`git config --get user.email`>)"
@echo ""
@echo "Git:"
@echo " git://git.freedesktop.org/git/pixman"
diff --git a/RELEASING b/RELEASING
index 5e7cec1..3ad0c2d 100644
--- a/RELEASING
+++ b/RELEASING
@@ -37,16 +37,7 @@ Here are the steps to follow to create a new pixman release:
make GPGKEY=<your gpg key id> release-publish
-7) Increment pixman_micro to the next larger (odd) number in
- configure.ac. Commit this change, and push all commits created
- during this process using
-
- git push --tags
-
- You must use "--tags" here; otherwise the new tag will not
- be pushed out. This is because technobable.
-
-8) Run
+6) Run
make release-publish-message
@@ -58,3 +49,14 @@ Here are the steps to follow to create a new pixman release:
and
xorg-announce at lists.freedesktop.org
+
+
+7) Increment pixman_micro to the next larger (odd) number in
+ configure.ac. Commit this change, and push all commits created
+ during this process using
+
+ git push --tags
+
+ You must use "--tags" here; otherwise the new tag will not
+ be pushed out. This is because technobabble.
+
commit 72045eabd57cf793266424c39246b435b655b19f
Author: Søren Sandmann Pedersen <sandmann at daimi.au.dk>
Date: Thu Jul 17 14:07:23 2008 -0400
Post-release version-bump
diff --git a/configure.ac b/configure.ac
index 1cef2d7..05e66ae 100644
--- a/configure.ac
+++ b/configure.ac
@@ -54,7 +54,7 @@ AC_PREREQ([2.57])
m4_define([pixman_major], 0)
m4_define([pixman_minor], 11)
-m4_define([pixman_micro], 8)
+m4_define([pixman_micro], 9)
m4_define([pixman_version],[pixman_major.pixman_minor.pixman_micro])
commit 2a14ecf1cd07e9a3f367ea66a7b10da929ccc06d
Author: Søren Sandmann Pedersen <sandmann at daimi.au.dk>
Date: Thu Jul 17 13:38:57 2008 -0400
Pre-release version bump
diff --git a/configure.ac b/configure.ac
index ea3e46a..1cef2d7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -54,7 +54,7 @@ AC_PREREQ([2.57])
m4_define([pixman_major], 0)
m4_define([pixman_minor], 11)
-m4_define([pixman_micro], 7)
+m4_define([pixman_micro], 8)
m4_define([pixman_version],[pixman_major.pixman_minor.pixman_micro])
commit 411c0e990f7a96d4e15f2cbbe07d3b50b6a20f95
Author: Søren Sandmann Pedersen <sandmann at daimi.au.dk>
Date: Thu Jul 17 13:37:56 2008 -0400
Make a couple of functions static
diff --git a/pixman/pixman-pict.c b/pixman/pixman-pict.c
index 1a2cc14..513e27a 100644
--- a/pixman/pixman-pict.c
+++ b/pixman/pixman-pict.c
@@ -52,7 +52,7 @@ typedef void (* CompositeFunc) (pixman_op_t,
int16_t, int16_t, int16_t, int16_t, int16_t, int16_t,
uint16_t, uint16_t);
-inline uint32_t
+static inline uint32_t
fbOver (uint32_t src, uint32_t dest)
{
// dest = (dest * (255 - alpha)) / 255 + src
@@ -62,7 +62,7 @@ fbOver (uint32_t src, uint32_t dest)
return dest;
}
-uint32_t
+static uint32_t
fbOver24 (uint32_t x, uint32_t y)
{
uint16_t a = ~x >> 24;
@@ -75,7 +75,7 @@ fbOver24 (uint32_t x, uint32_t y)
return m|n|o;
}
-uint32_t
+static uint32_t
fbIn (uint32_t x, uint8_t y)
{
uint16_t a = y;
@@ -1108,7 +1108,7 @@ pixman_image_composite_rect (pixman_op_t op,
int16_t dest_y,
uint16_t width,
uint16_t height);
-void
+static void
fbCompositeSolidFill (pixman_op_t op,
pixman_image_t * pSrc,
pixman_image_t * pMask,
commit 96f57c07f24cd6d86c0aad624bd1a16b85f08e04
Author: Jeff Muizelaar <jmuizelaar at mozilla.com>
Date: Thu Jul 17 13:32:45 2008 -0400
Speed up fbOver
Use FbByteMulAdd to operate on two components at a time and force the function
to be inlined.
diff --git a/pixman/pixman-pict.c b/pixman/pixman-pict.c
index 817f13a..1a2cc14 100644
--- a/pixman/pixman-pict.c
+++ b/pixman/pixman-pict.c
@@ -34,6 +34,11 @@
#include "pixman-mmx.h"
#include "pixman-vmx.h"
#include "pixman-sse.h"
+#include "pixman-combine32.h"
+
+#ifdef __GNUC__
+# define inline __inline__ __attribute__ ((__always_inline__))
+#endif
#define FbFullMask(n) ((n) == 32 ? (uint32_t)-1 : ((((uint32_t) 1) << n) - 1))
@@ -47,18 +52,14 @@ typedef void (* CompositeFunc) (pixman_op_t,
int16_t, int16_t, int16_t, int16_t, int16_t, int16_t,
uint16_t, uint16_t);
-uint32_t
-fbOver (uint32_t x, uint32_t y)
+inline uint32_t
+fbOver (uint32_t src, uint32_t dest)
{
- uint16_t a = ~x >> 24;
- uint16_t t;
- uint32_t m,n,o,p;
+ // dest = (dest * (255 - alpha)) / 255 + src
+ uint32_t a = ~src >> 24; // 255 - alpha == 255 + (~alpha + 1) == ~alpha
+ FbByteMulAdd(dest, a, src);
- m = FbOverU(x,y,0,a,t);
- n = FbOverU(x,y,8,a,t);
- o = FbOverU(x,y,16,a,t);
- p = FbOverU(x,y,24,a,t);
- return m|n|o|p;
+ return dest;
}
uint32_t
commit d4855cd9d028c49c2a12f61c6227579fcb8af5b6
Author: Jeff Muizelaar <jmuizelaar at mozilla.com>
Date: Thu Jul 17 13:32:08 2008 -0400
Comment FbByteMulAdd
diff --git a/pixman/combine.h.inc b/pixman/combine.h.inc
index 7dd97ae..8c70cb7 100644
--- a/pixman/combine.h.inc
+++ b/pixman/combine.h.inc
@@ -57,19 +57,31 @@
x_c = (x_c * a) / 255 + y
*/
#define FbByteMulAdd(x, a, y) do { \
+ /* multiply and divide: trunc((i + 128)*257/65536) */ \
comp4_t t = ((x & RB_MASK) * a) + RB_ONE_HALF; \
t = (t + ((t >> COMPONENT_SIZE) & RB_MASK)) >> COMPONENT_SIZE; \
t &= RB_MASK; \
+ \
+ /* add */ \
t += y & RB_MASK; \
+ \
+ /* saturate */ \
t |= RB_MASK_PLUS_ONE - ((t >> COMPONENT_SIZE) & RB_MASK); \
t &= RB_MASK; \
\
+ /* multiply and divide */ \
x = (((x >> COMPONENT_SIZE) & RB_MASK) * a) + RB_ONE_HALF; \
x = (x + ((x >> COMPONENT_SIZE) & RB_MASK)) >> COMPONENT_SIZE; \
x &= RB_MASK; \
+ \
+ /* add */ \
x += (y >> COMPONENT_SIZE) & RB_MASK; \
+ \
+ /* saturate */ \
x |= RB_MASK_PLUS_ONE - ((x >> COMPONENT_SIZE) & RB_MASK); \
x &= RB_MASK; \
+ \
+ /* recombine */ \
x <<= COMPONENT_SIZE; \
x += t; \
} while (0)
More information about the xorg-commit
mailing list