Søren Sandmann Pedersen [Mon, 29 Jun 2009 11:46:11 +0000 (07:46 -0400)]
Various simple renamings
s/CvtR8G8B8toY15/CONVERT_RGB24_TO_Y15/g;
s/cvt8888to0565/CONVERT_8888_TO_0565/g;
s/cvt0565to0888/CONVERT_0565_TO_0888/g;
s/miIndexToEnt15/RGB16_TO_ENTRY/g;
s/miIndexToEnt24/RGB24_TO_ENTRY/g;
s/miIndexToEntY24/RGB24_TO_ENTRY_Y/g;
s/miCvtR8G8B8to15/CONVERT_RGB24_TO_RGB15/g;
s/is_same/IS_SAME/g;
s/is_zero/IS_ZERO/g;
s/is_int([ (])/IS_INT$1/g;
s/is_one/IS_ONE/g;
s/is_unit/IS_UNIT/g;
s/Fetch4/FETCH_4/g;
s/Store4/STORE_4/g;
s/Fetch8/FETCH_8/g;
s/Store8/STORE_8/g;
s/Fetch24/fetch_24/g;
s/Store24/store_24/g;
s/_64_generic/64_generic/g;
s/64_generic/_generic_64/g;
s/32_generic_lossy/_generic_lossy_32/g;
s/PdfSeparableBlendMode/PDF_SEPARABLE_BLEND_MODE/g;
s/PdfNonSeparableBlendMode/PDF_NON_SEPARABLE_BLEND_MODE/g;
s/([^_])HSL/$1Hsl/g;
s/Blend/blend_/g;
s/FbScrLeft/SCREEN_SHIFT_LEFT/g;
s/FbScrRigth/SCREEN_SHIFT_RIGHT/g;
s/FbLeftMask/LEFT_MASK/g;
s/FbRightMask/RIGHT_MASK/g;
s/Splita/SPLIT_A/g;
s/Split/SPLIT/g;
s/MMX_Extensions/MMX_EXTENSIONS/g;
Søren Sandmann Pedersen [Mon, 29 Jun 2009 11:35:40 +0000 (07:35 -0400)]
Get rid of pFoo names.
s/([^o])pSrc/$1src_image/g;
s/([^o])pDst/$1dst_image/g;
s/([^o])pMask/$1mask_image/g;
s/pRegion/region/g;
s/pNextRect/next_rect/g;
Søren Sandmann Pedersen [Mon, 29 Jun 2009 11:30:47 +0000 (07:30 -0400)]
Change the name of some routines that were simply misnamed.
s/Src_pixbuf/_over_pixbuf/g;
s/Src_x888_n/_over_x888_n/g;
s/CompositeSrc_8888_8888/composite_over_8888_8888/g;
s/CompositeSrc_8888_0565/composite_over_8888_0565/g;
s/CompositeSrc_8888_8_8888/composite_over_8888_n_8888/g;
Søren Sandmann Pedersen [Mon, 29 Jun 2009 01:06:01 +0000 (21:06 -0400)]
Fix up names of compositing functions
s/SrcAdd/Add/g;
s/SolidMaskSrc/Src/g;
s/SolidMaskIn/In/g;
s/SolidMask/Over/g;
s/Solid_n/Over_n/g;
s/SrcIn/In/g;
s/(fb)(Composite.*)sse2/sse2_$2/g;
s/(fb)(Composite.*)mmx/mmx_$2/g;
s/(fb)(Composite.*)neon/neon_$2/g;
s/(fb)(Composite.*)arm/arm_$2/g;
s/(fb)(Composite.*)vmx/vmx_$2/g;
s/(fb)(Composite.*)/fast_$2/g;
s/b8g8r8x8/f00bar/g;
s/8888C/8888_ca/g;
s/0565C/0565_ca/g;
s/8888RevNPx/pixbuf_x_/g;
s/8x0/8_x_0/g;
s/00x8/00_x_8/g;
s/8x8/8_x_8/g;
s/8x8/8_x_8/g;
s/nx8/n_x_8/g;
s/24x16/24_x_16/g;
s/16x16/16_x_16/g;
s/8xx8/8_x_x8/g;
s/8xn/8_x_n/g;
s/nx0/n_x_0/g;
s/_x_/_/g;
s/f00bar/b8g8r8x8/;
# Fix up NEON type names
s/uint8_8/uint8x8/g;
Søren Sandmann Pedersen [Mon, 29 Jun 2009 00:45:58 +0000 (20:45 -0400)]
Rename fetchers.
s/fbFetchPixel/fetch_pixels/g;
s/fbFetch/fetch_scanline/g;
s/fbStore/store_scanline/g;
Søren Sandmann Pedersen [Wed, 8 Jul 2009 04:38:28 +0000 (00:38 -0400)]
Use postfix decrement, not prefix, in region-test.c
Søren Sandmann Pedersen [Wed, 8 Jul 2009 04:08:49 +0000 (00:08 -0400)]
Eliminate empty rectangles in pixman_region_init_rects().
Otherwise they show up in the validated regions.
Søren Sandmann Pedersen [Wed, 8 Jul 2009 02:55:32 +0000 (22:55 -0400)]
Add an initialization with an empty rectangle to region-test.c
This should produce a valid region without empty rectangles in
it. Currently it doesn't.
Søren Sandmann Pedersen [Tue, 7 Jul 2009 00:37:14 +0000 (20:37 -0400)]
Expand comment in miClipPictureSrc() to explain why a client clip is required.
Søren Sandmann Pedersen [Sun, 5 Jul 2009 04:35:31 +0000 (00:35 -0400)]
Fix forgotten use BITMAP_BIT_ORDER to be ifndef WORDS_BIG_ENDIAN
Søren Sandmann Pedersen [Sun, 5 Jul 2009 02:49:16 +0000 (22:49 -0400)]
Return TRUE for the two new formats in pixman_format_supported_source().
Søren Sandmann Pedersen [Mon, 29 Jun 2009 15:21:33 +0000 (11:21 -0400)]
Inlucde pixman-private.h in pixman-region.c
Delete some duplicated macros.
Søren Sandmann Pedersen [Mon, 29 Jun 2009 15:07:20 +0000 (11:07 -0400)]
Rename OptimizedOperatorInfo to optimized_operator_info_t
Ben Skeggs [Wed, 1 Jul 2009 00:18:29 +0000 (10:18 +1000)]
Add accessor functions for PIXMAN_x2r10g10b10 and PIXMAN_a2r10g10b10
Jonathan Morton [Wed, 1 Jul 2009 13:29:48 +0000 (16:29 +0300)]
Avoid overrunning scanlines in NEON blitters.
Søren Sandmann Pedersen [Sun, 28 Jun 2009 22:54:32 +0000 (18:54 -0400)]
Change comma to semicolon in pixman-combine.c.template
Siarhei Siamashka [Sat, 27 Jun 2009 08:56:38 +0000 (11:56 +0300)]
Really fix ARM build.
Commit
9d3f71d726c8b959b64c3e6b43ca4d3ccb320c32 broke the build
on ARM architectures by just removing custom include files and
not providing "pixman-private.h" as a replacement.
Guillaume Letellier [Fri, 26 Jun 2009 23:02:08 +0000 (19:02 -0400)]
Fix ARM build.
Commit
6e20c2574354d1cb071a1201ff166cb5e92c00d2 broke the build on ARM
architectures by not updating the use of fbComposeGetSolid()
correctly.
Søren Sandmann Pedersen [Fri, 26 Jun 2009 22:58:23 +0000 (18:58 -0400)]
Change checks for srca == 0 to src == 0
It is not generally correct to bail out just because the source alpha
is 0. The color channels still mig not be and in that case the correct
result is:
s + (1 - srca) * d = s + d
which is not generally 0.
Søren Sandmann Pedersen [Thu, 25 Jun 2009 16:42:03 +0000 (12:42 -0400)]
Make arm compositing functions static
Søren Sandmann Pedersen [Thu, 25 Jun 2009 14:20:44 +0000 (10:20 -0400)]
Delete ARM header files
Siarhei Siamashka [Tue, 23 Jun 2009 22:30:34 +0000 (01:30 +0300)]
Use -mcpu instead of -march for ARM SIMD runtime autodetection
Option -mcpu has higher priority than -march with the current versions
of gcc and that's why it is better to use. There is no particular
reason why 'arm1136j-s' is used in this patch, it could be any armv6
compatible core.
Søren Sandmann Pedersen [Thu, 25 Jun 2009 00:08:50 +0000 (20:08 -0400)]
Add test cases to oob-test using PIXMAN_{a,x}2b10g10r10
Søren Sandmann Pedersen [Wed, 24 Jun 2009 17:12:07 +0000 (13:12 -0400)]
Post-release version bump
Søren Sandmann Pedersen [Wed, 24 Jun 2009 16:51:40 +0000 (12:51 -0400)]
Pre-release version bump
Søren Sandmann Pedersen [Wed, 24 Jun 2009 09:44:18 +0000 (05:44 -0400)]
Delete scanFetchProc type. Use fetch_scanline_t instead.
fetch_scanline_t now takes a pixman_image_t argument instead of an
bits_image_t, so there is also a bunch of updates in pixman-access.c
Søren Sandmann Pedersen [Wed, 24 Jun 2009 01:28:28 +0000 (21:28 -0400)]
Constify the mask argument to scanline fetchers.
Søren Sandmann Pedersen [Wed, 24 Jun 2009 01:22:06 +0000 (21:22 -0400)]
Add a mask and mask_bits argument to the raw scanline fetchers.
Søren Sandmann Pedersen [Wed, 24 Jun 2009 01:10:52 +0000 (21:10 -0400)]
Rename fetchProc32 to fetch_scanline_t and fetch_pixels_32_t to fetch_pixels_t
Søren Sandmann Pedersen [Wed, 24 Jun 2009 00:58:39 +0000 (20:58 -0400)]
Get rid of the 64 bit fetcher types.
It's simpler to just declare everything as 32 bit fetchers and do the
conversion in the few functions that actually need to know the size of
the pixel type.
Søren Sandmann Pedersen [Wed, 24 Jun 2009 00:38:58 +0000 (20:38 -0400)]
Consolidate the three scanline store types into one.
The 64 bit storers do their own type conversion.
Søren Sandmann Pedersen [Tue, 23 Jun 2009 23:03:11 +0000 (19:03 -0400)]
Get rid of remaining scanFetchProc casts
Søren Sandmann Pedersen [Tue, 23 Jun 2009 23:02:10 +0000 (19:02 -0400)]
Get rid of scanFetchProc casts in pixman-radial-gradient.c
Søren Sandmann Pedersen [Tue, 23 Jun 2009 23:00:52 +0000 (19:00 -0400)]
Get rid of scanFetchProc casts in pixman-conical-gradient.c
Søren Sandmann Pedersen [Tue, 23 Jun 2009 22:58:39 +0000 (18:58 -0400)]
Get rid of casts to scanFetchProc in pixman-bits-image.c
Instead just declare the functions with the required type and do any
type conversions in the function itself.
Søren Sandmann Pedersen [Tue, 23 Jun 2009 22:44:01 +0000 (18:44 -0400)]
Fix bug where 64 bit pixel were fetched as 32 bit ones.
Søren Sandmann Pedersen [Tue, 23 Jun 2009 22:41:35 +0000 (18:41 -0400)]
Delete FbIntMult and FbIntDiv macros, and move FbIntAdd to pixman-combine.h
Søren Sandmann Pedersen [Wed, 24 Jun 2009 16:10:48 +0000 (12:10 -0400)]
Add a table to oob-test so that it can test more than one setup.
Søren Sandmann Pedersen [Wed, 24 Jun 2009 15:28:03 +0000 (11:28 -0400)]
Fix offset bug in pixman_run_fast_path().
Fast paths should only run when the source images complete cover the
composite region, because otherwise they would be required to sample
the border, and fast paths generally don't know how to do that.
The check for this did not work right because it didn't take the
offset generated by the composite coordinates into account. This
commits fixes that by adding (x, y) coordinates to image cover
indicating the new position of the source in destination coordinates.
Based on this we now compare against the region extents which are
already in destination coordinates.
Søren Sandmann Pedersen [Wed, 24 Jun 2009 15:23:04 +0000 (11:23 -0400)]
Fix typo in oob-test.c
Søren Sandmann Pedersen [Wed, 24 Jun 2009 14:37:07 +0000 (10:37 -0400)]
Add test case for out-of-bounds memory access.
Søren Sandmann Pedersen [Wed, 24 Jun 2009 13:04:54 +0000 (09:04 -0400)]
Fix comment in pixman-utils to have the right sense.
Søren Sandmann Pedersen [Tue, 23 Jun 2009 20:55:53 +0000 (16:55 -0400)]
Subtract x_off/y_off before conversion to integer.
They are fixed-point values, not integers.
Bug 22437, reported by Michel Dänzer.
Søren Sandmann Pedersen [Tue, 23 Jun 2009 20:37:35 +0000 (16:37 -0400)]
Add convolution-test.c program
Søren Sandmann Pedersen [Tue, 23 Jun 2009 20:23:26 +0000 (16:23 -0400)]
Delete leftover use of PIXMAN_OP_FLASH_SUBTRACT
Søren Sandmann Pedersen [Tue, 23 Jun 2009 18:55:36 +0000 (14:55 -0400)]
Remove support for component alpha with HSL blend modes.
It isn't clear that component alpha makes sense with HSL blend modes.
Søren Sandmann Pedersen [Tue, 23 Jun 2009 18:39:49 +0000 (14:39 -0400)]
Remove FLASH_SUBTRACT blend mode.
We may resurrect it later, but leave it out for now, as the closest
thing we have to a spec:
http://www.kaourantin.net/2005/09/some-word-on-blend-modes-in-flash.html
claims that alpha values should be subtracted, whereas real-world flash
files indicate that they shouldn't.
Carlos Garcia Campos [Tue, 23 Jun 2009 15:12:39 +0000 (17:12 +0200)]
Fix BlendColorBurn
It should return 0 when sa == 0
Søren Sandmann Pedersen [Sun, 21 Jun 2009 00:19:57 +0000 (20:19 -0400)]
Add screen-test.c test program
Søren Sandmann Pedersen [Wed, 17 Jun 2009 15:46:01 +0000 (11:46 -0400)]
Make the composite test window bigger by default.
Also rearrange the squares to better match typical aspect ratios.
Carlos Garcia Campos [Thu, 18 Jun 2009 13:24:33 +0000 (15:24 +0200)]
Use floating point in SetLum
Carlos Garcia Campos [Wed, 17 Jun 2009 15:40:52 +0000 (17:40 +0200)]
Do not use combineMask in component-alpha functions
Carlos Garcia Campos [Wed, 17 Jun 2009 14:59:45 +0000 (16:59 +0200)]
Fix typo
Carlos Garcia Campos [Wed, 17 Jun 2009 08:46:44 +0000 (10:46 +0200)]
[TEST] Update composite-test to test more operators
Søren Sandmann Pedersen [Sat, 29 Nov 2008 20:12:45 +0000 (15:12 -0500)]
Fix ColorDodge and ColorBurn to conform to the spec
Søren Sandmann Pedersen [Sat, 29 Nov 2008 20:11:07 +0000 (15:11 -0500)]
Remove optimizations that I'm not convinced are correct
Søren Sandmann Pedersen [Sat, 29 Nov 2008 20:02:04 +0000 (15:02 -0500)]
Fix some more problems in MultiplyC
Søren Sandmann Pedersen [Sat, 29 Nov 2008 19:53:57 +0000 (14:53 -0500)]
Fix various problems in FbCombineMultiplyC
Don't read the destination unless we have to. fbByteMulAddC()
produces its result in its first argument, not its last.
Søren Sandmann Pedersen [Wed, 26 Nov 2008 18:52:00 +0000 (13:52 -0500)]
Add some comments about the linearity of the non-separable blend modes
Benjamin Otte [Tue, 25 Nov 2008 21:53:37 +0000 (22:53 +0100)]
fix component-alpha versions to set source to 0 when mask is 0
Benjamin Otte [Tue, 25 Nov 2008 21:50:54 +0000 (22:50 +0100)]
remove debugging leftovers
Benjamin Otte [Tue, 25 Nov 2008 21:50:17 +0000 (22:50 +0100)]
correct subtract implementation
Benjamin Otte [Sun, 23 Nov 2008 17:36:32 +0000 (18:36 +0100)]
fix Multiply component-alpha version
Benjamin Otte [Sun, 23 Nov 2008 17:34:50 +0000 (18:34 +0100)]
fix comment
Benjamin Otte [Sun, 23 Nov 2008 16:03:50 +0000 (17:03 +0100)]
fix component-alpha versions for seperable blend modes
Benjamin Otte [Sun, 23 Nov 2008 15:23:22 +0000 (16:23 +0100)]
rename operator SUBTRACT to FLASH_SUBTRACT
Also document it and move it out of the PDF blend modes to make clear
that it is not in any way related to PDF.
Benjamin Otte [Sun, 23 Nov 2008 14:42:53 +0000 (15:42 +0100)]
rework blend-mode documentation to match current code better
Benjamin Otte [Wed, 19 Nov 2008 20:07:13 +0000 (21:07 +0100)]
typo fix: Seperable => Separable
Benjamin Otte [Wed, 19 Nov 2008 20:06:06 +0000 (21:06 +0100)]
remove semicolon at end of macro
Benjamin Otte [Wed, 19 Nov 2008 20:05:16 +0000 (21:05 +0100)]
remove a leftover debugging statement
That was an assertion check by infinite loop
Benjamin Otte [Thu, 13 Nov 2008 16:40:10 +0000 (17:40 +0100)]
invent a Subtract operator for component alpha
This seems to make sense, and as I can't test it against Adobe's Flash
player as that one can't do component alpha, this one looks best.
Benjamin Otte [Thu, 13 Nov 2008 16:34:19 +0000 (17:34 +0100)]
add non-seperable versions for component alpha
Benjamin Otte [Thu, 13 Nov 2008 16:29:00 +0000 (17:29 +0100)]
add component-alpha versions of the seperable blend-modes
Benjamin Otte [Thu, 13 Nov 2008 15:12:22 +0000 (16:12 +0100)]
rewrite nonseperable blend modes the same way as seperable ones
Benjamin Otte [Thu, 13 Nov 2008 14:13:17 +0000 (15:13 +0100)]
clean up seperable blend modes
The code is now shorter and faster than before
Benjamin Otte [Wed, 12 Nov 2008 18:26:13 +0000 (19:26 +0100)]
prefix HSL operators with HSL
This is necessary to distinguish SATURATE from PDF's HSL SATURATION
Benjamin Otte [Wed, 12 Nov 2008 18:12:12 +0000 (19:12 +0100)]
remove invert operator
src INVERT dest == (white IN src) DIFFERENCE dest
Benjamin Otte [Thu, 23 Oct 2008 19:20:23 +0000 (21:20 +0200)]
add nonseperable blend modes from PDF spec
Benjamin Otte [Thu, 9 Oct 2008 19:46:50 +0000 (21:46 +0200)]
fix ColorDodge and ColorBurn to conform to the PDF spec
Benjamin Otte [Thu, 9 Oct 2008 16:00:45 +0000 (18:00 +0200)]
use PDF algorithm for soft-light
Benjamin Otte [Tue, 7 Oct 2008 13:13:45 +0000 (15:13 +0200)]
Add INVERT and SUBTRACT blend modes used in Flash
Benjamin Otte [Wed, 29 Aug 2007 21:15:33 +0000 (23:15 +0200)]
use a pixman_op_t here
This improves the readability in gdb when debugging this structure
Benjamin Otte [Thu, 25 Sep 2008 10:53:06 +0000 (12:53 +0200)]
Add support for extended blend mode. First pass.
This adds support only for FbCombineU function.
This work is based on equations provided in SVG 1.2 specification draft.
http://www.w3.org/TR/SVG12/
Based on a previous patch by Emmanuel Pacaud <emmanuel.pacaud@free.fr>
Michel Dänzer [Tue, 23 Jun 2009 18:02:26 +0000 (14:02 -0400)]
Fix the build on big endian machines.
Søren Sandmann Pedersen [Tue, 23 Jun 2009 17:44:48 +0000 (13:44 -0400)]
Rename PIXMAN_FORMAT_16BPC macro to PIXMAN_FORMAT_IS_WIDE
Søren Sandmann Pedersen [Tue, 23 Jun 2009 17:41:27 +0000 (13:41 -0400)]
Write alpha map fetching with FbByteMul() instead of div_255()
Delete the div_255/div_65535 macros.
Søren Sandmann Pedersen [Tue, 23 Jun 2009 11:34:17 +0000 (07:34 -0400)]
Remove unused typedefs.
Søren Sandmann Pedersen [Tue, 23 Jun 2009 00:43:08 +0000 (20:43 -0400)]
Delete unused _pixman_image_get_fetcher() function
Søren Sandmann Pedersen [Mon, 22 Jun 2009 23:51:13 +0000 (19:51 -0400)]
Move accessor macros to their own header.
Also rearrange some things in pixman-private.h
Søren Sandmann Pedersen [Mon, 22 Jun 2009 23:38:58 +0000 (19:38 -0400)]
Move FbGet8() macro into pixman-bits-image.c
It is only used for bilinear filtering now. Also some formatting
changes in pixman-private.h
Søren Sandmann Pedersen [Mon, 22 Jun 2009 23:35:11 +0000 (19:35 -0400)]
Delete FbInOverC macro
Søren Sandmann Pedersen [Mon, 22 Jun 2009 23:25:25 +0000 (19:25 -0400)]
Make pixman-mmx.c compile again.
Søren Sandmann Pedersen [Mon, 22 Jun 2009 20:34:15 +0000 (16:34 -0400)]
Fix typo in CLIP macro.
Søren Sandmann Pedersen [Mon, 22 Jun 2009 20:05:27 +0000 (16:05 -0400)]
Turn the FbAdd() macro into an FbIntAdd() which doesn't take a channel.
The only use of the channel argument could be written better with FbByteAdd().
Søren Sandmann Pedersen [Mon, 22 Jun 2009 19:58:28 +0000 (15:58 -0400)]
Delete FbInU macro.
Replace uses of it with FbIntMult().
Søren Sandmann Pedersen [Mon, 22 Jun 2009 19:21:40 +0000 (15:21 -0400)]
Use fbOver() instead of fbOver24.
fbOver() is faster anyway, and this lets us get rid of fbOverU.
Also use FbByteMul() in fbIn instead of four times FbInU.
Finally, delete FbOverC and FbInC since they weren't used.
Søren Sandmann Pedersen [Mon, 22 Jun 2009 12:09:11 +0000 (08:09 -0400)]
Eliminate Fetch/Store24 macros.
Replace them with inline functions in pixman-bits-image.c.
Søren Sandmann Pedersen [Mon, 22 Jun 2009 11:05:24 +0000 (07:05 -0400)]
Remove unused ACCESS macros in pixman-bits-image.c
Søren Sandmann Pedersen [Mon, 22 Jun 2009 10:51:04 +0000 (06:51 -0400)]
Various minor changes
- Add underscores to the pixman_image_get_solid(),
pixman_image_is_solid(), and pixman_is_opaque() names.
- A number of formatting fixes
- Move debug code to the end of pixman-private.h
- Collect all prototypes for image methods in one place
Søren Sandmann Pedersen [Mon, 22 Jun 2009 02:33:31 +0000 (22:33 -0400)]
Some formatting changes