mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-05-28 17:58:12 +02:00
As identified in bug 15479, Unpredictable performance of cairo-xlib with non-integer translations of a source surface pattern (https://bugs.freedesktop.org/show_bug.cgi?id=15479), source surfaces with a fractional translation hit slow paths for some drivers, causing seemingly random performance variations. As a work-around Owen Taylor proposed that cairo could convert non-integer translations on NEAREST sources patterns to their integer equivalents. The messy detail involved here is replicating the rounding mode used by pixman for the sample offset, but otherwise the conversion is fairly trivial.
262 lines
4.1 KiB
Text
262 lines
4.1 KiB
Text
TAGS
|
|
tags
|
|
.deps
|
|
.libs
|
|
Makefile
|
|
Makefile.in
|
|
index.html
|
|
ref.hash
|
|
a1-image-sample
|
|
a1-mask
|
|
a1-traps-sample
|
|
a8-mask
|
|
alpha-similar
|
|
any2ppm
|
|
.any2ppm
|
|
.any2ppm.pid
|
|
big-line
|
|
big-trap
|
|
bilevel-image
|
|
bitmap-font
|
|
caps-joins
|
|
caps-joins-alpha
|
|
caps-sub-paths
|
|
clip-all
|
|
clip-empty
|
|
clip-fill-rule
|
|
clip-fill-rule-pixel-aligned
|
|
clip-nesting
|
|
clip-operator
|
|
clip-push-group
|
|
clip-twice
|
|
clip-zero
|
|
clipped-group
|
|
clipped-surface
|
|
close-path
|
|
composite-integer-translate-over
|
|
composite-integer-translate-over-repeat
|
|
composite-integer-translate-source
|
|
copy-path
|
|
coverage
|
|
create-for-stream
|
|
create-for-stream.pdf
|
|
create-for-stream.ps
|
|
create-for-stream.svg
|
|
create-from-png
|
|
create-from-png-stream
|
|
dash-caps-joins
|
|
dash-curve
|
|
dash-no-dash
|
|
dash-offset-negative
|
|
dash-scale
|
|
dash-state
|
|
dash-zero-length
|
|
degenerate-arc
|
|
degenerate-dash
|
|
degenerate-path
|
|
degenerate-pen
|
|
device-offset
|
|
device-offset-fractional
|
|
device-offset-positive
|
|
device-offset-scale
|
|
extend-pad
|
|
extend-pad-similar
|
|
extend-reflect
|
|
extend-reflect-similar
|
|
extend-repeat
|
|
extend-repeat-similar
|
|
fallback-resolution
|
|
fallback-resolution.pdf
|
|
fallback-resolution.ps
|
|
fallback-resolution.svg
|
|
fill-alpha
|
|
fill-alpha-pattern
|
|
fill-and-stroke
|
|
fill-and-stroke-alpha
|
|
fill-and-stroke-alpha-add
|
|
fill-degenerate-sort-order
|
|
fill-missed-stop
|
|
fill-rule
|
|
filter-bilinear-extents
|
|
filter-nearest-offset
|
|
filter-nearest-transformed
|
|
finer-grained-fallbacks
|
|
ft-text-antialias-none
|
|
ft-font-create-for-ft-face
|
|
ft-show-glyphs-positioning
|
|
ft-show-glyphs-table
|
|
ft-text-vertical-layout-type1
|
|
ft-text-vertical-layout-type3
|
|
font-face-get-type
|
|
font-matrix-translation
|
|
font-options
|
|
get-and-set
|
|
get-clip
|
|
get-group-target
|
|
get-path-extents
|
|
get-xrender-format
|
|
glitz-surface-source
|
|
glyph-cache-pressure
|
|
gradient-alpha
|
|
gradient-constant-alpha
|
|
gradient-zero-stops
|
|
group-paint
|
|
huge-pattern
|
|
imagediff
|
|
image-surface-source
|
|
infinite-join
|
|
in-fill-empty-trapezoid
|
|
in-fill-trapezoid
|
|
invalid-matrix
|
|
large-clip
|
|
large-font
|
|
large-source
|
|
leaky-dash
|
|
leaky-dashed-rectangle
|
|
leaky-polygon
|
|
line-width
|
|
line-width-scale
|
|
line-width-zero
|
|
linear-gradient
|
|
linear-gradient-reflect
|
|
long-dashed-lines
|
|
long-lines
|
|
mask
|
|
mask-alpha
|
|
mask-ctm
|
|
mask-surface-ctm
|
|
mask-transformed-image
|
|
mask-transformed-similar
|
|
meta-surface-pattern
|
|
miter-precision
|
|
move-to-show-surface
|
|
multi-page
|
|
multi-page.pdf
|
|
multi-page.ps
|
|
new-sub-path
|
|
nil-surface
|
|
operator
|
|
operator-alpha
|
|
operator-clear
|
|
operator-source
|
|
over-above-source
|
|
over-around-source
|
|
over-below-source
|
|
over-between-source
|
|
paint
|
|
paint-repeat
|
|
paint-source-alpha
|
|
paint-with-alpha
|
|
path-data
|
|
pattern-get-type
|
|
pattern-getters
|
|
pdf2png
|
|
pdf-features
|
|
pdf-features.pdf
|
|
pdf-surface-source
|
|
pdf-surface-source.pdf
|
|
png
|
|
png-test.png
|
|
png-flatten
|
|
ps-features
|
|
ps-features.ps
|
|
ps-surface-source
|
|
ps-surface-source.ps
|
|
push-group
|
|
radial-gradient
|
|
random-intersections
|
|
rgb24-ignore-alpha
|
|
svg2png
|
|
svg-clip
|
|
svg-clip.svg
|
|
svg-surface
|
|
svg-surface.svg
|
|
svg-surface-source
|
|
svg-surface-source.svg
|
|
pixman-rotate
|
|
pthread-show-text
|
|
rectangle-rounding-error
|
|
rectilinear-fill
|
|
rectilinear-miter-limit
|
|
rectilinear-stroke
|
|
reflected-stroke
|
|
rel-path
|
|
rotate-image-surface-paint
|
|
scale-down-source-surface-paint
|
|
scale-source-surface-paint
|
|
select-font-face
|
|
select-font-no-show-text
|
|
self-copy
|
|
self-copy-overlap
|
|
self-intersecting
|
|
set-source
|
|
show-glyphs-many
|
|
show-text-current-point
|
|
skew-extreme
|
|
smask
|
|
smask-fill
|
|
smask-image-mask
|
|
smask-mask
|
|
smask-paint
|
|
smask-stroke
|
|
smask-text
|
|
solid-pattern-cache-stress
|
|
source-clip
|
|
source-clip-scale
|
|
source-surface-scale-paint
|
|
stroke-image
|
|
stroke-ctm-caps
|
|
surface-finish-twice
|
|
surface-pattern
|
|
surface-pattern-big-scale-down
|
|
surface-pattern-scale-down
|
|
surface-pattern-scale-up
|
|
text-antialias-gray
|
|
text-antialias-none
|
|
text-antialias-subpixel
|
|
text-cache-crash
|
|
text-glyph-range
|
|
text-lcd-filter-fir3
|
|
text-lcd-filter-fir5
|
|
text-lcd-filter-intra-pixel
|
|
text-lcd-filter-none
|
|
text-pattern
|
|
text-rotate
|
|
text-transform
|
|
text-zero-len
|
|
toy-font-face
|
|
transforms
|
|
translate-show-surface
|
|
trap-clip
|
|
truetype-tables
|
|
twin
|
|
unantialiased-shapes
|
|
unbounded-operator
|
|
user-data
|
|
user-font
|
|
user-font-proxy
|
|
user-font-rescale
|
|
xlib-expose-event
|
|
xlib-surface
|
|
xlib-surface-source
|
|
zero-alpha
|
|
valgrind-log
|
|
*-out.*
|
|
*-pass.*
|
|
*-fail.*
|
|
*-diff.png
|
|
*.manifest
|
|
*.gcda
|
|
*.gcno
|
|
*.exe
|
|
*.exe.so
|
|
*.obj
|
|
*.ilk
|
|
*.pdb
|
|
*.la
|
|
*.lo
|
|
*.log
|
|
*.suo
|
|
*.o
|
|
*~
|
|
.*.sw?
|