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