summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2013-09-09 11:07:50 +0200
committerAlexander Larsson <alexl@redhat.com>2013-09-09 11:07:50 +0200
commit92edb7650086e1ec55b804a7d8032f220c740757 (patch)
tree5fa8e8466c49c30bccc6df035f84e6dc321792f8 /gtk
parent9a45712ad674782841c83a01f810042ab92b60cd (diff)
downloadgtk+-92edb7650086e1ec55b804a7d8032f220c740757.tar.gz
Pixel cache: Add no-pixel-cache debug flag
This is useful for benchmarking comparisons, and to verify if bugs happend with or without the pixel cache.
Diffstat (limited to 'gtk')
-rw-r--r--gtk/gtkdebug.h3
-rw-r--r--gtk/gtkmain.c3
-rw-r--r--gtk/gtkpixelcache.c5
3 files changed, 9 insertions, 2 deletions
diff --git a/gtk/gtkdebug.h b/gtk/gtkdebug.h
index d98c1974a0..a91e6da636 100644
--- a/gtk/gtkdebug.h
+++ b/gtk/gtkdebug.h
@@ -50,7 +50,8 @@ typedef enum {
GTK_DEBUG_SIZE_REQUEST = 1 << 12,
GTK_DEBUG_NO_CSS_CACHE = 1 << 13,
GTK_DEBUG_BASELINES = 1 << 14,
- GTK_DEBUG_PIXEL_CACHE = 1 << 15
+ GTK_DEBUG_PIXEL_CACHE = 1 << 15,
+ GTK_DEBUG_NO_PIXEL_CACHE = 1 << 16
} GtkDebugFlag;
#ifdef G_ENABLE_DEBUG
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
index 4d814a9ea8..285d181a73 100644
--- a/gtk/gtkmain.c
+++ b/gtk/gtkmain.c
@@ -173,7 +173,8 @@ static const GDebugKey gtk_debug_keys[] = {
{"size-request", GTK_DEBUG_SIZE_REQUEST},
{"no-css-cache", GTK_DEBUG_NO_CSS_CACHE},
{"baselines", GTK_DEBUG_BASELINES},
- {"pixel-cache", GTK_DEBUG_PIXEL_CACHE}
+ {"pixel-cache", GTK_DEBUG_PIXEL_CACHE},
+ {"no-pixel-cache", GTK_DEBUG_NO_PIXEL_CACHE}
};
#endif /* G_ENABLE_DEBUG */
diff --git a/gtk/gtkpixelcache.c b/gtk/gtkpixelcache.c
index 2529f11845..ca6740f641 100644
--- a/gtk/gtkpixelcache.c
+++ b/gtk/gtkpixelcache.c
@@ -174,6 +174,11 @@ _gtk_pixel_cache_create_surface_if_needed (GtkPixelCache *cache,
cairo_pattern_t *bg;
double red, green, blue, alpha;
+#ifdef G_ENABLE_DEBUG
+ if (gtk_get_debug_flags () & GTK_DEBUG_NO_PIXEL_CACHE)
+ return;
+#endif
+
content = cache->content;
if (!content)
{