Skip to content
  • Sven Neumann's avatar
    Speed up our display rendering code paths by keeping data with · aaa16d3b
    Sven Neumann authored
    2007-12-13  Sven Neumann  <sven@gimp.org>
    
    	Speed up our display rendering code paths by keeping data with
    	pre-multiplied alpha where possible. The projection tile-manager
    	at 100 % zoom is not affected. So we can still always get the
    	non-pre-multiplied pixel data.
    
    	* app/core/gimpprojection.[ch]: removed
    	gimp_projection_get_opacity(), the projection is always opaque.
    
    	* app/base/tile-pyramid.[ch]: use pre-multiplied alpha for the
    	upper levels of the pyramid. This speeds up validation of the
    	upper levels significantly.
    
    	* app/base/temp-buf.[ch]: added temp_buf_demultiply().
    
    	* app/core/gimpimage-preview.c: demultiply the preview temp-buf
    	obtained from the projection's tile tyramid.
    
    	* app/display/gimpdisplayshell-draw.c
    	* app/display/gimpdisplayshell-render.c: added code to deal with
    	pre-multiplied data. In fact all data returned by
    	render_image_tile_fault() is now pre-multiplied so that
    	render_image_rgb_a() and render_image_gray_a() don't need to use
    	the large lookup tables from gimprender.[ch] any longer.
    
    svn path=/trunk/; revision=24352
    aaa16d3b