[Spice-devel] [PATCH 2/2] Add patch fixing performance issue
Marc-André Lureau
mlureau at redhat.com
Wed Aug 5 08:01:41 PDT 2015
Hi
----- Original Message -----
> From: Kirill Moizik <kmoizik at redhat.com>
>
> ---
> cairo-quartz-surface-performance-patch.patch | 61
> ++++++++++++++++++++++++++++
> 1 file changed, 61 insertions(+)
> create mode 100644 cairo-quartz-surface-performance-patch.patch
>
The patch is lacking a commit message.
Did you submit it to the cairo ML?
thanks
> diff --git a/cairo-quartz-surface-performance-patch.patch
> b/cairo-quartz-surface-performance-patch.patch
> new file mode 100644
> index 0000000..0da3243
> --- /dev/null
> +++ b/cairo-quartz-surface-performance-patch.patch
> @@ -0,0 +1,61 @@
> +--- spice-jhbuild/source/cairo-1.14.0/src/cairo-quartz-surface.c 2014-10-14
> 04:46:33.000000000 +0300
> ++++ spice-jhbuild/source/cairo-1.14.0/src/cairo-quartz-surface_patched.c
> 2015-08-05 16:29:10.000000000 +0300
> +@@ -35,6 +35,7 @@
> + */
> +
> + #define _GNU_SOURCE /* required for RTLD_DEFAULT */
> ++#define PERFORMANCE_FIX
> + #include "cairoint.h"
> +
> + #include "cairo-quartz-private.h"
> +@@ -229,7 +230,15 @@
> + dataProvider,
> + decode,
> + interpolate);
> +- } else
> ++ } else {
> ++#ifdef PERFORMANCE_FIX
> ++ CMProfileRef systemMonitorProfile = NULL;
> ++ CMError getProfileErr = CMGetSystemProfile(&systemMonitorProfile);
> ++ if(noErr == getProfileErr) {
> ++ colorSpace =
> CGColorSpaceCreateWithPlatformColorSpace(systemMonitorProfile);
> ++ CMCloseProfile(systemMonitorProfile);
> ++ }
> ++#endif
> + image = CGImageCreate (width, height,
> + bitsPerComponent,
> + bitsPerPixel,
> +@@ -240,6 +249,7 @@
> + NULL,
> + interpolate,
> + kCGRenderingIntentDefault);
> ++ }
> +
> + FINISH:
> +
> +@@ -1389,7 +1399,11 @@
> + cairo_operator_t op)
> + {
> + CGContextSetShouldAntialias (state->cgDrawContext, state->filter !=
> kCGInterpolationNone);
> ++#ifdef PERFORMANCE_FIX
> ++ CGContextSetInterpolationQuality(state->cgDrawContext,
> kCGInterpolationNone);
> ++#else
> + CGContextSetInterpolationQuality(state->cgDrawContext, state->filter);
> ++#endif
> +
> + if (state->action == DO_DIRECT) {
> + CGContextFillRect (state->cgDrawContext, state->rect);
> +@@ -1672,7 +1686,12 @@
> +
> + state.filter = filter;
> +
> +- CGContextSetInterpolationQuality (state.cgMaskContext, filter);
> ++#ifdef PERFORMANCE_FIX
> ++ CGContextSetInterpolationQuality(state.cgDrawContext,
> kCGInterpolationNone);
> ++#else
> ++ CGContextSetInterpolationQuality(state.cgDrawContext, filter);
> ++#endif
> ++
> + CGContextSetShouldAntialias (state.cgMaskContext, filter !=
> kCGInterpolationNone);
> +
> + CGContextClipToMask (state.cgMaskContext, rect, img);
> --
> 2.3.2 (Apple Git-55)
>
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
>
More information about the Spice-devel
mailing list