Andreas Boll pushed to branch debian-unstable at X Strike Force / lib / pixman
Commits: ba1868a8 by Oded Gabbay at 2015-12-23T08:46:40Z Post 0.34 branch creation version bump to 0.35.1 Signed-off-by: Oded Gabbay <oded.gab...@gmail.com> - - - - - ceb49cbd by Andrea Canciani at 2015-12-23T20:23:46Z build: Remove use of BUILT_SOURCES from Makefile.win32 Since 3d81d89c292058522cce91338028d9b4c4a23c24 BUILT_SOURCES is not used anymore, but it was unintentionally left in Win32 Makefiles. Signed-off-by: Andrea Canciani <ranm...@gmail.com> Reviewed-by: Oded Gabbay <oded.gab...@gmail.com> - - - - - cc35d019 by Andrea Canciani at 2015-12-23T20:23:57Z build: Avoid phony `pixman` target in test/Makefile.win32 Instead of explicitly depending on "pixman" for the "all" and "check" targets, rely on the dependency to the .lib file Signed-off-by: Andrea Canciani <ranm...@gmail.com> Reviewed-by: Oded Gabbay <oded.gab...@gmail.com> - - - - - 93b876c1 by Andrea Canciani at 2015-12-23T20:24:06Z build: Do not use `mkdir -p` on Windows When the build is performed using `cmd.exe` as shell, the `mkdir` command does not support the `-p` flag. The ability to create multiple netsted folder is not used, hence it can be easily replaced by only creating the directory if it does not exist. This makes the build work on the `cmd.exe` shell, except for the `clean` targets. Signed-off-by: Andrea Canciani <ranm...@gmail.com> Acked-by: Oded Gabbay <oded.gab...@gmail.com> - - - - - af068971 by Simon Richter at 2015-12-23T20:24:17Z build: Use `del` instead of `rm` on `cmd.exe` shells The `rm` command is not usually available when running on Win32 in a `cmd.exe` shell. Instead the shell provides the `del` builtin, which has somewhat more limited wildcars expansion and error handling. This makes all of the Makefile targets work on Win32 both using `cmd.exe` and using the MSYS environment. Signed-off-by: Simon Richter <simon.rich...@hogyros.de> Signed-off-by: Andrea Canciani <ranm...@gmail.com> Acked-by: Oded Gabbay <oded.gab...@gmail.com> - - - - - 342cbf16 by Andrea Canciani at 2015-12-30T13:06:40Z build: Distinguish SKIP and FAIL on Win32 The `check` target in test/Makefile.win32 assumed that any non-0 exit code from the tests was an error, but the testsuite is currently using 77 as a SKIP exit code (based on the convention used in autotools). Fixes fence-image-self-test and cover-test (now reported as SKIP). Signed-off-by: Andrea Canciani <ranm...@gmail.com> Acked-by: Oded Gabbay <oded.gab...@gmail.com> - - - - - 7c6066b7 by Thomas Petazzoni at 2016-01-31T14:15:26Z pixman-private: include <float.h> only in C code <float.h> is included unconditionally by pixman-private.h, which in turn gets included by assembler files. Unfortunately, with certain C libraries (like the musl C library), <float.h> cannot be included in assembler files: CCLD libpixman-arm-simd.la /home/test/buildroot/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/float.h: Assembler messages: /home/test/buildroot/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/float.h:8: Error: bad instruction `int __flt_rounds(void)' /home/test/buildroot/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/float.h: Assembler messages: /home/test/buildroot/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/float.h:8: Error: bad instruction `int __flt_rounds(void)' It turns out however that <float.h> is not needed by assembly files, so we move its inclusion within the #ifndef __ASSEMBLER__ condition, which solves the problem. Signed-off-by: Thomas Petazzoni <thomas.petazz...@free-electrons.com> Reviewed-by: Siarhei Siamashka <siarhei.siamas...@gmail.com> - - - - - eb4a832e by Søren Sandmann Pedersen at 2016-09-02T04:40:11Z pixman-fast-path.c: Pick NEAREST affine fast paths before BILINEAR ones When a BILINEAR filter is reduced to NEAREST, it is possible for both types of fast paths to run; in this case, the NEAREST ones should be preferred as that is the simpler filter. Signed-off-by: Soren Sandmann <soren.sandm...@gmail.com> Reviewed-by: Bill Spitzak <spit...@gmail.com> - - - - - 76123690 by Søren Sandmann Pedersen at 2016-09-02T04:40:11Z Add new test of filter reduction from BILINEAR to NEAREST This new test tests a bunch of bilinear downscalings, where many have a transformation such that the BILINEAR filter can be reduced to NEAREST (and many don't). A CRC32 is computed for all the resulting images and compared to a known-good value for both 4-bit and 7-bit interpolation. V2: Remove leftover comment, some minor formatting fixes, use a timestamp as the PRNG seed. Signed-off-by: Søren Sandmann <soren.sandm...@gmail.com> Reviewed-by: Bill Spitzak <spit...@gmail.com> - - - - - b9ead7dd by Søren Sandmann Pedersen at 2016-09-02T04:40:11Z More general BILINEAR=>NEAREST reduction Generalize and simplify the code that reduces BILINEAR to NEAREST so that the reduction happens for all affine transformations where t00...t12 are integers and (t00 + t01) and (t10 + t11) are both odd. This is a sufficient condition for the resulting transformed coordinates to be exactly at the center of a pixel so that BILINEAR becomes identical to NEAREST. V2: Address some comments by Bill Spitzak Signed-off-by: Søren Sandmann <soren.sandm...@gmail.com> Reviewed-by: Bill Spitzak <spit...@gmail.com> - - - - - 99b57410 by Bill Spitzak at 2016-09-02T04:40:11Z demos/scale: Compute filter size using boundary of xformed ellipse Instead of using the boundary of xformed rectangle, use the boundary of xformed ellipse. This is much more accurate and less blurry. In particular the filtering does not change as the image is rotated. Signed-off-by: Bill Spitzak <spit...@gmail.com> Reviewed-by: Oded Gabbay <oded.gab...@gmail.com> Reviewed-by: Soren Sandmann <soren.sandm...@gmail.com> - - - - - 1e1af34d by Bill Spitzak at 2016-09-02T04:40:11Z demos/scale: fix blank subsamples spin box It now shows the initial value of 4 when the demo is started Signed-off-by: Bill Spitzak <spit...@gmail.com> Reviewed-by: Søren Sandmann <soren.sandm...@gmail.com> - - - - - afee2adc by Bill Spitzak at 2016-09-02T04:40:11Z demos/scale: Default to locked axis Signed-off-by: Bill Spitzak <spit...@gmail.com> Reviewed-by: Søren Sandmann <soren.sandm...@gmail.com> - - - - - 375f5ec5 by Bill Spitzak at 2016-09-02T04:40:11Z demos/scale: Added pulldown to choose PIXMAN_FILTER_* value This is very useful for comparing the results of SEPARABLE_CONVOLUTION with BILINEAR and NEAREST. v14: Removed good/best items v15: Skip filter generation so gnuplot output continues showing previous value Signed-off-by: Bill Spitzak <spit...@gmail.com> Reviewed-by: Oded Gabbay <oded.gab...@gmail.com> - - - - - d0e6c9f4 by Bill Spitzak at 2016-09-02T04:40:11Z pixman-image: Added enable-gnuplot config to view filters in gnuplot If enable-gnuplot is configured, then you can pipe the output of a pixman-using program to gnuplot and get a continuously-updated plot of the horizontal filter. This works well with demos/scale to test the filter generation. The plot is all the different subposition filters shuffled together. This is misleading in a few cases: IMPULSE.BOX - goes up and down as the subfilters have different numbers of non-zero samples IMPULSE.TRIANGLE - somewhat crooked for the same reason 1-wide filters - looks triangular, but a 1-wide box would be more accurate Changes by Søren: Rewrote the pixman-filter.c part to - make it generate correct coordinates - add a comment on how coordinates are generated - in rounding.txt, add a ceil() variant of the first-sample formula - make the gnuplot output slightly prettier v7: First time this ability was included v8: Use config option Moved code to the filter generator Modified scale demo to not call filter generator a second time. v10: Only print if successful generation of plots Use #ifdef, not #if v11: small whitespace fixes v12: output range from -width/2 to width/2 and include y==0, to avoid misleading plots for subsample_bits==0 and for box filters which may have no small values. Signed-off-by: Bill Spitzak <spit...@gmail.com> - - - - - 6acaf2bc by Bill Spitzak at 2016-09-02T04:40:12Z pixman-filter: reduce amount of malloc/free/memcpy to generate filter Rearranged so that the entire block of memory for the filter pair is allocated first, and then filled in. Previous version allocated and freed two temporary buffers for each filter and did an extra memcpy. v8: small refactor to remove the filter_width function v10: Restored filter_width function but with arguments changed to match later patches v11: Removed unused arg and pointer from filter_width function Whitespace fixes. Signed-off-by: Bill Spitzak <spit...@gmail.com> Reviewed-by: Oded Gabbay <oded.gab...@gmail.com> Acked-by: Søren Sandmann <soren.sandm...@gmail.com> - - - - - 6ae281fb by Bill Spitzak at 2016-09-02T04:40:12Z pixman-filter: Correct Simpsons integration Simpsons uses cubic curve fitting, with 3 samples defining each cubic. This makes the weights of the samples be in a pattern of 1,4,2,4,2...4,1, and then dividing the result by 3. The previous code was using weights of 1,2,0,6,0,6...,2,1. With this fix the integration is accurate enough that the number of samples could be reduced a lot. Multiples of 12 seem to work best. v7: Merged with patch to reduce from 128 samples to 16 v9: Changed samples from 16 to 12 v10: Fixed rebase error that made it not compile v11: minor whitespace change v14: more whitespace changes Signed-off-by: Bill Spitzak <spit...@gmail.com> Reviewed-by: Oded Gabbay <oded.gab...@gmail.com> Reviewed-by: Søren Sandmann <soren.sandm...@gmail.com> - - - - - 8855b3a2 by Bill Spitzak at 2016-09-02T04:40:12Z pixman-filter: integral splitting is only needed for triangle filter Only the triangle is discontinuous at 0. The other filters resemble a cubic closely enough that Simpsons integration works without splitting. Changes by Søren: Rebase without the changes to the integral function, update comment to match the new code. Signed-off-by: Bill Spitzak <spit...@gmail.com> Signed-off-by: Søren Sandmann <soren.sandm...@gmail.com> Reviewed-by: Søren Sandmann <soren.sandm...@gmail.com> - - - - - 3b46fce6 by Søren Sandmann Pedersen at 2016-09-02T04:40:12Z pixman-filter: Speed up BOX/BOX filter The convolution of two BOX filters is simply the length of the interval where both are non-zero, so we can simply return width from the integral() function because the integration region has already been restricted to be such that both functions are non-zero on it. This is both faster and more accurate than doing numerical integration. This patch is based on one by Bill Spitzak https://lists.freedesktop.org/archives/pixman/2016-March/004446.html with these changes: - Rebased to not assume any changes in the arguments to integral(). - Dropped the multiplication by scale - Added more details in the commit message. Signed-off-by: Søren Sandmann <soren.sandm...@gmail.com> Reviewed-by: Bill Spitzak <spit...@gmail.com> - - - - - 13314244 by Søren Sandmann Pedersen at 2016-09-03T18:53:06Z pixman-filter: Fix several issues related to normalization There are a few bugs in the current normalization code (1) The normalization is based on the sum of the *floating point* values generated by integral(). But in order to get the sum to be close to pixman_fixed_1, the sum of the rounded fixed point values should be used. (2) The multiplications in the normalization loops often round the same way, so the residual error can fairly large. (3) The residual error is added to the sample located at index (width - width / 2), which is not the midpoint for odd widths (and for width 1 is in fact outside the array). This patch fixes these issues by (1) using the sum of the fixed point values as the total to divide by, (2) doing error diffusion in the normalization loop, and (3) putting any residual error (which is now guaranteed to be less than pixman_fixed_e) at the first sample, which is the only one that didn't get any error diffused into it. Signed-off-by: Søren Sandmann <soren.sandm...@gmail.com> - - - - - d286078b by Bill Spitzak at 2016-09-03T18:53:07Z pixman-filter: Nested polynomial for cubic v11: Restored range checks Signed-off-by: Bill Spitzak <spit...@gmail.com> Reviewed-by: Oded Gabbay <oded.gab...@gmail.com> - - - - - 17c4ce2e by Bill Spitzak at 2016-09-03T18:53:07Z pixman-filter: Made Gaussian a bit wider Expanded the size slightly (from ~4.25 to 5) to make the cutoff less noticable. Previouly the value at the cutoff was gaussian_filter(sqrt(2)*3/2) = 0.00626 which is larger than the difference between 8-bit pixels (1/255 = 0.003921). New cutoff is gaussian_filter(2.5) = 0.001089 which is smaller. v11: added some math to commit message v14: left SIGMA in there Signed-off-by: Bill Spitzak <spit...@gmail.com> Acked-by: Oded Gabbay <oded.gab...@gmail.com> Reviewed-by: Søren Sandmann <soren.sandm...@gmail.com> - - - - - 85467ec3 by Søren Sandmann Pedersen at 2016-09-03T19:09:12Z Revert "demos/scale: Added pulldown to choose PIXMAN_FILTER_* value" This reverts commit 375f5ec5c5d2a6cc3586f57e36fdf08a3d0ac4e4. This patch was accidentally pushed. - - - - - 8b95e0e4 by Behdad Esfahbod at 2018-01-09T09:26:29Z Promote unsigned short to unsigned int explicitly ...to avoid default promotion to signed int, which causes undefined behaviour in the shift expression. - - - - - ddf42d62 by Dan Horák at 2018-05-14T20:31:49Z vmx: Fix vector loads on ppc64le Use vector intrinsic for loading possibly unaligned data instead of a typecast. Bugzilla: https://bugzilla.redhat.com/1572540 Signed-off-by: Dan Horák <d...@danny.cz> Signed-off-by: Adam Jackson <a...@redhat.com> Tested-by: Matt Turner <matts...@gmail.com> Reviewed-by: Siarhei Siamashka <siarhei.siamas...@gmail.com> - - - - - 9034d0cc by Adam Jackson at 2018-06-05T16:13:35Z ci: Add .gitlab-ci.yml Just builds on Fedora 28 for x86_64 at the moment, but it's a start. Credit to Daniel Stone for eliminating the nested docker image. Signed-off-by: Adam Jackson <a...@redhat.com> - - - - - a75c69f1 by Adam Jackson at 2018-06-05T16:33:50Z Merge branch 'ci' into 'master' ci: Add .gitlab-ci.yml See merge request pixman/pixman!1 - - - - - bd2b4918 by Vladimir Smirnov at 2018-06-05T16:35:07Z test: Adjust for clang's removal of __builtin_shuffle __builtin_shuffle was removed in clang 5.0. Build log says: test/utils-prng.c:207:27: error: use of unknown builtin '__builtin_shuffle' [-Wimplicit-function-declaration] randdata.vb = __builtin_shuffle (randdata.vb, bswap_shufflemask); ^ test/utils-prng.c:207:25: error: assigning to 'uint8x16' (vector of 16 'uint8_t' values) from incompatible type 'int' randdata.vb = __builtin_shuffle (randdata.vb, bswap_shufflemask); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2 errors generated Link to original discussion: http://lists.llvm.org/pipermail/cfe-dev/2017-August/055140.html It's possible to build pixman if attached patch is applied. Basically patch adds check for __builtin_shuffle support and in case there is none, falls back to clang-specific __builtin_shufflevector that do the same but have different API. Bugzilla: https://bugs.gentoo.org/646360 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104886 Tested-by: Philip Chimento <philip.chime...@gmail.com> Reviewed-by: Matt Turner <matts...@gmail.com> Reviewed-by: Adam Jackson <a...@redhat.com> - - - - - 018bf2f2 by Siarhei Siamashka at 2018-07-06T18:44:22Z test: Fix stride calculation in stress-test Currently the number of bits per pixel is used instead of the number of bytes per pixel when calculating image strides. This does not cause any real problems, but the gaps between scanlines are excessively large. This patch actually converts bits to bytes and rounds up the result to the nearest byte boundary. Signed-off-by: Siarhei Siamashka <siarhei.siamas...@gmail.com> Reviewed-by: soren.sandm...@gmail.com - - - - - a4b8a26d by Maarten Lankhorst at 2018-11-06T13:24:05Z pixman: Add support for argb/xrgb float formats, v5. Pixman is already using the floating point formats internally, expose this capability in case someone wants to support higher bit per component formats. This is useful for igt which depends on cairo to do the rendering. It can use it to convert floats internally to planar Y'CbCr formats, or to F16. We add a new type PIXMAN_TYPE_RGBA_FLOAT for this format, which is an all float array of R, G, B, and A. Formats that use mixed float/int RGBA aren't supported, and will probably need their own type. Changes since v1: - Use RGBA 128 bits and RGB 96 bits memory layouts, to better match the opengl format. Changes since v2: - Add asserts in accessor and for strides to force alignment. - Move test changes to their own commit. Changes since v3: - Define 32bpc as PIXMAN_FORMAT_PACKED_C32 - Rename pixman accessors from rgb*_float_float to rgb*f_float Changes since v4: - Create a new PIXMAN_FORMAT_BYTE for fitting up to 64 bits per component. (based on Siarhei Siamashka's suggestion) - Use new format type PIXMAN_TYPE_RGBA_FLOAT Signed-off-by: Maarten Lankhorst <maarten.lankho...@linux.intel.com> Reviewed-by: Chris Wilson <ch...@chris-wilson.co.uk> #v4 [mlankhorst: Fix missing braces in PIXMAN_FORMAT_RESHIFT macro] - - - - - 489fa0df by Maarten Lankhorst at 2018-11-06T13:25:49Z pixman: Add tests for (a)rgb floating point formats. Add some basic tests to ensure that the newly added formats work as intended. Signed-off-by: Maarten Lankhorst <maarten.lankho...@linux.intel.com> Reviewed-by: Chris Wilson <ch...@chris-wilson.co.uk> - - - - - 8a5d44c4 by Maarten Lankhorst at 2018-11-21T11:39:33Z pixman: Update git repository to the one at gitlab. Signed-off-by: Maarten Lankhorst <maarten.lankho...@linux.intel.com> - - - - - 0313f35a by Maarten Lankhorst at 2018-11-21T11:40:26Z Bump version to 0.36.0 Signed-off-by: Maarten Lankhorst <maarten.lankho...@linux.intel.com> - - - - - 0c08dcfc by Andreas Boll at 2018-12-12T20:01:18Z Merge tag 'pixman-0.34.0' into debian-unstable-new pixman 0.34.0 release - - - - - 51baef77 by Andreas Boll at 2018-12-12T20:01:26Z Merge branch 'debian-unstable' into debian-unstable-new - - - - - a26c93f9 by Andreas Boll at 2018-12-12T20:07:41Z Bump changelogs - - - - - c8e824af by Andreas Boll at 2018-12-12T20:51:21Z Update to my Debian address. - - - - - 2d7f5e58 by Andreas Boll at 2018-12-12T20:52:18Z Update Vcs-* URLs to point to salsa.debian.org. - - - - - da6e874f by Andreas Boll at 2018-12-12T20:53:40Z Use https URL in debian/copyright. - - - - - ea26aeb9 by Andreas Boll at 2018-12-12T20:54:43Z Set source format to 1.0. - - - - - 8c5411a2 by Andreas Boll at 2018-12-12T20:55:28Z Bump debhelper compat to 11. - - - - - 431e754d by Andreas Boll at 2018-12-12T20:55:48Z Bump standards version to 4.2.1. - - - - - 60eec335 by Andreas Boll at 2018-12-12T21:02:53Z Upload to unstable. - - - - - 30 changed files: - + .gitlab-ci.yml - ChangeLog - Makefile.am - Makefile.win32.common - configure.ac - + contrib/ci.sh - debian/changelog - debian/compat - debian/control - debian/copyright - debian/rules - + debian/source/format - demos/scale.c - demos/scale.ui - pixman/pixman-access.c - pixman/pixman-bits-image.c - pixman/pixman-fast-path.c - pixman/pixman-filter.c - pixman/pixman-image.c - pixman/pixman-private.h - pixman/pixman-solid-fill.c - pixman/pixman-vmx.c - pixman/pixman.c - pixman/pixman.h - pixman/rounding.txt - test/Makefile.sources - test/Makefile.win32 - test/alphamap.c - + test/filter-reduction-test.c - test/stress-test.c The diff was not included because it is too large. View it on GitLab: https://salsa.debian.org/xorg-team/lib/pixman/compare/31381b7057407c66d0c8ad9d65aef8e93bb1b40e...60eec33554a9cf9d8da4caa062c7a8cad025e3ee -- View it on GitLab: https://salsa.debian.org/xorg-team/lib/pixman/compare/31381b7057407c66d0c8ad9d65aef8e93bb1b40e...60eec33554a9cf9d8da4caa062c7a8cad025e3ee You're receiving this email because of your account on salsa.debian.org.