X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=TODO;h=4434ec7cb8af1f24eecec5e410020df17dece335;hb=3c57ec471e1aacc863747b82bbe0a84c6d776ab7;hp=5acadf3f2df69995d91856234fb0f3de382cc0b1;hpb=30bdbbed073750efa0a0c1e3f68925196e118953;p=profile%2Fivi%2Fpixman.git diff --git a/TODO b/TODO index 5acadf3..4434ec7 100644 --- a/TODO +++ b/TODO @@ -1,13 +1,14 @@ - - SSE 2 issues: + - Testing + - Test implementations against each other + - Test both with and without the operator strength reduction. + They shold be identical. - - Commented-out uses of fbCompositeCopyAreasse2() + - SSE 2 issues: - Use MM_HINT_NTA instead of MM_HINT_T0 - Use of fbCompositeOver_x888x8x8888sse2() - - Use pixmanFillsse2 and pixmanBltsse2 - - Update the RLEASING file - Things to keep in mind if breaking ABI: @@ -18,6 +19,8 @@ the required precision by simply adding offset_x/y to the relevant rendering API? + - Get rid of workaround for X server bug. + - 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 @@ -29,7 +32,7 @@ (They only exist because they are theoretically available to drivers). - - Regions should become 32 bit + - 16 bit regions should be deleted - There should only be one trap rasterization API. @@ -37,11 +40,20 @@ to indicate the actual depth. That way PIXMAN_x4c4 and PIXMAN_c8 won't collide. + - Maybe bite the bullet and make configure.ac generate a pixman-types.h + file that can be included from pixman.h to avoid the #ifdef magic + in pixman.h + - 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 + - There is a bug with source clipping demonstrated by clip-test in the + test directory. If we interprete source clipping as given in + destination coordinates, which is probably the only sane choice, + then the result should have two red bars down the sides. + - Test suite - Add a general way of dealing with architecture specific @@ -73,11 +85,6 @@ this, I suggest just using 32-bit datatypes by setting 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 - ABI, but should otherwise be mostly harmless, though a - pixman_region_get_boxes16() may be useful. - - Consider optimizing the 8/16 bit solid fills in pixman-util.c by storing more than one value at a time. @@ -91,6 +98,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: @@ -142,8 +180,27 @@ What about color spaces such a linear vs. srGB etc.? + done: +- Use pixmanFillsse2 and pixmanBltsse2 + +- Be consistent about calling sse2 sse2 + +- Rename "SSE" to "MMX_EXTENSIONS". (Deleted mmx extensions). + +- Commented-out uses of fbCompositeCopyAreasse2() + +- Consider whether calling regions region16 is really such a great + 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. + +- Altivec signal issue (Company has fix, there is also a patch by + dwmw2 in rawhide). + +- Behdad's MMX issue - see list + - SSE2 issues: - Crashes in Mozilla because of unaligned stack. Possible fixes - Make use of gcc 4.2 feature to align the stack