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