summaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
authorSøren Sandmann <sandmann@redhat.com>2008-02-29 18:32:44 -0500
committerSøren Sandmann <sandmann@redhat.com>2008-02-29 18:32:44 -0500
commit476f10237e432321d7f456b4df9fd206b78d8827 (patch)
tree53824567e42b5ea04f619439e7a68f37dc569e1f /TODO
parent8533dcbccc142621027469e62dd84030d4248eec (diff)
Update TODO
Diffstat (limited to 'TODO')
-rw-r--r--TODO32
1 files changed, 31 insertions, 1 deletions
diff --git a/TODO b/TODO
index 2c3c150..184f823 100644
--- a/TODO
+++ b/TODO
@@ -1,3 +1,26 @@
+ - Things to keep in mind if breaking ABI:
+
+ - There should be a guard #ifndef I_AM_EITHER_CAIRO_OR_THE_X_SERVER
+
+ - X server will require 16.16 essentially forever. Can we get
+ the required precision by simply adding offset_x/y to the
+ relevant rendering API?
+
+ - pixman_image_set_indexed() should copy its argument, and X
+ should be ported over to use a pixman_image as the
+ representation of a Picture, rather than creating one on each
+ operation.
+
+ - We should get rid of pixman_set_static_pointers()
+
+ - We should get rid of the various trapezoid helper functions().
+ (They only exist because they are theoretically available to
+ drivers).
+
+ - Regions should become 32 bit
+
+ - There should only be one trap rasterization API.
+
- Make pixman_region_point_in() survive a NULL box, then fix up
pixman-compose.c
@@ -33,7 +56,7 @@
IC_SHIFT to 5 for all machines.
- Consider whether calling regions region16 is really such a great
- idea Vlad wants 32 bit regions for Cairo. This will break X server
+ idea. Vlad wants 32 bit regions for Cairo. This will break X server
ABI, but should otherwise be mostly harmless, though a
pixman_region_get_boxes16() may be useful.
@@ -43,6 +66,13 @@
- Add an image cache to prevent excessive malloc/free. Note that pixman
needs to be thread safe when used from cairo.
+ - Moving to 24.8 coordinates. This is tricky because X is still
+ defined as 16.16 and will be basically forever. It's possible we
+ could do this by adding extra offset_x/y parameters to the
+ trapezoid calls. The X server could then just call the API with
+ (0, 0). Cairo would have to make sure that the delta *within* a
+ batch of trapezoids does not exceed 16 bit.
+
- Review the pixman_format_code_t enum to make sure it will support
future formats. Some formats we will probably need: