Provided by: libsvga1-dev_1.4.3-31_amd64 bug


       vga_imageblt - copy a rectangular pixmap from system memory to video memory


       #include <vga.h>

       void vga_imageblt(void *srcaddr, int destaddr, int w, int h, int pitch);


       Write a rectangular pixmap from system memory to video memory.  destaddr is an offset into
       video memory (up to 2M). The pitch is the logical width of the  screen.  Height  h  is  in
       Pixels, Width w is in BYTES!

       It   fills  the  given box with the data in memory area *srcaddr.  The memory  buffer must
       contain the pixels in the same representation as used in the vga memory, starting  at  the
       top  left  corner, from left to right, and then, line by line, from up  to  down,  without
       any  gaps  and  interline spaces.

       This is an old style function to access the accelerator of an SVGA card. Before calling it
       you   should   check   for  availability  of  the  function  in  the  mode  you  use  with

       For new applications you might be better of trying to use vga_accel(3) instead.

       The  old  vga_bitblt(3),   vga_blitwait(3),   vga_fillblt(3),   vga_hlinelistblt(3),   and
       vga_imageblt(3)  interface  was  originally  designed for the Cirrus chipsets. Then Mach32
       added support too but has problems to resemble  the  unintuitive  Cirrus  interface.  Then
       these  new  ideas  were  reinjected  and vga_accel(3) was designed. Now Cirrus and Chips &
       Technologies chipset give limited vga_accel(3)  support  but  no  longer  this  old  style
       support.  Mach32 is left to use the unintuitive Cirrus interface. At some future point the
       functions might be  added  for  Mach32  too  (which  should  be  rather  simple),  so  new
       applications should use the newer and probably more efficient interface.

       It  would  be  fatal  if the accelerator would be used while the console is switched away.
       You  should  use  vga_lockvc(3)  and  vga_unlockvc(3)  to  avoid   this,   although   good
       implementations of the accelerator functions (like Mach32) will already ensure that.

       The testaccel(6) demo utilizes the old style accelerator functions.


       svgalib(7),   vgagl(7),   libvga.config(5),   testaccel(6),  vga_accel(3),  vga_bitblt(3),
       vga_blitwait(3), vga_fillblt(3), vga_hlinelistblt(3),  vga_getmodeinfo(3),  vga_lockvc(3),


       This  manual  page  was edited by Michael Weller <>. The exact
       source of the referenced function as well as of the original documentation is unknown.

       It is very likely that both are at least  to  some  extent  are  due  to  Harm  Hanemaayer

       Occasionally  this might be wrong. I hereby asked to be excused by the original author and
       will happily accept any additions or corrections to this  first  version  of  the  svgalib