xserver-multidpi/glamor
Zhigang Gong 5c4d53c512 glamor: Implement delayed solid filling.
When we need to solid fill an entire pixmap with a specific color,
we do not need to draw it immediately. We can defer it to the
following occasions:

1. The pixmap will be used as source, then we can just use a shader
   to instead of one copyarea.
2. The pixmap will be used as target, then we can do the filling
   just before drawing new pixel onto it. The filling and drawing
   will have the same target texture, we can save one time of
   fbo context switching.

Actually, for the 2nd case, we have opportunity to further optimize
it. We can just fill the untouched region.

By applying this patch, the cairo-trace for the firefox-planet-gnome's
rendering time decrease to 14seconds from 16 seconds.

Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>
2011-09-26 16:47:00 +08:00
..
glu3 glamor: Silent compilation warnings due to some deprecated APIs. 2011-09-26 16:46:34 +08:00
glamor_copyarea.c glamor: Implement delayed solid filling. 2011-09-26 16:47:00 +08:00
glamor_copywindow.c glamor: Add CopyWindow implementation so it doesn't crash. 2011-09-26 16:46:32 +08:00
glamor_core.c glamor: Don't need to pad the tile image if pixmap is ni texture. 2011-09-26 16:46:36 +08:00
glamor_debug.h glamor: Don't always fallback everything when change window attr. 2011-09-26 16:46:35 +08:00
glamor_fill.c glamor: Implement delayed solid filling. 2011-09-26 16:47:00 +08:00
glamor_fillspans.c glamor : Add dynamic texture uploading feature. 2011-09-26 16:46:35 +08:00
glamor_getspans.c glamor: Implement delayed solid filling. 2011-09-26 16:47:00 +08:00
glamor_glyphs.c glamor: Remove one extra area copy in glamor_glyph. 2011-09-26 16:46:36 +08:00
glamor_picture.c glamor : Add dynamic texture uploading feature. 2011-09-26 16:46:35 +08:00
glamor_pixmap.c glamor: Implement delayed solid filling. 2011-09-26 16:47:00 +08:00
glamor_polyfillrect.c glamor : Add dynamic texture uploading feature. 2011-09-26 16:46:35 +08:00
glamor_polylines.c glamor: Fixed two unintialized warnings. 2011-09-26 16:46:36 +08:00
glamor_priv.h glamor: Implement delayed solid filling. 2011-09-26 16:47:00 +08:00
glamor_putimage.c glamor: Implement delayed solid filling. 2011-09-26 16:47:00 +08:00
glamor_render.c glamor: Implement delayed solid filling. 2011-09-26 16:47:00 +08:00
glamor_setspans.c glamor: Implement delayed solid filling. 2011-09-26 16:47:00 +08:00
glamor_tile.c glamor: Implement delayed solid filling. 2011-09-26 16:47:00 +08:00
glamor_triangles.c glamor: Add render triangles support. 2011-09-26 16:46:35 +08:00
glamor_utils.h glamor: Fixed a bug when computing the bounds of boxes. 2011-09-26 16:47:00 +08:00
glamor_window.c glamor: Don't always fallback everything when change window attr. 2011-09-26 16:46:35 +08:00
glamor.c glamor: Implement delayed solid filling. 2011-09-26 16:47:00 +08:00
glamor.h glamor : Add dynamic texture uploading feature. 2011-09-26 16:46:35 +08:00
Makefile.am glamor: Don't always fallback everything when change window attr. 2011-09-26 16:46:35 +08:00