Commit graph

31 commits

Author SHA1 Message Date
bjs
1c7d8bab60 Update to pixman-0.12.0 from 0.11.10.
In addition to many bug fixes, new features [since approximately 0.10.0]
include:

 	- New image formats with 10 bits per channel
 	- SSE2 optimizations for many operations
 	- Opacity based optimizations for operators
 	- Altivec optimizations for many operations
 	- A 32 bit region implementation
2008-10-15 00:56:45 +00:00
tron
e0c7c45518 Properly enclose the Mac OS X work around in the appropriate checks.
Problem pointed out by Quentin Garnier.
2008-10-06 12:54:43 +00:00
tron
b76af69875 Work arond the broken libtool archive "/usr/X11/lib/libpixman-1.la" under
Mac OS X Leopard. This fixes build problems in e.g. the "cairo" package.
2008-10-06 11:22:09 +00:00
cube
403e256ff6 Merge cube-native-xorg, so that pkgsrc-current can be used with the native
X.Org found in NetBSD-current.

Thanks a lot to all who helped, especially Matthias Scheler who did
repeated tests on Mac OS X and older versions of NetBSD to make sure the
support for those platforms wouldn't be broken (or at least, not fatally,
as I would still expect a few hiccups here and there, because there is
only so much one can test in such limited time).

On the infrastructure side, this branch brings pkgconfig-builtin.mk, in
order to write very easily new builtin.mk files.  It can actually handle
more than just pkgconfig files, but it will provide a version if it finds
such a file.  x11.builtin.mk has also been made more useful and now all
existing (and future!) native-X11-related builtin.mk files should include
it.
2008-10-05 21:36:32 +00:00
bjs
0a46fe688d Add two patches from GIT:
- Fix bug in pixman_image_is_opaque().
- Fix for bug 17477 (see patch-ag).

While here, add missing .PHONY attribute for gen-symfile target.

PKGREVISION++, but no recursive dependency bump necessary.
2008-09-16 21:22:34 +00:00
tron
0858b4dc53 Remove this file again:
- There's a better version in the "cube-native-xorg" branch.
- Using the bundled "pixman" library doesn't work under Mac OS X anyway
  because Apple didn't update the ".la" file at same point.

[It is likely that the second issue will require attention after the
 "cube-native-xorg" branch has been merged.]
2008-09-16 13:10:41 +00:00
tron
5359edb3be Detect builtin "pixman" e.g. under Mac OS X Leopard. 2008-09-16 11:41:33 +00:00
bjs
1867accb76 Use ${TRUE} instead of 'true'. 2008-09-06 20:13:13 +00:00
bjs
6d3f41ecce Update to version 0.11.10, a bug-fix release. In addition,
add a 'gen-symfile' target for regenerating the libtool
export symfile.  This should be run upon updating the package.
While here, silence needless autotools warnings and update
sse2 conditional in hacks.mk.

Changes since 0.11.8:

              Add depth 30 formats to pixman_format_supported_source.

              [sse2] Change pixman-sse to pass __mm128i args as
              pointers, so as not to

              Use CopyAreasse2, plus a compatibility fix

              Use hidden attribute for private functions when
              compiling with Sun Studio

              Minor portability fixes
              Post-release version-bump
              Update RELEASING and release targets in Makefile.am
              Fix typo in sse2 configure logic
              TODO
              Don't require GCC 4.2 on x86-64
              Bug 16921. MMX and SSE2 intrinsics not enabled when
              compiling with Intel'
              Remove use of MMX extensions.
              Be consistent in naming SSE2 related things SSE2
              A few other renamings of SSE->SSE2
              Rename pixman-sse.h pixman-sse2.h
              Make sure pixman-combine{32,64}.h are disted
              Use error instead of #error in a couple of other places
              Check for __sun || __sun in pixman.h. Update TODO
              Bump release
              Update RELEASING

              Add sys/inttypes.h include for AIX
2008-09-06 20:09:15 +00:00
abs
047da978ae revert patch-aa distinfo change 2008-07-19 09:57:09 +00:00
bjs
e71068a954 Maintaining this package seems like a full-time job!
Correct the sse2 detection logic in configure/configure.ac.
Bump PKGREVISION.
2008-07-18 19:03:32 +00:00
bjs
a0fd130aa8 Wow, that was quick: update to pixman-0.11.8. Changes:
(just a reminder: when updating this package, be sure to adjust
files/pixman.sym appropriately)

commit 411c0e990f7a96d4e15f2cbbe07d3b50b6a20f95

    Make a couple of functions static

commit 96f57c07f24cd6d86c0aad624bd1a16b85f08e04

    Speed up fbOver

    Use FbByteMulAdd to operate on two components at a time and force
    the function to be inlined.

commit dcbe4b3f80fb8dc6a83efa7e66a891f8b102608d

    fix --enable-{mmx,sse2,vmx}

    If --enable-foo is used, don't treat it as --disable-foo, and
    error out if the appropriate compiler support isn't detected.

commit e21f00db50c30e80c8969fbf63982aeb7434dc1d

    Add pixman-1-uninstalled.pc file

commit 1570746350baf82d36aeb7ea1702350700b795d7

    Use -no-undefined -- fixes bug 15927

commit 99fead412e7602daf193035831b952e252dac0e1

    Use <inttypes.h> on most types of Unix.

    Fix for bug 15560.

commit 2070f10db927a97d7d38024e607093f5a6e00291

    Remove unused pixman-combine.c

commit 9d54568d5f93701313fdbb49c1ef9dc79fe5850c

    Fix SSE2 bug where x888 pixels were treated as 8888

commit 7dfd023e94d9ab5940d7062c2e5cde11ab02f43e

    fix Altivec detection

    the old code used to cause infinite looping on G3 machines.

commit 0a92401678286eb438fe24979fd032efba540a0a

    Fix fbCompositeSrc_x888xnx8888mmx to properly ignore source alpha

commit 687176023caf53f2fe234827d152f270048b1cd3

    make --{en,dis}able-gtk work correctly

    --enable-gtk had the same effect as --disable-gtk.
    Now we check for it by default, and error out if we can't
    find it and it was explicitly enabled.

commit 9d97716d2fd91d5611a5e7a7b29b38887b672e9f

    Fix bug 16310 in the SSE2 fast path in function
    fbCompositeSolidMask_nx8888x0565Csse2

commit eb53d111bd8651cd00c1b728b09e8be09b8482f7

    Add a lossy 32-bit generic pixel fetch function for wide surfaces.

    The transformed fetch path currently only works at 32-bit precision.
    Until a wide version of that function is added, we need to have a
    path to perform a wide FetchPixel and then contract it down to
    a8r8g8b8.

    Also, use the right format when expanding the result in
    fbFetchTransformed64.  fbFetchTransformed returns a8r8g8b8 results.

commit 3c43b869f3821495978c61b9195f0b0e9e9e1245

    Unexport or delete various functions

    - Delete pixman_region_append()
    - Delete pixman_region_empty()
    - Make pixman_region_validate() static and don't export it.

    Reported by Julien Cristau.

commit 36b05f2cac7fa28e31131ca0d6b8b133ccd95ab8

    Only export the 16 bit version of pixman_region_set_static_pointers()
2008-07-18 03:34:10 +00:00
tnn
9fd37ed37a pixman-0.11.6 added a configure flag called --disable-sse2.
Use this when building with Sun Studio, since my original fix (patch-ae)
was reverted again.
2008-07-14 05:31:57 +00:00
bjs
96def92427 Update to pixman-0.11.6. ChangeLog:
commit a766b62880108f278478888f5167a5fbf2819a97

    Add configure time options to disable mmx/sse2/vmx

commit 02268903e4311709744c11e495f9b17f171ec5e9

    pixman-sse.c: silence pointer-cast compiler warnings.

    Cast pointers to words of the same size, not 32-bits.

commit eb2d95de98683a387153f010077ad9c3c3b1b01d

    Fix implicit declaration of function 'free'.

    Otherwise pointer will be truncated on 64bit arch and
    your programs will crash.

commit 29d144712e558aaeb49f4384028dd669d76a410b

    Fix memory leak by freeing boxes{16,32}.

    After calling pixman_region_init_rects() or
    pixman_region32_init_rects(), boxes{16,32} were not freed before
    returning. Fixes bug 16312.

commit 5d32519316b40b35113c6df9e15d955a16709ba2

    Use pixman_malloc_ab instead of plain malloc for the
    fbStore64_generic scratch buffer.

commit b1c70c4e6435d7f15751111828c381feb1d139cf

    Move PIXMAN_FORMAT_16BPC to pixman-private.h

commit 7fa966df0ee781fa486715710f389b148c11d36e

    Decide based on the image formats whether we need wide compositing.

commit 7cb735c9c0fa55ae1f4d8d13da9f33e3da2ae8fe

    Take the source format into account in pixman_expand.

    Extract the original bits of the source image for each
    component and then replicate up to 16 bits to fill the wide
    components.  Make sure to hard-code the alpha value to 1 if
    the source format didn't have alpha.

commit c0d98e96605c6d03f4b02f337f2f5827165bb092

    Make expansion and contraction loops clearer.

commit fc0b28bf6af81428b7ac045614eea97fbf9c4a70

    Add wide source picture, external alpha, and transformed
    image routines.  The wide external alpha path should work
    correctly with wide formats.  The wide transformed fetch code for
    now just does a 32-bit fetch and then expands, which will lose
    precision.  Source pictures, for now, are evaluated at depth 32
    and then are expanded to depth 64.  We could get higher precision
    by evaluating them directly at depth 64, but this should be good
    enough for now.

commit 42a3a2d6fc8d3e521c6914ff8fb89f1fbc673e28

    Add wide fetch/store functions.

    Use the narrow ones and expand/contract where necessary.  Still
    need wide paths for fancy pictures, but this gets the
    basic stuff working.

commit 7591d3f1d7e0884f9362018edf720724095cf380

    Add expand and contract functions to convert between ARGB8
    and ARGB16.  The expansion function isn't quite correct,
    but gives reasonable results.
2008-07-13 23:16:02 +00:00
tnn
bcab8d0c86 Recommit the following, which was removed a couple of weeks ago:
date: 2008/04/27 11:58:09;  author: tnn;  state: Exp;  lines: +2 -2
Skip the SSE2 configure test if we already know we don't have SSE,
because Sun Studio gets the result of the SSE2 test wrong.
2008-07-12 15:34:48 +00:00
bjs
e7d1a53440 Fix trailing white-space. 2008-06-19 17:59:52 +00:00
bjs
ca559cb9aa Update to pixman-0.11.4. No ChangeLog--you may check the GIT history
if you're curious.

Also (this is noted in the Makefile):

The configure script is written to fail if it detects gcc<4.0
for lack of -fvisibility=hidden. In keeping with the pkgsrc
tradition of portability, we'll opt to use libtool to export
the desired symbols, hiding the rest.

I have verified the list of visible symbols is unchanged from
the "factory" build.
2008-06-19 17:51:27 +00:00
tnn
9f2a42bc6b Switch master site to MASTER_SITE_XORG. 2008-05-24 21:45:14 +00:00
tnn
c5e7acf194 Yet another IRIX build fix. 2008-05-19 19:16:56 +00:00
tnn
0719bbccf2 Skip the SSE2 configure test if we already know we don't have SSE,
because Sun Studio gets the result of the SSE2 test wrong.

Bump PKGREVISION.
2008-04-27 11:58:09 +00:00
tnn
a48512c117 Back out patch-ac rev. 1.3, which doesn't seem to be needed when
using patch-af. See PR pkg/38484 for the discussion.
2008-04-23 12:12:06 +00:00
tnn
b70ccd274c - add patch from git for disabling gcc --param inline-* if not GCC, and
change patch to disable if not GCC4.
- add patch from PR pkg/38484 to fix missing symbol pixman_have_sse
- bump PKGREVISION
2008-04-23 09:44:05 +00:00
bjs
f3eb140717 Update to pixman 0.10 plus some tiny patches from GIT.
Notable improvements:

 * Support for new YUV formats
 * MMX acceleration now works with MS Visual C++
 * Many performance improvements and bug fixes
2008-04-07 15:02:04 +00:00
bjs
52482d23b2 Update to 0.9.6pl0, beginning my new local versioning scheme for
snapshots.  This was mostly done to fold the patches into
a new distfile, but a NULL pointer dereference and the EXTEND_PAD
macro were fixed also (see git history).

Bump rev.
2008-03-03 02:25:38 +00:00
bjs
09c7e01352 Fix a null pointer dereference, some warnings, and add refactored code
for FbFetchTransformed() from GIT.  Bump rev.
2008-02-18 05:36:51 +00:00
bjs
696efe81a5 Update to latest GIT snapshot. Minor fixes, plus all patches are no
longer needed (finally).  Bump rev.
2008-02-07 06:40:27 +00:00
bjs
ba8428bd80 A tiny addition to patch-aa: don't use the C++ keyword "xor" in pixman.h.
Bump rev.
2008-01-18 03:12:13 +00:00
tnn
3e841d9ec7 Add missing checksum for patch-ac (hi Blair!) 2008-01-12 21:35:43 +00:00
bjs
b6de97bf96 Add patch so that pixbuf fast paths are not used when the source
picture has alpha.  Fixes freedesktop.org bugzilla bug #13650.

Bump rev.
2008-01-09 04:16:41 +00:00
bjs
e69b3a97d3 Update to a snapshot from GIT head. The current revision seems better
to me than the release.  Bump rev.

Changes include:

    Guard MMX get_fast_path() with pixman_have_mmx()

    Use -fvisibility=hidden by default.

    Add a PIXMAN_EXPORT macro that expands to the appropriate GCC magic.
    Various formatting fixes.

    Make the tables static; remove unused flag

    Set maskRepeat to FALSE when the function is NEED_SOLID_MASK

    Conditionalize MMX code with USE_MMX

    Don't skip fbFetch/fbStore when PIXMAN_FB_ACCESSORS is enabled.

    pixman_composite_rect_general_accessors skips the fetch / store steps by
    setting store to NULL when the op is ADD or OVER and the dest format is
    [ax]8r8g8b8.  This optimization is only valid when no accessors are
    in play.
2007-12-18 00:10:44 +00:00
bjs
71e47998c8 Import pixman-0.9.6. This library provides low-level pixel manipulation
routines, currently used (at least) by xorg-server>=1.4 and cairo>=1.5.
Presently, nothing depends on this library, but probably will soon.
Also, those building their own Xorg servers will need this.
2007-11-08 19:51:43 +00:00