Fix typo
[profile/ivi/pixman.git] / TODO
1   - It probably makes sense to move the more strange X region API
2     into pixman as well, but guarded with PIXMAN_XORG_COMPATIBILITY
3
4   - Go through things marked FIXME
5
6   - Reinstate the FbBits typedef? At the moment we don't
7     even have the FbBits type; we just use uint32_t everywhere.
8
9     Keith says in bug 2335:
10
11         The 64-bit code in fb (pixman) is probably broken; it hasn't been
12         used in quite some time as PCI (and AGP) is 32-bits wide, so
13         doing things 64-bits at a time is a net loss.  To quickly fix
14         this, I suggest just using 32-bit datatypes by setting
15         IC_SHIFT to 5 for all machines.
16
17 - Consider whether calling regions region16 is really such a great idea
18
19 - Run cairo test suite; fix bugs
20         - one bug in source-scale-clip
21
22  - Remove the warning suppression in the ACCESS_MEM macro and fix the
23     warnings that are real
24
25 - Add calls to prepare and finish access where necessary. 
26   grep for ACCESS_MEM, and make sure they are correctly wrapped in
27   prepare and finish
28
29 - Make source clipping optional.
30        - done: source clipping happens through an indirection.
31          still needs to make the indirection settable.
32
33 - make the wrapper functions global instead of image specific
34         - this won't work since pixman is linked to both fb and wfb
35
36 - restore READ/WRITE in the fbcompose combiners since they sometimes
37   store directly to destination drawables.
38
39 - Consider optimizing the 8/16 bit solid fills in pixman-util.c by
40   storing more than one value at a time.
41
42 done:
43
44 - Add non-mmx solid fill
45
46 - Make sure the endian-ness macros are defined correctly.
47
48 - The rectangles in a region probably shouldn't be returned const as
49   the X server will be changing them.
50
51 - Right now we _always_ have a clip region, which is empty by default.
52   Why does this work at all? It probably doesn't. The server
53   distinguishes two cases, one where nothing is clipped (CT_NONE), and
54   one where there is a clip region (CT_REGION).
55
56 - Default clip region should be the full image
57
58   - Test if pseudo color still works. It does, but it also shows that
59     copying a pixman_indexed_t on every composite operation is not
60     going to fly. So, for now set_indexed() does not copy the 
61     indexed table. 
62
63     Also just the malloc() to allocate a pixman image shows up pretty
64     high.
65
66     Options include
67
68       - Make all the setters not copy their arguments
69
70       - Possibly combined with going back to the stack allocated 
71         approach that we already use for regions.
72
73       - Keep a cached pixman_image_t around for every picture. It would
74         have to be kept uptodate every time something changes about the
75         picture.
76
77       - Break the X server ABI and simply have the relevant parameter
78         stored in the pixman image. This would have the additional benefits
79         that:
80
81           - We can get rid of the annoying repeat field which is duplicated
82             elsewhere.
83
84           - We can use pixman_color_t and pixman_gradient_stop_t
85             etc. instead of the types that are defined in
86             renderproto.h
87