Commit graph

8234 commits

Author SHA1 Message Date
Chris Wilson
6f2d4f5b2a image: Propagate failure from pixman_image_fill_boxes(). 2010-05-04 18:26:06 +01:00
Chris Wilson
ded7be0b9c test/user-font-rescale: Use after free and check for memfault. 2010-05-04 18:26:06 +01:00
Chris Wilson
b0052c5215 test/bitmap-font: Propagate memfault 2010-05-04 18:26:00 +01:00
Chris Wilson
9187c75327 test/bitmap-font: Check for memfault error 2010-05-04 13:28:37 +01:00
Chris Wilson
0fced92792 test/user-font-proxy: Check we install user data on the scaled font 2010-05-04 13:28:37 +01:00
Chris Wilson
38188961b9 image: Check for pixman image allocation failure during glyphs 2010-05-04 13:28:37 +01:00
Chris Wilson
4a181ebac4 pdf: Cleanup local reference to source on error paths. 2010-05-04 13:28:37 +01:00
Chris Wilson
ba48edcd86 ps: Always cleanup used font subsets. 2010-05-04 13:28:37 +01:00
Chris Wilson
9a0958be01 test: Cleanup after failed pthread_join(). 2010-05-04 13:28:36 +01:00
Chris Wilson
08b9984da9 image: Replace assert with error return
It is possible to encounter an allocation failure here since we may have
tweaked the clip since the last evaluation of the clip region.
2010-05-04 13:28:36 +01:00
Chris Wilson
2c68fcace4 test: Embed the list pointer into cairo_test_t
Reduce the amount of output printed by leak-detectors when a test
crashes.
2010-05-04 13:28:36 +01:00
Chris Wilson
7002b82472 xlib: Don't delete gradients in unbounded fixup code
The fix is ugly, but for now it works.
2010-05-04 13:53:02 +02:00
Chris Wilson
af26560f25 test: Improve memfault behaviour.
Various minor tweaks to convert asserts into error returns and to
improve error checking on intermediate surfaces.
2010-05-03 19:21:59 +01:00
Chris Wilson
c549203c8d scaled-font: Check for an error return when retrieving the implementation 2010-05-03 19:21:18 +01:00
Chris Wilson
c93e6f014d paginated: propagate malloc failures more cleanly. 2010-05-03 19:20:42 +01:00
Chris Wilson
8e9fd9c017 image: A few missing tests for malloc failure 2010-05-03 19:20:07 +01:00
Chris Wilson
87781ffbd9 ft: Convert an assert into an unlikely error return.
The assert depends upon good behaviour from fontconfig, which is no
guaranteed under memfault, so return an error instead.
2010-05-03 19:18:49 +01:00
Benjamin Otte
5672b7a18a fallback: get src_x/y variables right when compositing traps 2010-05-03 13:37:19 +02:00
Dave Yeo
c10a5a9fb0 os2: Fix get_extents() segfaulting.
bed2701e1c removed one line too much.
2010-05-03 10:20:51 +02:00
Benjamin Otte
9df81fe4d3 boilerplate: don't compile pdf test code when pdf is not tested
Avoids gcc warnings when libpoppler version isn't good enough.
2010-05-02 20:00:08 +02:00
Benjamin Otte
358f57c876 image: remove useless optimization
The optimization is done way smarter inside
_cairo_matrix_transform_bounding_box()
2010-04-30 23:35:48 +02:00
Benjamin Otte
94aa6d24b6 fallback: Create pixman image for correct rectangle
This was most prominently shown by the a1-image-sample test, but
multiple tests exposed the problem with the xlib-fallback code.
2010-04-30 23:35:48 +02:00
Carlos Garcia Campos
41fecf8e66 [configure] Bump poppler dependency to 0.13.3 2010-04-30 21:20:11 +02:00
Benjamin Otte
3294daf423 Create cleared surface instead of a scratch surface in clone_similar()
A cleared surface is needed when playing back a recording surface that
has semi-transparent operations.
As this only affects surface types where scratch surfaces aren't already
cleared (ie it affected xlib but not image), the effect was only visible
for those backends.
This should not cause any performance regressions as the other backends
set surface->clear = TRUE when creating the scratch surface, so the
clear operation is effectively a no-op.

Covered by the existing pdf-surface-source and svg-surface-source tests.
2010-04-30 20:19:08 +02:00
Carlos Garcia Campos
0aeb612d2f [test] Update pdf reference image for text-rotate 2010-04-30 20:00:52 +02:00
Carlos Garcia Campos
fe28444647 [test] Update pdf reference image for surface-pattern-scale-down 2010-04-30 20:00:52 +02:00
Carlos Garcia Campos
dba6f23318 [test] Update pdf reference image for leaky-dashed-rectangle 2010-04-30 20:00:52 +02:00
Carlos Garcia Campos
6b81187ac4 [test] Update pdf reference images for clip-operator 2010-04-30 20:00:52 +02:00
Chris Wilson
b485ae5b90 atomic: Add Andrea's copyright notice
Note Andrea's copyright for his contribution of platform agnostic
fallbacks and the implementation for MacOS/X.
2010-04-30 14:14:01 +01:00
Chris Wilson
4ee5119a34 test: Expand pthread-show-text to cover all surfaces.
In a similar fashion to pthread-same-source and pthread-similar, check
that the texting handling is thread-safe for all surface and font
backends.
2010-04-30 13:00:05 +01:00
Chris Wilson
c6dc8ad7dc Revert "paginated: Call surface finish explicitly on recording surface"
This reverts commit 5fc04bba9f.

Whilst this fixes the self-referential reference leak, it however
introduces use-after-finish into normal behaviour. Close, but not quite.
2010-04-30 12:39:59 +01:00
Chris Wilson
b972669c9a boilerplate: Fix use after free from 3ae5723
If we want to access the surface during the cleanup, we must hold our
own reference to it. Make it so for the forced finish of the recording
surface.
2010-04-30 12:39:59 +01:00
Chris Wilson
905c345df1 recording: Check that we do not use a finished recording surface.
User paranoia - as the replay is exposed to the user it is convenient to
add the finish check in the core replay function so that we gain a
paranoia check for the internal paths as well.
2010-04-30 10:31:50 +01:00
Chris Wilson
5fe7c5842f pdf; Emit subsurface patterns natively.
Encode subsurface patterns into the PDF stream natively (when possible),
similar to the cairo-ps backend.
2010-04-30 10:16:24 +01:00
Chris Wilson
8ded35fd69 ps: Enable native encoding of subsurface patterns.
Carefully handle subsurfaces of a recording surface through the analysis
and paginated surfaces so that we can generate a native pattern for the
vector backends, demonstrated by the PostScript backend.

Nothing remarkable, just a lot of bookkeeping to track the wrapped
surface types and to apply the correct offsets when generating the
subsurface pattern.
2010-04-30 10:16:24 +01:00
Chris Wilson
5fc04bba9f paginated: Call surface finish explicitly on recording surface
During show_page() when we destroy the recording surface after emitting
the page, ensure that we actually call cairo_surface_finish() to dispose
of any self-referential reference leaks.
2010-04-30 10:16:23 +01:00
Chris Wilson
3ae5723464 boilerplate: Ensure that the recording surfaces are finished.
Be paranoid and explicitly call finish to cleanup self-referential leaks
when using paginated/recording surfaces.
2010-04-30 10:16:23 +01:00
Chris Wilson
f08cc311af boilerplate: Destroy the redundant image reference
When using a script surface to record the recording surface, we replace
the local reference to the image surface.
2010-04-30 10:16:23 +01:00
Chris Wilson
ab2776c9a1 snapshot: Attach the backend generated snapshot to the target
Cache the result of snapshotting using the backend vfunc in the normal
manner by attaching the snapshot to the target. This should reduce
resource usage in these cases.
2010-04-30 10:16:23 +01:00
Chris Wilson
07122f37d1 surface: Convert snapshots from an array to a double-linked list.
Saves the memory allocation for the array, and the overhead of
maintaining the area for both insertions and more importantly deletes.
2010-04-30 10:16:23 +01:00
Chris Wilson
4cb733c285 image: Simplify translation of pattern matrix for composite_trapezoids() 2010-04-30 10:16:23 +01:00
Chris Wilson
3940b0e91c subsurface: s/region/rectangle/
After a renewed discussion, it was pointed out that the API in Cairo was
not restrictive and by using doubles we would be consisted with the rest
of the API. Thus prompting the name change to

  cairo_surface_create_for_rectangle()

similar to cairo_rectangle().

And document the public API.
2010-04-30 10:16:06 +01:00
Chris Wilson
4b6fa8d5a7 test: Remove group-unaligned.*new.png
Entirely misleading, looks like PDF is behaving the same as image and
this remnant was thus giving the wrong impression.
2010-04-30 09:47:51 +01:00
Benjamin Otte
e3f990d841 test: Update reference images for last checkin
Both tests now pas on all backends I tested: test, image, xlib and
recording
2010-04-29 22:35:38 +02:00
Benjamin Otte
6d36f06751 image: Round down when rendering antialiased boxes
Matches Pixman's output when going via pixman_rasterize_trapezoid()
2010-04-29 22:34:28 +02:00
Benjamin Otte
95179a5de9 Remove excessive semicolons
s/;;/;/ basically
2010-04-29 20:45:23 +02:00
Benjamin Otte
5d07307b69 xlib: Don't modify variables that are needed later
In the XCopyArea region code, don't modify src_x/y when they are later
used in the unbounded fixup code.

Exposed by composite-integer-translate-source test.
2010-04-29 18:20:59 +02:00
Benjamin Otte
90160deb2a xlib: Constify some function arguments 2010-04-29 18:20:44 +02:00
Benjamin Otte
4da71d1a01 xlib: remove unused code 2010-04-29 18:11:54 +02:00
Benjamin Otte
758ffadcb1 fallback: Only do _fill/compsoite_rectangles on bounded source
For unbounded sources, these optimizations fail to take into account the
regions outside the source.
2010-04-29 16:54:09 +02:00