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.
This commit is contained in:
Alexander Larsson 2013-09-09 11:07:50 +02:00
parent 9a45712ad6
commit 92edb76500
3 changed files with 9 additions and 2 deletions

View File

@ -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

View File

@ -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 */

View File

@ -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)
{