Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
vga_imageblt(3)		      Svgalib User Manual	       vga_imageblt(3)

       vga_imageblt  -	copy  a	rectangular pixmap from	system memory to video

       #include	<vga.h>

       void vga_imageblt(void *srcaddr,	 int  destaddr,	 int  w,  int  h,  int

       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

       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 func-
       tion in the mode	you use	with vga_getmodeinfo(3).

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

       The  old	vga_bitblt(3), vga_blitwait(3),	vga_fillblt(3),	vga_hlinelist-
       blt(3), and vga_imageblt(3) interface was originally designed  for  the
       Cirrus  chipsets. Then Mach32 added support too but has problems	to re-
       semble the unintuitive Cirrus interface.	 Then  these  new  ideas  were
       reinjected  and vga_accel(3) was	designed. Now Cirrus and Chips & Tech-
       nologies	chipset	give limited vga_accel(3) support but no  longer  this
       old style support.  Mach32 is left to use the unintuitive Cirrus	inter-
       face. 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), vga_unlockvc(3)

       This  manual page was edited by Michael Weller <eowmob@exp-math.uni-es->.	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 manual.

Svgalib	(>= 1.2.11)		 27 July 1997		       vga_imageblt(3)


Want to link to this manual page? Use this URL:

home | help