From 534e65d54831018b47c169932a04224e5ba53cb8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?S=C3=B8ren=20Sandmann=20Pedersen?= Date: Fri, 13 Jun 2008 16:16:59 -0400 Subject: [PATCH] Update TODO --- TODO | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) 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: -- 2.7.4