summaryrefslogtreecommitdiff
path: root/src/cairo-botor-scan-converter.c
Commit message (Collapse)AuthorAgeFilesLines
* fix unused function warningsAdrian Johnson2017-10-161-0/+2
|
* core: fix compiler warningsEnrico Weigelt, metux IT consult2016-07-021-1/+1
| | | | | | | | | | | The code correct, but the compiler can't check that and thinks there're uninitialized variables. Perhaps we could rewrite it in a better way, so the compiler can do better (even arch specific) optimizations. Signed-off-by: Enrico Weigelt, metux IT consult <enrico.weigelt@gr13.net> Signed-off-by: Uli Schlachter <psychon@znc.in>
* core: reintroduce bot-scan-converter functionsEnrico Weigelt, metux IT consult2016-01-131-0/+36
| | | | | | | | | | | | These functions have been accidentially removed by commit: 494cfd7eb9d994a5e2024e299986e66a3ef9a562. They're still needed by the DRM backend. (will be used by subsequent patches) Signed-off-by: Enrico Weigelt, metux IT consult <enrico.weigelt@gr13.net> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com> Cc: Uli Schlachter <psychon@znc.in>
* Remove some unused functionsUli Schlachter2012-05-051-36/+0
| | | | | | | | | | | All of these are unused since af9fbd176b145f0424 "Introduce a new compositor architecture". Since no one complained yet, I guess that means that we don't need these any more. :-) This was noticed while looking into the build log provided by http://lists.cairographics.org/archives/cairo/2012-April/022993.html Signed-off-by: Uli Schlachter <psychon@znc.in>
* Split cairo-list into struct+inlinesChris Wilson2012-04-191-1/+1
| | | | | References: https://bugs.freedesktop.org/show_bug.cgi?id=48577 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
* Split cairo-combsort-privates into struct+inlinesChris Wilson2012-04-191-1/+1
| | | | | References: https://bugs.freedesktop.org/show_bug.cgi?id=48577 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
* botor: Remove a couple of inlines to cleanup -WinlineChris Wilson2011-10-101-1/+1
| | | | Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
* Introduce a new compositor architectureChris Wilson2011-09-121-2/+3
| | | | | | | | | | | | | | | | | | Having spent the last dev cycle looking at how we could specialize the compositors for various backends, we once again look for the commonalities in order to reduce the duplication. In part this is motivated by the idea that spans is a good interface for both the existent GL backend and pixman, and so they deserve a dedicated compositor. xcb/xlib target an identical rendering system and so they should be using the same compositor, and it should be possible to run that same compositor locally against pixman to generate reference tests. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> P.S. This brings massive upheaval (read breakage) I've tried delaying in order to fix as many things as possible but now this one patch does far, far, far too much. Apologies in advance for breaking your favourite backend, but trust me in that the end result will be much better. :)
* Update FSF addressAndrea Canciani2010-04-271-1/+1
| | | | | | | | | | | I updated the Free Software Foundation address using the following script. for i in $(git grep Temple | cut -d: -f1 ) do sed -e 's/59 Temple Place[, -]* Suite 330, Boston, MA *02111-1307[, ]* USA/51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA/' -i "$i" done Fixes http://bugs.freedesktop.org/show_bug.cgi?id=21356
* Fix compilation on MacOS XAndrea Canciani2010-01-231-4/+4
| | | | | | Some functions declared in MacOS X headers use the always_inline attribute, thus defining it to be a different expression breaks the build.
* spans: Add a Bentley-Ottmann variant on the Tor scan converterChris Wilson2010-01-221-0/+2199
This variant uses the Bentley-Ottmann algorithm to only maintain the active edge list upon edge events and so can efficiently skip areas where no change occurs. This means that it can be much quicker than the Tor algorithm (which is still used to compute the coverages from the active edges) for geometries consisting of long straight lines with few intersections. However due to the computational overhead of the Bentley-Ottmann event processing, for dense curvy paths, simply updating the active edge list in sync with computing the coverages is a win. Due to advantageous adaptive step size, the scan converter can be run at a much higher subsampling with little extra overhead compared with Tor, currently it uses a 256x256 subsampling grid to avoid any impedance mismatch with path precision. Given the current status of implementations, this scan converter [botor] is likely to be advantage where detecting large regions of unchanged span data will result in improved performance, for instance the drm backends which convert the scan data into rectangles.