summaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
authorSøren Sandmann <sandmann@redhat.com>2007-12-01 19:56:26 -0500
committerSøren Sandmann <sandmann@redhat.com>2007-12-01 19:56:26 -0500
commit819a6d6878d57d3b55075f048a7eed6d5bcab694 (patch)
tree2bffdb25b72eeeccc8f949028dc4948c68d86ec2 /TODO
parentf1f52ae4b1b2cca27104c1210625356084baf2f8 (diff)
Beginning of the end for the Switch of Doom.
Add tables with information about the MMX and plain-C fast paths. Update TODO.
Diffstat (limited to 'TODO')
-rw-r--r--TODO28
1 files changed, 22 insertions, 6 deletions
diff --git a/TODO b/TODO
index 6649c69..fc457af 100644
--- a/TODO
+++ b/TODO
@@ -1,3 +1,12 @@
+ - Add a general way of dealing with architecture specific
+ fast-paths. The current idea is to have each operation that can
+ be optimized is called through a function pointer that is
+ initially set to an initialization function that is responsible for
+ setting the function pointer to the appropriate fast-path.
+
+ - Get rid of the switch-of-doom; replace it with a big table
+ describing the various fast paths.
+
- Go through things marked FIXME
- Add calls to prepare and finish access where necessary. grep for
@@ -26,11 +35,6 @@
ABI, but should otherwise be mostly harmless, though a
pixman_region_get_boxes16() may be useful.
- - Make source clipping optional.
- - done: source clipping happens through an indirection.
- still needs to make the indirection settable. (And call it
- from X)
-
- Consider optimizing the 8/16 bit solid fills in pixman-util.c by
storing more than one value at a time.
@@ -78,11 +82,23 @@
It may make sense to have a PIXMAN_TYPE_YUV, and then use the
channel bits to specify the exact subtype.
- What about color spaces such a linear vs. srGB etc.?
+ Another possibility is to add
+ PIXMAN_TYPE_ARGB_W
+ PIXMAN_TYPE_ARGB_WW
+
+ where the channel widths would get 16 and 32 added to them,
+ respectively.
+
+ What about color spaces such a linear vs. srGB etc.?
done:
+- Make source clipping optional.
+ - done: source clipping happens through an indirection.
+ still needs to make the indirection settable. (And call it
+ from X)
+
- Run cairo test suite; fix bugs
- one bug in source-scale-clip