📄 changelog
字号:
2006-01-09 Anders Carlsson <andersca@imendio.com> * src/icimage.c: (premultiply): (INTERPOLATE_PIXEL_256): Use uint32_t instead of uint;2006-01-04 Carl Worth <cworth@cworth.org> * Originally: 2005-10-10 David Reveman <davidr@novell.com> * src/fbcompose.c: (SourcePictureClassify), (fbFetchSolid), (fbFetch), (fbFetchSourcePict), (fbFetchTransformed), (fbFetchExternalAlpha), (fbCompositeRect): * src/icimage.c: (_pixman_init_gradient), (_pixman_create_source_image), (pixman_image_create_linear_gradient), (pixman_image_create_radial_gradient): * src/icimage.h: Some major performance improvements to the general composite code used for gradients and transformed images. Like fetching of mask scanline before source scanline so that only the necessary pixels from source needs to be computed in case of gradients or transformed images as source. This patch also include some gradient specific fixes and performance improvement.2006-01-04 Carl Worth <cworth@cworth.org> * Originally: 2005-10-10 David Reveman <davidr@novell.com> * src/pixman.h: Add entries for gradient support. * src/icint.h: Add PictureGradientColor. * src/icimage.h: * src/icimage.c: Add necessary functionality for gradient support. * src/fbcompose.c: Enable gradient support.2005-11-21 Carl Worth <cworth@cworth.org> * src/pixman-remap.h: Remove duplicate definitions of pixman_color_to_pixel and pixman_composite.2005-11-18 Carl Worth <cworth@cworth.org> * src/pixman-remap.h: Remove spurios INT_ prefixes which break the build with very recent binutils.2005-10-09 Billy Biggs <vektor@dumbterm.net> * src/icimage.h: Make space for the new bits needed by expand.2005-10-09 Billy Biggs <vektor@dumbterm.net> reviewed by: davidr, cworth, otaylor * src/pixman.h: Add extended repeat modes, copied from XRender. * src/icimage.c: (pixman_image_init), (pixman_image_set_repeat), (FbClipImageSrc): Cleanup to use the new repeat modes. * src/icrect.c: (pixman_fill_rectangles): Be explicit about which repeat mode we want.2005-09-18 Billy Biggs <vektor@dumbterm.net> * src/fbmmx.c: Only include xmmintrin.h if USE_SSE is defined.2005-09-15 Billy Biggs <vektor@dumbterm.net> Bug #4414, reviewed by otaylor, cworth. * src/fbmmx.c: Remove CPU detection code. * src/fbpict.c (detectCPUFeatures), (fbHaveMMX): Move CPU detection code out of the MMX file and into the generic code to avoid compiling it with -mmmx and -msse. Using these options causes gcc to use MMX and SSE instructions in the CPU detection code which causes SIGILLs on older processors.2005-08-28 Owen Taylor <otaylor@redhat.com> Bug #4260, Reviewed by B. Biggs * src/fbcompose.c (fbStore_a8b8g8r8, fbStore_x8b8g8r8): Use & not && for bitwise AND. * src/fbpict.h (fbComposeGetSolid) src/fbpict.c src/fbmmx.c: Take 'dest' as an argument, if pict and dest don't match for RGB, BGR, swap result. 2005-08-28 Owen Taylor <otaylor@redhat.com> * src/fbmmx.c (detectCPUFeatures): Use local labels rather than global labels in the assembly, to be robust if the code is inlined in multiple places. (#4283, Reported by Marco Manfredini)2005-08-27 Billy Biggs <vektor@dumbterm.net> Some fixes for warnings from sparse (Part of bug #4208, Kjartan Maraas) * src/fbcompose.c (fetchProcForPicture), (fetchPixelProcForPicture), (storeProcForPicture), (fbFetchSolid), (fbFetch), (fbFetchTransformed), (fbStore), (fbStoreExternalAlpha), (fbCompositeRect): * src/fbpict.c (pixman_composite): * src/icbltone.c (fbLaneTable), (fbBltOne): * src/icimage.c (pixman_image_init), (pixman_image_set_transform): * src/icrect.c (pixman_fill_rectangles): * src/ictrap.c (FbCreateAlphaPicture): Use NULL not 0.2005-08-27 Owen Taylor <otaylor@redhat.com> * src/fbmmx.c (detectCPUFeatures): Make the code work with -fomit-frame-pointer by making sure that %esp isn't modified at the point where we access output operands. (#4269, Patch from Ronald Wahl) 2005-08-22 Owen Taylor <otaylor@redhat.com> * src/pixregion.c (pixman_region_union_rect): When width/height are 0, copy the src to the dest, don't just return. (#3017)2005-08-21 Billy Biggs <vektor@dumbterm.net> * src/pixman-remap.h: Fix a typo in the last change.2005-08-21 Billy Biggs <vektor@dumbterm.net> * src/fbpict.c: Remove warning about fbCompositeTrans_0888xnx0888 not being tested on big-endian, it's not helpful at this point. * src/pixman-remap.h: Only define _cairo_pixman_have_mmx for fbHaveMMX when the symbol will actually exist.2005-08-21 Billy Biggs <vektor@dumbterm.net> Fix for bug #4140: * src/icrect.c: (pixman_fill_rect_8bpp): Dereference the pixel value correctly on big endian systems.2005-08-18 Billy Biggs <vektor@dumbterm.net> * src/fbmmx.c: (mmxCombineMaskU), (mmxCombineOverU): Special case alpha values of 0 and 0xff. (fbCompositeSrc_8888x8888mmx): Add an MMX implementation for a common operation when using pixman. * src/fbmmx.h: Prototype for the new function. * src/fbpict.c: (fbComposite): Call the new function where appropriate.2005-08-18 Billy Biggs <vektor@dumbterm.net> * src/fbcompose.c: (fbFetchTransformed): Special case projective transforms so we can avoid doing the expensive 64-bit math. Unroll the bilinear interpolation loops for an extra boost.2005-08-18 Billy Biggs <vektor@dumbterm.net> * src/fbmmx.c: (fbCompositeSolidMaskSrc_nx8x8888mmx): For the source operator, the output should be cleared if the mask is zero. This fixes the MMX code to match the fbcompose code. * src/fbpict.c: (pixman_composite): Fix a logic mistake that caused the MMX functions not to be used in many cases.2005-08-17 Billy Biggs <vektor@dumbterm.net> * src/pixman-remap.h: Only mangle exported symbols. This is sufficient and makes debugging a lot easier.2005-08-16 Billy Biggs <vektor@dumbterm.net> * src/Makefile.am: Fix a typo in the last commit.2005-08-16 Billy Biggs <vektor@dumbterm.net> * src/Makefile.am: Split the MMX code into a separate libtool library to avoid applying the MMX CFLAGS to all of the pixman code. Idea and code from Owen Taylor. * src/pixman-remap.h: Update the mangling header file to include the MMX symbols.2005-08-16 Billy Biggs <vektor@dumbterm.net> * src/fbmmx.c: (shift), (negate), (pix_multiply), (pix_add), (expand_alpha), (expand_alpha_rev), (invert_colors), (over), (over_rev_non_pre), (in), (in_over), (load8888), (pack8888), (store8888), (expand565), (expand8888), (pack565), (pix_add_mul), (mmxCombineMaskU), (mmxCombineOverU), (mmxCombineOverReverseU), (mmxCombineInU), (mmxCombineInReverseU), (mmxCombineOutU), (mmxCombineOutReverseU), (mmxCombineAtopU), (mmxCombineAtopReverseU), (mmxCombineXorU), (mmxCombineAddU), (mmxCombineSaturateU), (mmxCombineSrcC), (mmxCombineOverC), (mmxCombineOverReverseC), (mmxCombineInC), (mmxCombineInReverseC), (mmxCombineOutC), (mmxCombineOutReverseC), (mmxCombineAtopC), (mmxCombineAtopReverseC), (mmxCombineXorC), (mmxCombineAddC), (fbComposeSetupMMX), (fbCompositeSolid_nx8888mmx), (fbCompositeSolid_nx0565mmx), (fbCompositeSolidMask_nx8888x8888Cmmx), (fbCompositeSrc_8888x8x8888mmx), (fbCompositeSrc_x888x8x8888mmx), (fbCompositeSolidMask_nx8x8888mmx), (fbCompositeSolidMaskSrc_nx8x8888mmx), (fbCompositeSolidMask_nx8x0565mmx), (fbCompositeSrc_8888RevNPx0565mmx), (fbCompositeSrc_8888RevNPx8888mmx), (fbCompositeSolidMask_nx8888x0565Cmmx), (fbCompositeSrcAdd_8000x8000mmx), (fbCompositeSrcAdd_8888x8888mmx), (fbSolidFillmmx), (fbCopyAreammx), (fbCompositeCopyAreammx), (detectCPUFeatures), (fbHaveMMX): * src/fbmmx.h: Port MMX code from xserver to pixman. * src/fbpict.c: (fbOver), (fbOver24), (fbIn), (fbIn24), (fbCompositeSolidMask_nx8x8888), (fbCompositeSolidMask_nx8888x8888C), (fbCompositeSolidMask_nx8x0888), (fbCompositeSolidMask_nx8x0565), (fbCompositeSolidMask_nx8888x0565), (fbCompositeSolidMask_nx8888x0565C), (fbCompositeSrc_8888x8888), (fbCompositeSrc_8888x0888), (fbCompositeSrc_8888x0565), (fbCompositeSrcAdd_8000x8000), (fbCompositeSrcAdd_8888x8888), (fbCompositeSrcAdd_1000x1000), (fbCompositeSolidMask_nx1xn), (fbCompositeTrans_0565xnx0565), (fbCompositeTrans_0888xnx0888), (fbCompositeSrcSrc_nxn), (pixman_composite): Add an fbpict.c ported from the latest in xserver/fb, including hooks to the MMX code where appropriate. This replaces the old ic.c file. * src/ic.c: Replaced by fbpict.c. * src/icint.h: Move some X server macros from fbpict.c up into icint.h to keep the diff small. * src/Makefile.am: Add fbmmx and fbpict.c, remove ic.c. * configure.in: Add a check for the MMX intrinsics. gcc >= 3.4 is required.2005-08-12 Billy Biggs <vektor@dumbterm.net> * src/icrect.c: (pixman_fill_rect_1bpp): Fix to be correct for arbitrary xDst values.2005-08-11 Billy Biggs <vektor@dumbterm.net> * src/icrect.c: (pixman_fill_rect_1bpp), (pixman_color_rects): Add support for filling 1bpp images (used to clear A1 masks).2005-08-10 Billy Biggs <vektor@dumbterm.net> reviewed by: cworth and Jeff Muizelaar at various stages * src/fbcompose.c: (PictureTransformPoint3d), (fbFetch_a8r8g8b8), (fbFetch_x8r8g8b8), (fbFetch_a8b8g8r8), (fbFetch_x8b8g8r8), (fbFetch_r8g8b8), (fbFetch_b8g8r8), (fbFetch_r5g6b5), (fbFetch_b5g6r5), (fbFetch_a1r5g5b5), (fbFetch_x1r5g5b5), (fbFetch_a1b5g5r5), (fbFetch_x1b5g5r5), (fbFetch_a4r4g4b4), (fbFetch_x4r4g4b4), (fbFetch_a4b4g4r4), (fbFetch_x4b4g4r4), (fbFetch_a8), (fbFetch_r3g3b2), (fbFetch_b2g3r3), (fbFetch_a2r2g2b2), (fbFetch_a2b2g2r2), (fbFetch_c8), (fbFetch_a4), (fbFetch_r1g2b1), (fbFetch_b1g2r1), (fbFetch_a1r1g1b1), (fbFetch_a1b1g1r1), (fbFetch_c4), (fbFetch_a1), (fbFetch_g1), (fetchProcForPicture), (fbFetchPixel_a8r8g8b8), (fbFetchPixel_x8r8g8b8), (fbFetchPixel_a8b8g8r8), (fbFetchPixel_x8b8g8r8), (fbFetchPixel_r8g8b8), (fbFetchPixel_b8g8r8), (fbFetchPixel_r5g6b5), (fbFetchPixel_b5g6r5), (fbFetchPixel_a1r5g5b5), (fbFetchPixel_x1r5g5b5), (fbFetchPixel_a1b5g5r5), (fbFetchPixel_x1b5g5r5), (fbFetchPixel_a4r4g4b4), (fbFetchPixel_x4r4g4b4), (fbFetchPixel_a4b4g4r4), (fbFetchPixel_x4b4g4r4), (fbFetchPixel_a8), (fbFetchPixel_r3g3b2), (fbFetchPixel_b2g3r3), (fbFetchPixel_a2r2g2b2), (fbFetchPixel_a2b2g2r2), (fbFetchPixel_c8), (fbFetchPixel_a4), (fbFetchPixel_r1g2b1), (fbFetchPixel_b1g2r1), (fbFetchPixel_a1r1g1b1), (fbFetchPixel_a1b1g1r1), (fbFetchPixel_c4), (fbFetchPixel_a1), (fbFetchPixel_g1), (fetchPixelProcForPicture), (fbStore_a8r8g8b8), (fbStore_x8r8g8b8), (fbStore_a8b8g8r8), (fbStore_x8b8g8r8), (fbStore_r8g8b8), (fbStore_b8g8r8), (fbStore_r5g6b5), (fbStore_b5g6r5), (fbStore_a1r5g5b5), (fbStore_x1r5g5b5), (fbStore_a1b5g5r5), (fbStore_x1b5g5r5), (fbStore_a4r4g4b4), (fbStore_x4r4g4b4), (fbStore_a4b4g4r4), (fbStore_x4b4g4r4), (fbStore_a8), (fbStore_r3g3b2), (fbStore_b2g3r3), (fbStore_a2r2g2b2), (fbStore_c8), (fbStore_a4), (fbStore_r1g2b1), (fbStore_b1g2r1), (fbStore_a1r1g1b1), (fbStore_a1b1g1r1), (fbStore_c4), (fbStore_a1), (fbStore_g1), (storeProcForPicture), (fbCombineMaskU), (fbCombineClear), (fbCombineSrcU), (fbCombineOverU), (fbCombineOverReverseU), (fbCombineInU), (fbCombineInReverseU), (fbCombineOutU), (fbCombineOutReverseU), (fbCombineAtopU), (fbCombineAtopReverseU), (fbCombineXorU), (fbCombineAddU), (fbCombineSaturateU), (fbCombineDisjointOutPart), (fbCombineDisjointInPart), (fbCombineDisjointGeneralU), (fbCombineDisjointOverU), (fbCombineDisjointInU), (fbCombineDisjointInReverseU), (fbCombineDisjointOutU), (fbCombineDisjointOutReverseU), (fbCombineDisjointAtopU), (fbCombineDisjointAtopReverseU), (fbCombineDisjointXorU), (fbCombineConjointOutPart), (fbCombineConjointInPart), (fbCombineConjointGeneralU), (fbCombineConjointOverU), (fbCombineConjointOverReverseU), (fbCombineConjointInU), (fbCombineConjointInReverseU), (fbCombineConjointOutU), (fbCombineConjointOutReverseU), (fbCombineConjointAtopU), (fbCombineConjointAtopReverseU), (fbCombineConjointXorU), (fbCombineMaskC), (fbCombineMaskValueC), (fbCombineMaskAlphaC), (fbCombineClearC), (fbCombineSrcC), (fbCombineOverC), (fbCombineOverReverseC), (fbCombineInC), (fbCombineInReverseC), (fbCombineOutC), (fbCombineOutReverseC), (fbCombineAtopC), (fbCombineAtopReverseC), (fbCombineXorC), (fbCombineAddC), (fbCombineSaturateC), (fbCombineDisjointGeneralC), (fbCombineDisjointOverC), (fbCombineDisjointInC), (fbCombineDisjointInReverseC), (fbCombineDisjointOutC), (fbCombineDisjointOutReverseC), (fbCombineDisjointAtopC), (fbCombineDisjointAtopReverseC), (fbCombineDisjointXorC), (fbCombineConjointGeneralC), (fbCombineConjointOverC), (fbCombineConjointOverReverseC), (fbCombineConjointInC), (fbCombineConjointInReverseC), (fbCombineConjointOutC), (fbCombineConjointOutReverseC), (fbCombineConjointAtopC), (fbCombineConjointAtopReverseC), (fbCombineConjointXorC), (fbFetchSolid), (fbFetch), (gradientPixel), (fbFetchSourcePict), (fbFetchTransformed), (fbFetchExternalAlpha), (fbStore), (fbStoreExternalAlpha), (fbCompositeRect), (pixman_compositeGeneral): Port fbcompose.c from xserver into pixman. Add #defines for gradients, convolution filters, and indexed colour formats to keep the patch small. Use pixman regions instead of X server regions as appropriate. * src/iccompose.c: Remove iccompose.c, replaced by fbcompose.c. * src/fbpict.h: Add a slightly-trimmed version of fbpict.h from xserver/fb to make the port smaller and cleaner. * src/ic.c: Use the redundant fbpict.h defines and add in the struct for indexed colour support. * src/icimage.h: Remove defines now in fbpict.h. * src/pixman-xserver-compat.h: Add some constants and types required by fbcompose.c * src/Makefile.am: Add fbcompose.c and fbpict.h, remove iccompose.c.2005-08-10 Keith Packard <keithp@keithp.com> * src/pixregion.c: (pixman_region_union_rect): Union with empty rectangle should yield SUCCESS, not FAILURE2005-08-06 Jeff Muizelaar <jeff@infidigm.net> * src/iccompose.c: (fbCombineMaskAlphaC), (fbCombineAtopC), (fbCombineXorC), (fbCombineSaturateU), (fbCombineSaturateC), (fbCombineDisjointGeneralC), (fbCombineConjointGeneralC): Fix problems in render fb implementation found by rendercheck: - fbCombineSaturate was pointed at fbCombineDisjointOver, instead of fbCombineDisjointOverReverse as it should. Instead, point fbCombineDisjointOverReverse at fbCombineSaturate (which is likely to be faster). - fix previously-unused fbCombineSaturate implementation. - fbCombineMaskAlphaC was just a copy of fbCombineMaskValueC. Make it do what it's supposed to (return a cs.alpha). - fbCombineAtopC didn't invert the source alpha value. - fix copy'n'paste errors in fbCombine(Dis/Con)jointGeneralC, also source alpha wasn't treated in a component fashion. From anholt.2005-08-06 Jeff Muizelaar <jeff@infidigm.net> * src/iccompose.c: (fbFetch_r8g8b8): Temporarily disable the 24bpp WORKING_UNALIGNED_INT because of a crash when using electric-fence when accessing hte last pixel of a drawable (last pixel is 3 bytes, read it as a 4 byte word, and you're reading one extra pixel, which doesn't normally matter, but does in a few rare cases). Should be easy to work around, but that will come later. From jaymz2005-08-05 Jeff Muizelaar <jeff@infidigm.net> * src/pixman-xserver-compat.h: Fix fbGetDrawable Patch from Billy Biggs <vektor@dumbterm.net>.2005-08-05 Jeff Muizelaar <jeff@infidigm.net> * src/icint.h: Fix some of the 4 bit per channel PICT definitions
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -