pixman: Branch 'master' - 2 commits
Søren Sandmann Pedersen
sandmann at kemper.freedesktop.org
Sat Jun 21 19:08:04 PDT 2008
TODO | 33 ++++++++++++++++++++++++++++++++-
pixman/pixman-sse.c | 14 +++++++-------
2 files changed, 39 insertions(+), 8 deletions(-)
New commits:
commit 02268903e4311709744c11e495f9b17f171ec5e9
Author: David Sharp <whereami at gmail.com>
Date: Thu Jun 19 20:23:33 2008 -0700
pixman-sse.c: silence pointer-cast compiler warnings.
Cast pointers to words of the same size, not 32-bits.
Signed-off-by: Søren Sandmann Pedersen <sandmann at redhat.com>
diff --git a/pixman/pixman-sse.c b/pixman/pixman-sse.c
index 13bfe1c..6f7876c 100644
--- a/pixman/pixman-sse.c
+++ b/pixman/pixman-sse.c
@@ -643,7 +643,7 @@ coreCombineInUsse2 (uint32_t* pd, const uint32_t* ps, int w)
cachePrefetch ((__m128i*)ps);
cachePrefetch ((__m128i*)pd);
- while (w && ((uint32_t) pd & 15))
+ while (w && ((unsigned long) pd & 15))
{
s = *ps++;
d = *pd;
@@ -700,7 +700,7 @@ coreCombineReverseInUsse2 (uint32_t* pd, const uint32_t* ps, int w)
cachePrefetch ((__m128i*)ps);
cachePrefetch ((__m128i*)pd);
- while (w && ((uint32_t) pd & 15))
+ while (w && ((unsigned long) pd & 15))
{
s = *ps++;
d = *pd;
@@ -752,7 +752,7 @@ coreCombineReverseOutUsse2 (uint32_t* pd, const uint32_t* ps, int w)
cachePrefetch ((__m128i*)ps);
cachePrefetch ((__m128i*)pd);
- while (w && ((uint32_t) pd & 15))
+ while (w && ((unsigned long) pd & 15))
{
uint32_t s = *ps++;
uint32_t d = *pd;
@@ -809,7 +809,7 @@ coreCombineOutUsse2 (uint32_t* pd, const uint32_t* ps, int w)
cachePrefetch ((__m128i*)ps);
cachePrefetch ((__m128i*)pd);
- while (w && ((uint32_t) pd & 15))
+ while (w && ((unsigned long) pd & 15))
{
uint32_t s = *ps++;
uint32_t d = *pd;
@@ -885,7 +885,7 @@ coreCombineAtopUsse2 (uint32_t* pd, const uint32_t* ps, int w)
cachePrefetch ((__m128i*)ps);
cachePrefetch ((__m128i*)pd);
- while (w && ((uint32_t) pd & 15))
+ while (w && ((unsigned long) pd & 15))
{
s = *ps++;
d = *pd;
@@ -962,7 +962,7 @@ coreCombineReverseAtopUsse2 (uint32_t* pd, const uint32_t* ps, int w)
cachePrefetch ((__m128i*)ps);
cachePrefetch ((__m128i*)pd);
- while (w && ((uint32_t) pd & 15))
+ while (w && ((unsigned long) pd & 15))
{
s = *ps++;
d = *pd;
@@ -1039,7 +1039,7 @@ coreCombineXorUsse2 (uint32_t* dst, const uint32_t* src, int width)
cachePrefetch ((__m128i*)ps);
cachePrefetch ((__m128i*)pd);
- while (w && ((uint32_t) pd & 15))
+ while (w && ((unsigned long) pd & 15))
{
s = *ps++;
d = *pd;
commit 534e65d54831018b47c169932a04224e5ba53cb8
Author: Søren Sandmann Pedersen <sandmann at redhat.com>
Date: Fri Jun 13 16:16:59 2008 -0400
Update TODO
diff --git a/TODO b/TODO
index 4f8f9c4..01b3ddf 100644
--- a/TODO
+++ b/TODO
@@ -42,7 +42,7 @@
- Make pixman_region_point_in() survive a NULL box, then fix up
pixman-compose.c
- - Possibly look into inlining the fetch functions
+ - Possibly look into inlining the fetch functions
- Test suite
@@ -93,6 +93,37 @@
(0, 0). Cairo would have to make sure that the delta *within* a
batch of trapezoids does not exceed 16 bit.
+ - Consider adding actual backends. Brain dump:
+
+ A backend is something that knows how to
+
+ - Create images
+ - Composite three images
+ - Rasterize trapezoids
+ - Do solid fills and blits
+
+ These operations are provided by a vtable that the backend will
+ create when it is initialized. Initial backends:
+
+ - VMX
+ - SSE2
+ - MMX
+ - Plain Old C
+
+ When the SIMD backends are initialized, they will be passed a
+ pointer to the Plain Old C backend that they can use for fallback
+ purposes.
+
+ Images would gain a vtable as well that would contain things like
+
+ - Read scanline
+ - Write scanline
+
+ (Or even read_patch/write_patch as suggested by Keith a while
+ back).
+
+ This could simplify the compositing code considerably.
+
- Review the pixman_format_code_t enum to make sure it will support
future formats. Some formats we will probably need:
More information about the xorg-commit
mailing list