summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-10-05asdfcommandsSøren Sandmann Pedersen1-1/+216
2012-10-01Extract clip regionSøren Sandmann Pedersen1-1/+5
2012-10-01print debug spewSøren Sandmann Pedersen1-0/+11
2012-10-01Get rid of -2 namesSøren Sandmann Pedersen1-39/+39
2012-10-01Delete old compositing codeSøren Sandmann Pedersen1-670/+11
2012-10-01fill with command bufferSøren Sandmann Pedersen1-4/+15
2012-10-01handle strokes through bufferSøren Sandmann Pedersen1-7/+47
2012-10-01Beginning of command bufferSøren Sandmann Pedersen1-10/+888
2012-09-30Set gradient propertiesSøren Sandmann Pedersen1-4/+8
2012-09-30More bug fixesSøren Sandmann Pedersen1-9/+8
2012-09-30Misc bug fixesSøren Sandmann Pedersen1-4/+17
2012-09-29raster sourceSøren Sandmann Pedersen1-3/+84
2012-09-29asdfSøren Sandmann Pedersen1-0/+12
2012-09-29mesh gradientsSøren Sandmann Pedersen1-22/+24
2012-09-29Linear and radialSøren Sandmann Pedersen1-0/+91
2012-09-29glyphsSøren Sandmann Pedersen1-9/+142
2012-09-29miscSøren Sandmann Pedersen1-20/+27
2012-09-29stroke and fillSøren Sandmann Pedersen1-48/+150
2012-09-29Some compositingSøren Sandmann Pedersen1-86/+534
2012-09-29more fleshSøren Sandmann Pedersen1-4/+212
2012-09-29Flesh out the pixman surface someSøren Sandmann Pedersen1-70/+275
2012-09-29Initial skeleton for pixman surface.Søren Sandmann Pedersen9-1/+347
FIXME: configure.ac enables it by default and there should probably be some checking.
2012-09-29Remove pointless optimization that pixman already does itselfSøren Sandmann Pedersen1-17/+8
2012-09-29Buggy X serverSøren Sandmann Pedersen1-0/+3
2012-09-27tor: Fudge the edge if it is projected into a pointChris Wilson2-2/+2
If we generate an edge (through polygon-intersect) where its end-points lie outside the line definition then it is possible for that line to be degenerate under sample grid projection. Apply a fudge factor to prevent explosions as otherwise we reject an edge whose height is not strictly 0. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54822 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-27spans-compositor: Remove polygon limits after constructionChris Wilson1-3/+7
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-27test: Refresh reference image for clip-disjoint-quadChris Wilson2-0/+0
Rather than using the traps reference for all target as this then generates false negatives with the spans compositor. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-27composite-rectangles: Update unbounded (clip extents) after reducing clipChris Wilson1-1/+16
So that the composite-rectangles remains consistent with the reduced clip in case the individual compositors try to optimise their rendering strategies based on the reduced clip and the overall extents. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-27spans-compositor: Use the tight clip-boxes for polygon constructionChris Wilson1-10/+19
If we will be reducing the clip intersection to a single clip box check during construction, it helps if we use the tight clip box. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-27polygon-intersect: Exclude non-overlapping clip boxes from considerationChris Wilson1-8/+14
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-27test: Add clip-disjoint-quadChris Wilson3-0/+84
Exercises a bug in the polygon intersection code demonstrated by Søren Sandmann. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-25mark_dirty: Check surface statusUli Schlachter1-0/+7
This problem was introduced in commit "xlib: Implement SHM fallbacks and fast upload paths". Before, cairo_surface_mark_dirty() directly called cairo_surface_mark_dirty_rectangle() with special "magical arguments" and thus didn't need any checks on the surface status. Fixes: api-special-cases Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-09-25surface: Check reference count right before freeUli Schlachter1-3/+3
This makes sure that nothing took a reference during finishing and during detaching user and mime-data. Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-09-25xcb: Add a missing check for FillRectanglesUli Schlachter1-4/+9
Fixes: big-empty-box big-little-box operator operator-alpha surface-pattern-operator unbounded-operator Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-09-25xcb: Check if traps are supported before using themUli Schlachter1-1/+2
This code tried to optimize the clip away by intersecting the boxes with the clip polygon. However, it also did so when the server didn't support traps. Fixes: clip-stroke-unbounded clip-fill-nz-unbounded clip-fill-eo-unbounded clip-fill clip-fill-rule a1-clip-fill-rule clip-group-shapes-circles clip-intersect clip-nesting clip-operator clip-push-group clip-polygons clip-shape clip-text clip-twice inverted-clip mask random-clip rotate-clip-image-surface-paint trap-clip unantialiased-shapes Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-09-25xcb: Check the right flag for FillRectanglesUli Schlachter1-1/+1
Fixes: operator-source Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-09-25xcb: Verify extension support before sendingUli Schlachter2-0/+24
This commit adds lots of asserts. These asserts verify for each extension request that we send that the server really supports this. Sadly, this causes 28 assertion failures in the test suite with xcb-render-0.0. Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-09-24xcb: Switch to compositor architectureUli Schlachter3-214/+197
This commit removes the hand-written code in cairo-xcb-surface.c and instead makes use of cairo_compositor_t. Surprisingly, this doesn't break a single test case. :-) Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-09-24xcb: Remove unimplemented cairo compositorUli Schlachter4-171/+0
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-09-24xcb: Fix a warn_unused_result warningUli Schlachter1-1/+2
cairo-xcb-surface.c: In function '_drawable_changed': cairo-xcb-surface.c:1434:39: warning: ignoring return value of '_cairo_surface_begin_modification', declared with attribute warn_unused_result [-Wunused-result] Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-09-24Remove an unimplemented function declarationUli Schlachter1-3/+0
This was added in commit 2458120dee350cd1b49f999f64b17a895a4b6607. Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-09-24Fix make checkUli Schlachter2-0/+3
The inline functions in cairo-backend-private.h tried to dereference a cairo_t, which wasn't defined. Fix this by including cairo-private.h. In cairo-mempool-private.h, size_t is used but stddef.h is not included. Fixes: CHECK cairo-backend-private.h In file included from headers-standalone-tmp.c:1:0: ./cairo-backend-private.h: In function ‘_cairo_backend_to_user’: ./cairo-backend-private.h:179:7: error: dereferencing pointer to incomplete type ./cairo-backend-private.h: In function ‘_cairo_backend_to_user_distance’: ./cairo-backend-private.h:185:7: error: dereferencing pointer to incomplete type ./cairo-backend-private.h: In function ‘_cairo_user_to_backend’: ./cairo-backend-private.h:191:7: error: dereferencing pointer to incomplete type ./cairo-backend-private.h: In function ‘_cairo_user_to_backend_distance’: ./cairo-backend-private.h:197:7: error: dereferencing pointer to incomplete type CHECK cairo-mempool-private.h In file included from headers-standalone-tmp.c:1:0: ./cairo-mempool-private.h:61:5: error: unknown type name ‘size_t’ ./cairo-mempool-private.h:62:5: error: unknown type name ‘size_t’ ./cairo-mempool-private.h:68:8: error: unknown type name ‘size_t’ ./cairo-mempool-private.h:73:44: error: unknown type name ‘size_t’ Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-09-22Fix malloc-stats for newer glibcBehdad Esfahbod1-1/+1
2012-09-17[util/malloc-stats] Use tighter spacing.Behdad Esfahbod1-3/+3
2012-09-13xlib: Reset fallback counter when discarding the fallbackWeng Xuetian1-0/+2
References: https://bugs.freedesktop.org/show_bug.cgi?id=54657
2012-09-13xlib: Destroy the fallback damage along with the fallback surfaceChris Wilson1-8/+5
Whenever we discard the fallback surface, we need to destroy the associated damage tracking, so move this into the common discard routine. This should fix the issue when trying to flush the fallback before the user modifies any foreign Drawables. The current code issued the flush and then explicitly discard the fallback, but unless it was idle at the time of the flush the associated damage would not have also been destroyed. Asserts followed. References: https://bugs.freedesktop.org/show_bug.cgi?id=54657 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-13xlib: Do not call _cairo_xlib_surface_flush directlyChris Wilson1-2/+2
Use the higher level layer to be sure we detach any snapshots and other cached data that is invalidated along with the change of Drawable. Pointed out by the eternally wise Uli Schlachter. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-13xlib: Force the fallback flush before updating the external DrawableChris Wilson1-2/+2
_cairo_surface_begin_modification() performs an internal flush, for which the xlib backend skips flushing the fallback surface as it will continue to use it for the subsequent operation. In the case where we are flushing prior to updating the Drawable, we need to perform an external flush which will trigger the posting of the damage from the fallback surface. Reported-by: Weng Xuetian <wengxt@gmail.com> References: https://bugs.freedesktop.org/show_bug.cgi?id=54657 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-13xlib: Explicitly discard the fallback shm pixmap upon user modificationChris Wilson1-9/+29
If the user changes the size of the underlying drawable, we much make sure that we discard the current ShmPixmap in order to create a new fallback pixmap of the correct size next time. Reported-by: Weng Xuetian <wengxt@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-13xlib: Fix regression in cairo_xlib_surface_set_drawable()Chris Wilson1-1/+1
In commit 0bfd2acd35547fc2bd0de99cc67d153f0170697d Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Mon Aug 13 01:34:12 2012 +0100 xlib: Implement SHM fallbacks and fast upload paths I made the mistake of inverting the logic for cairo_xlib_surface_set_drawable() causing it then to never update. Thanks to Uli Schlachter for spotting my error. References: https://bugs.freedesktop.org/show_bug.cgi?id=54657 Reported-by: Weng Xuetian <wengxt@gmail.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>