vga_hlinelistblt man page
vga_hlinelistblt — draw horizontal scan lines
void vga_hlinelistblt(int ymin, int n, int *xmin, int *xmax , int pitch, int c);
*xmin and *xmax are pointers to arrays of n integers. There are n horizontal lines drawn, for i in 0 .. (n - 1) a horizontal line will be drawn from pixel (xmin[i], ymin + i) to (xmax[i], ymin + i) using color c. Pixel (0,0) is considered to be at the absolute beginning of the SVGA memory. (as if vga_setdisplaystart(0) was called)
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 vga_getmodeinfo(3).
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_imageblt(3), vga_getmodeinfo(3), vga_setdisplaystart(3), vga_lockvc(3), vga_unlockvc(3)
This manual page was edited by Michael Weller <email@example.com>. 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 <H.Hanemaayer@inter.nl.net>.
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(7), testaccel(6), vga_accel(3), vga_bitblt(3), vga_blitwait(3), vga_fillblt(3), vga_getmodeinfo(3), vga_imageblt(3), vga_runinbackground(3).