- Aug 28, 2009
-
-
Søren Sandmann Pedersen authored
-
Chris Wilson authored
This is one example of a compiler warning that was lost amit the build noise. The error here is that in a list of required conditions we used ';' instead of '&&' with the result of continuing to use the fast-path even if we had a wide mask. Another error is that it was testing src, not mask as it should.
-
Makoto Kato authored
-
- Aug 13, 2009
-
-
Søren Sandmann Pedersen authored
Fall back to malloc() in blitters-test.c if we don't.
-
Siarhei Siamashka authored
Inline assembly for handling <8 pixels width did not pass blitters-test. Fortunately gcc has no problems compiling alternative implementation which is using RVCT style intrinsics, so it can be used instead.
-
- Aug 11, 2009
-
-
Søren Sandmann Pedersen authored
-
Søren Sandmann Pedersen authored
-
Søren Sandmann Pedersen authored
-
Søren Sandmann Pedersen authored
Bug 23224, reported by Michel Dänzer.
-
- Aug 08, 2009
-
-
Søren Sandmann Pedersen authored
At this point, the SIMD, SSE2, MMX and general implementations all agree.
-
Søren Sandmann Pedersen authored
-
Søren Sandmann Pedersen authored
-
Søren Sandmann Pedersen authored
The crashes and valgrind issues are all fixed at this point.
-
Siarhei Siamashka authored
allocations in order in order to make reproducibility of alignment sensitive bugs more deterministic Also testing of masks is reenabled
-
Siarhei Siamashka authored
-
Siarhei Siamashka authored
The code and overall method is mostly based on scaling-test. This one focuses on trying to stress as many different color formats and types of composition operations as possible. This is an initial implementation which may need more tuning. Also not all color format and operator combinations are actually used. When cpu specific optimizations are disabled, this test provides identical deterministic results on x86, PPC and ARM. Script blitters-test-bisect.rb now works in non-stop mode, until it finds any problem. This allows to run it for example overnight in order to test a lot more variants of pixman calls and increase chances of detecting problems in pixman. Just like with scaling-test, running blitters-test binary alone with no command line arguments runs a small predefined number of tests and compares checksum with a reference value for quick verification.
-
Søren Sandmann Pedersen authored
-
Søren Sandmann Pedersen authored
-
Søren Sandmann Pedersen authored
-
Søren Sandmann Pedersen authored
The inverse destination alpha is just one component, not four.
-
Søren Sandmann Pedersen authored
The source alpha is just one component, not four.
-
Søren Sandmann Pedersen authored
Destination alpha must be extracted after inversing, otherwise we end up with 0xFFs in the rgb channels.
-
Søren Sandmann Pedersen authored
-
Søren Sandmann Pedersen authored
It didn't compute the mask correct before.
-
Søren Sandmann Pedersen authored
In the non-vector code, the mask needs to be multiplied with source alpha.
-
Søren Sandmann Pedersen authored
-
Søren Sandmann Pedersen authored
It should multiply with just the destination alpha channel, not all four channels.
-
Søren Sandmann Pedersen authored
-
Søren Sandmann Pedersen authored
The destination needs to be inverted before the alpha channel is extracted; otherwise, the RGB channels of da will be 0xff.
-
Søren Sandmann Pedersen authored
-
Søren Sandmann Pedersen authored
-
Søren Sandmann Pedersen authored
-
Søren Sandmann Pedersen authored
-
Søren Sandmann Pedersen authored
-
Søren Sandmann Pedersen authored
Previously this routine would compute (x * a + y * b) / 255. Now it computes (x * a) / 255 + (y * b) / 255, so that the results are bitwise equivalent to the non-mmx versions.
-
Søren Sandmann Pedersen authored
Previously they were not bit-for-bit equivalent to the one-component versions. The new code is also simpler and easier to read because it factors out some common sub-macros. The x * a + y * b macro now only uses four multiplications - the previous version used eight.
-
Søren Sandmann Pedersen authored
-
Søren Sandmann Pedersen authored
This could happen because the wide formats would still be considered solid if the image was 1x1 and repeating.
-
Søren Sandmann Pedersen authored
If the mask was 0xffffffff, the source would end up being shifted twice by A_SHIFT.
-
Søren Sandmann Pedersen authored
This time in fast_path_composite_n_8888_8888().
-