	$Id: ChangeLog,v 1.64 2001/03/03 05:20:01 lethal Exp $

2001-03-03  Paul Mundt        <lethal@u4xlabs.com>

	* libfbx/libfbx-font-8x16.h:

	Cleaned up all sorts of useless comments and whitespace. Greatly
	reduced overall size of file. It's probably less manageable this
	way, but then again, people shouldn't be editing the font by
	hand either.

2001-03-02  Michael Bourgeous <nitrogen@u4xlabs.com>
	
	* libfbx/libfbx-font-8x16.h: added.
	* libfbx/libfbx-font.c: 
	* libfbx/libfbx.h:
	* libfbx/libfbx-init.c:

	Put our font in a header instead of relying on the presence of
	a particular system configuration.
	
2001-03-02  Paul Mundt        <lethal@u4xlabs.com>

	* libfbx/drivers/libfbx-gen.c: added.

	* libfbx/libfbx-drivers.h: updated.
	* libfbx/drivers/*: updated.

	Got rid of all those nauseating inb/inl/outb/outl's for every
	specific board. We now have a nice and clean (sort of) unified
	set of functions to use in all modules.

	The adapter->ctl (MMIO ctl) has also been gutted and now resides
	at fb_screen->driver->mmio_ctl. Now only boards that actually use
	it can do so without needing to duplicate code.

	Rage128 cleanups as well, more duplicate code reduction.. though
	now we're stuck with nested if's _sigh_.

	* docs/libfbx-api.sgml: updated.

	Reverted to old layout, all groups of functions are under their
	own individual chapter.

2001-02-25  Paul Mundt        <lethal@u4xlabs.com>

	* libfbx.spec.in:
	* acconfig.h:
	* config.h.in:
	* configure.in:

	Added the IMAGEDIR definition. Lots of other little cleanups.
	Almost a total rewrite of the spec file.

	* tests/Makefile.{am,in}:
	* tests/bounce.c:
	* tests/fbxmask.c:
	* tests/fbxmove.c:
	* tests/fbxmove_mask.c:

	Make sure we use the IMAGEDIR definition when loading images
	for the testsuite. Testsuite is also installable now, and is
	also shoved into its own package by the spec file.

2001-02-20  Michael Bourgeous <nitrogen@u4xlabs.com>

	* libfbx/libfbx-color.c:
	* libfbx/libfbx.h:
	
	Changed unsigned int to unsigned long for color functions.

	* libfbx/libfbx-surface.c:
	
	(fb_create_surface_depth) added.

2001-02-10  Paul Mundt        <lethal@u4xlabs.com>

	* libfbx/drivers/libfbx-ati.[ch]:
	
	(aty128_blank) added.

	* libfbx/drivers/libfbx-ati.[ch]:
	* libfbx/drivers/libfbx-ati-misc.c:
	
	(aty_draw_rect) added.
	(aty_fill_rect) added.

	* libfbx/arch/libfbx-memset.c:

	Started on SuperH optimizations.

	* libfbx/libfbx-init.c:
	* libfbx/libfbx.h:

	Changed fb_init() behaviour. We now only use it to initialize
	the fb_screen surface. fb_screen must be used for accessing
	the entire display.

	* libfbx/drivers/libfbx-mga.c (mga_putc): added.
	* libfbx/drivers/libfbx-mga.h:

	Added some additional defines.. various cleanups.

2001-02-09  Rob Salmond       <rob.salmond@home.com>

	* libfbx/drivers/libfbx-mga.c (mga_fill_rect): added.

2001-02-09  Paul Mundt        <lethal@u4xlabs.com>

	* libfbx/drivers/libfbx-mga-misc.c (mga_ydstlen): added.
	* libfbx/drivers/libfbx-mga.h:

	Added ydstlen stuff.

	* libfbx/drivers/libfbx-3dfx.c:
	* libfbx/libfbx-drivers.h:
	* libfbx/libfbx-init.c:
	* libfbx/libfbx-font.c:

	putc() got renamed to writec().. this won't effect anything as it
	should never be called directly anyways. But at least it'll fix
	that reoccuring build error.

2001-02-05  Paul Mundt        <lethal@u4xlabs.com>

	* libfbx/libfbx-font.c:

	(fb_putc) updated.

	Now handles accelerated routine if one is available.

	* libfbx/libfbx-modules.c:
	* libfbx/libfbx-blit.c:
	* libfbx/drivers/libfbx-3dfx.h:
	* libfbx/drivers/libfbx-mga.h:

	Various cleanups.

	* libfbx/drivers/libfbx-ati.c: added.
	* libfbx/drivers/libfbx-ati-misc.c: added.
	* libfbx/drivers/libfbx-ati.h: added.

	Started on ATI optimizations.

2001-02-04  Paul Mundt        <lethal@u4xlabs.com>

	* libfbx/drivers/libfbx-mga.c:
	* libfbx/drivers/libfbx-3dfx.c:
	* libfbx/libfbx.h:
	* libfbx/libfbx-init.c:

	Removed fn_ok() checks.. there's not a whole lot of need for them
	anyways.

	(fb_driver_ops_init) added.

	has_fn is now set dynamically.

	* libfbx/libfbx-drivers.h:
	* libfbx/drivers/libfbx-mga.c:
	* libfbx/drivers/libfbx-3dfx.c:
	* libfbx/libfbx-init.c:
	* libfbx/libfbx-modules.c:

	Implemented new driver infrastructure based on driver proposal.
	Appears to work properly so far, still needs extensive testing.

	Note: fn_ok and has_fn need to be dynamically set based on the set
	driver->ops->fn, this needs to be fixed as soon as possible.

2001-02-01  Paul Mundt        <lethal@u4xlabs.com>

	* libfbx/libfbx-drivers.h:

	has_fn only needs 0 or 1.

	* libfbx/drivers/libfbx-3dfx.c (tdfx_stretch_image): updated.

	Cosmetic cleanup.

2001-01-31  Paul Mundt        <lethal@u4xlabs.com>

	* libfbx/drivers/libfbx-mga-misc.c:
	* libfbx/drivers/libfbx-mga.h:

	(mga_fifo) added.

	* libfbx/drivers/libfbx-3dfx.[ch]:
	* libfbx/libfbx-blit.c:
	* libfbx/libfbx-console.c:
	* libfbx/libfbx-init.c:
	* libfbx/libfbx-modules.c:
	* libfbx/libfbx-line.c:
	* libfbx/libfbx-polygon.c:
	* libfbx/libfbx-surface.c:
	* libfbx/libfbx-drivers.h:
	* libfbx/libfbx.h:
	
	Cleaned up redundant include problems that were occuring. A lot of
	this mess still needs to be cleaned up.
	
	* libfbx/drivers/libfbx-mga-misc.c:
	* libfbx/drivers/libfbx-mga.h:

	(mga_inl) added.
	(mga_outl) added.
	(mga_wait_idle) added.

	* libfbx/libfbx.spec.in:

	Updated to reflect upon 3dfx and mga modules.

	* libfbx/libfbx-init.c (fb_init): updated.

	Some cosmetic and strcmp() cleanups. This should fix the mmio mapping
	problem occuring on non mga/3dfx boards reported by Mike Partin
	<djmike@u4x.org>.

2001-01-31  Michael Bourgeous <nitrogen@u4xlabs.com>

	* libfbx/libfbx-modules.c:

	Changed from fb_screen to fb_surface *surface, to allow for future
	expansion into multihead displays.

	* libfbx/drivers/libfbx-3dfx.c:

	(tdfx_stretch_blit) started.

2001-01-30  Paul Mundt        <lethal@u4xlabs.com>

	* libfbx/libfbx-modules.c: added.

	* libfbx/drivers/libfbx-3dfx.[ch]:
	* libfbx/drivers/libfbx-mga.[ch]:
	* libfbx/libfbx-drivers.h:
	* libfbx/libfbx-init.c:
	* configure.in:
	* acconfig.h:

	(fb_load_module) added.
	(fb_unload_module) added.

	Started work on module loading system. Module directory is specified
	through the --with-moduledir flag to configure.

	Cleaned up a few additional warnings.

2001-01-30  Michael Bourgeous <nitrogen@u4xlabs.com>

	* libfbx/drivers/libfbx-3dfx.[ch]:

	(tdfx_putc) added.

	Note: tdfx_putc() doesn't work yet.
	
2001-01-29  Michael Bourgeous <nitrogen@u4xlabs.com>

	* libfbx/drivers/libfbx-3dfx.[ch]:

	(tdfx_line) added and updated.
	(tdfx_fill_rect) updated.

	Code cleaned a bit.

2001-01-28  Paul Mundt        <lethal@u4xlabs.com>

	* libfbx/drivers/libfbx-3dfx.c:

	(tdfx_blank) updated.

	Cosmetic cleanups.

2001-01-28  Michael Bourgeous <nitrogen@u4xlabs.com>

	* libfbx/drivers/libfbx-3dfx{,-misc}.[ch]:

	(seq_inb) added.
	(seq_outb) added.
	Note: seq_{in,out}b() are non-functional.

	(tdfx_fill_rect) updated and now works in all bit depths.

2001-01-27  Paul Mundt        <lethal@u4xlabs.com>

	* libfbx/drivers/libfbx-mga.h:

	Removed inline's, they were bound to cause compiler errors sooner or
	later anyways.

	* libfbx/drivers/libfbx-3dfx.[ch]:

	(tdfx_init) updated.
	(tdfx_cleanup) added.
	(tdfx_blank) added.
	(tdfx_blank_ok) added.
	
	* libfbx/drivers/libfbx-3dfx-misc.c:

	(tdfx_inb) added.
	(tdfx_outb) added.
	(tdfx_inl) updated.
	(tdfx_outl) updated.
	
2001-01-27  Michael Bourgeous <nitrogen@u4xlabs.com>

	* libfbx/drivers/libfbx-3dfx.[ch]:
	* libfbx/drivers/libfbx-3dfx-misc.c:

	Started 3dfx Voodoo 3 and Voodoo Banshee optimizations.
	
2001-01-25  Paul Mundt        <lethal@u4xlabs.com>
	
	* libfbx/drivers/libfbx-mga-misc.c:
	* libfbx/drivers/libfbx-mga.[ch]:
	
	Started work on MGA optimizations.
		
2001-01-23  Michael Bourgeous <nitrogen@u4xlabs.com>

	* libfbx/libfbx-console.c:

	Console switching now works (but only as root - don't know why).

2001-01-18  Michael Bourgeous <nitrogen@u4xlabs.com>

	* libfbx/gui/libfbx-button.c (fb_button_proc): added.
		
2001-01-17  Michael Bourgeous <nitrogen@u4xlabs.com>

	* libfbx/libfbx-polygon.c (fb_fill_rect): updated.
	
	IMPORTANT: fb_fill_rect() now accepts coordinates for the top-left
	and bottom-right corners of a rectangle, rather than just the top-left
	corner and a width and height. 
	
2001-01-17  Paul Mundt        <lethal@u4xlabs.com>

	* libfbx/libfbx-png.c:

	Cleanups for systems that don't have libpng.

	* libfbx/gui/*:

	Cleanups.

2001-01-16  Michael Bourgeous <nitrogen@u4xlabs.com>

	* libfbx/gui/libfbx-gui.c (fb_dotted_rect): added.

	* libfbx/gui/*:

	Added some GUI behavior functions.

2001-01-13  Michael Bourgeous <nitrogen@u4xlabs.com>

	* libfbx/libfbx-font.c (fb_sprintf): added.

2001-01-10  Michael Bourgeous <nitrogen@u4xlabs.com>

	* libfbx/libfbx-blit.c (fb_draw_masked_image): added.

2001-01-07  Michael Bourgeous <nitrogen@u4xlabs.com>

	* libfbx/libfbx-blit.c:
	
	Fixed blit artifacts when it would go off the top or left of the
	destination.

2001-01-02  Paul Mundt        <lethal@u4xlabs.com>

	* libfbx/libfbx-console.c: added.
	
	Started on console switching support. (Based on console switching
	code from FBI source).

2001-01-01  Paul Mundt        <lethal@u4xlabs.com>

	* libfbx/*:
	
	Updated copyrights, minor other cleanups.

2000-12-25  Paul Mundt        <lethal@u4xlabs.com>

	* libfbx/arch/*:

	Redid infrastructure.

	* libfbx/libfbx-png.c (png2pnm): updated.

	Added alpha channel support.

2000-12-24  Michael Bourgeous <nitrogen@u4xlabs.com>

	* libfbx/libfbx-init.c (fb_init): updated.

	IMPORTANT: fb_cleanup() is no longer installed as an atexit(). This is
	to allow for multihead support later on, as well as to allow turning
	off libfbx before the program has ended.

2000-12-23  Paul Mundt        <lethal@u4xlabs.com>

	* libfbx/libfbx-png.c:
	
	(fb_load_png) added.
	(png2pnm) added.

	* libfbx/libfbx-surface.c:
	* libfbx/libfbx-init.c:
	* libfbx/libfbx.h:
	
	Added finfo and vinfo to fb_screen struct.

	Various other cleanups.

2000-12-23  Michael Bourgeous <nitrogen@u4xlabs.com>

	* libfbx/libfbx-surface.c:
	* libfbx/libfbx-init.c:
	
	Fixed Paul's finfo/vinfo changes.

	* libfbx/libfbx-blit.c (fb_draw_image): updated.

2000-12-22  Michael Bourgeous <nitrogen@u4xlabs.com>

	* libfbx/libfbx-blit.c:

	Fixed long term bug that screwed over any blits that used fb_memmove
	or glibc memmove. Also fixed it so that blits with x and/or y values
	less than zero should work, and the image should be clipped.

	* tests/fbxmove.c: added.

	* libfbx/libfbx-2d.c (fb_move_object): updated.

	Blitting is now fast!!!

2000-12-22  Paul Mundt        <lethal@u4xlabs.com>

	* libfbx/libfbx-ppm.c (fb_load_ppm): updated.

	Fixed comment parser. Not sure how it got broken, all that
	matters is that it works now.
		
2000-12-15  Paul Mundt        <lethal@u4xlabs.com>

	* docs/libfbx-api.sgml: updated.

	* libfbx.spec.in:

	Added libfbx-gui stuff.

2000-12-11  Paul Mundt        <lethal@u4xlabs.com>

	* libfbx/gui/*:

	Started work on libfbx-gui.

	* libfbx/gui/libfbx-gui.c:

	(fb_draw_box) added.
	(fb_draw_textbox) added.

2000-12-10  Paul Mundt        <lethal@u4xlabs.com>

	* libfbx/libfbx-pixel.c (fb_putpixel_aa): updated.
	
        Cleanups and optimizations.

2000-12-09  Paul Mundt        <lethal@u4xlabs.com>

	* libfbx/libfbx-init.c:

	Fixed minor build problem that occured under sparc64.
	
	* libfbx.spec.in:

	Version is determined directly from configure.in

2000-12-09  Ken Mills         <ken@u4xlabs.com>

	* libfbx/libfbx-pixel.c:

	(fb_putpixel_alpha) added.
	(fb_pitpixel_aa) added.

2000-12-07  Dean Scott        <dean@u4xlabs.com>

	* docs/libfbx-api.sgml:

	Finished off initial API.

2000-10-20  Paul Mundt        <lethal@u4xlabs.com>

	* README: updated.

	* tests/*: added.

	Various other code cleanup.

2000-10-20  Michael Bourgeous <nitrogen@u4xlabs.com>

	* tests/fbxbench.c: added.

2000-10-17  Paul Mundt        <lethal@u4xlabs.com>

	* libfbx.spec.in: added.

	* docs/libfbx-api.sgml: added.

2000-10-16  Michael Bourgeous <nitrogen@u4xlabs.com>

	* libfbx/arch/libfbx-memmove.c: added.
	
	Wrote optimized memmove() routines.

2000-10-05  Paul Mundt        <lethal@u4xlabs.com>

	* libfbx/arch/libfbx-memset.c:
	
	Moved MIPS optimized fb_memset() to inline ASM and did a few minor fixups.

2000-09-30  Paul Mundt        <lethal@u4xlabs.com>

	* libfbx/arch/*:
	
	Started work on architecture specific optimizations.
	
2000-09-16  Paul Mundt        <lethal@u4xlabs.com>

	* libfbx/drivers/Makefile.am:
	* libfbx/drivers/Makefile.in:
	* libfbx/Makefile.am:
	* libfbx/Makefile.in:
	* configure.in:
	
	autoconf/automake changes to reflect upon drivers/ code.

2000-09-14  Paul Mundt        <lethal@u4xlabs.com>

	* libfbx/libfbx-init.c (fb_setdev): added.
	
	* libfbx.h:

	Cleanups.

	* libfbx/libfbx-png.c (fb_save_png): updated.

	Fixed problem with saving that occured in 0.1.2.

	* libfbx/libfbx-font.c (fb_puts): updated.
	
	Added \n and \t handling.

2000-09-12  Paul Mundt        <lethal@u4xlabs.com>

	* libfbx/libfbx-png.c: added.
	
	Wrote preliminary PNG support, added in ppm to png convertor.

2000-09-12  Michael Bourgeous <nitrogen@u4x.org>

	Merged changes from main fbdev tree into current libfbx tree.

2000-09-09  Paul Mundt        <lethal@u4x.org>

	Merged changes from main fbdev tree into current libfbx tree.

2000-09-08  Paul Mundt        <lethal@u4x.org>

	Forked code from main fbdev project into standalone lib. Wrote up
	autoconf/automake stuff. Ripped out non lib related code, and did
	minor other cleanups.
		
2000-09-03  Paul Mundt        <lethal@u4x.org>

	Code cleanup, Makefile tweakage. Begun prepping the source for the
	kernel. Fixed up a few things to comply a little better with ANSI C.

2000-09-02  Michael Bourgeous <nitrogen@u4x.org>

	Began splitting the program into multiple files, to allow easier
	editing and organization.

2000-08-26  Michael Bourgeous <nitrogen@u4x.org>

	* init/fbdev/fbdec-icons.c (boot_icons): updated.

	* init/fbdev/fbdev-init.c (fb_fill_rect): added.

2000-08-26  Paul Mundt        <lethal@u4x.org>

	Merged in new code, few minor cleanups here and there. Updated most
	code to take notice of the ENABLE_DEBUG flag.

2000-08-24  Michael Bourgeous <nitrogen@u4x.org>

	* init/fbdev/fbdev-3d.c (fb_project_3d): added.

	* init/fbdev/fbdev-icons.c (boot_icons): added.
	
	Wrote the camera stuff. TODO: use the viewing angle, make
	fb_putpixel_3d() use the viewing angle.
		
2000-08-23  Michael Bourgeous <nitrogen@u4x.org>

	* init/fbdev/fbdev-ppm.c (fb_save_ppm): added.

2000-08-22  Michael Bourgeous <nitrogen@u4x.org>

	* init/fbdev/fbdev-tunnel.c:

	(tunnel) updated.
	(funky_tunnel) added.

	Switched to nanosleep() for greater precision over sleep().

2000-08-22  Paul Mundt        <lethal@u4x.org>

	* init/fbdev/fbdev-init.c (handle_signals): updated.

	* init/fbdev/fbdec-icons.c (icon_progression): updated.
	
	Merged in new code, cleaned up some stuff, started implementing support
	for a DEBUG define.

2000-08-20  Paul Mundt        <lethal@u4x.org>

	* init/fbdev/fbdev-font.c (fb_printf): added.

	* init/fbdev/fbdev-icon.c: added.

	Started working on prototype progress bar/icon progression system.

	* init/fbdev/fbdev-init.c:

	(handle_signals) added.
	(quit) added.

	We now cleanup properly when we recieve a fatal signal, this was
	causing some problems with vesafb and a few other drivers.

2000-08-20  Michael Bourgeous <nitrogen@u4x.org>

	* init/fbdev/fbdev-stretch.c (fb_stretch_image): added.

	It runs slow man! For the record: we need hardware acceleration!

2000-08-17  Paul Mundt        <lethal@u4x.org>

	* init/fbdev/fbdev-ppm.c (fb_read_ppm): updated.

	Cut down on duplicate code drastically but it sure is ugly.

	Cleaned up code to abide by Linux Kernel coding style. Started
	documenting functions and rest of code.

2000-08-16  Michael Bourgeous <nitrogen@u4x.org>

	* init/fbdev/fbdev-ppm.c (fb_load_ppm): added.

	Only handles RAW format, but that's the good format anyway.  Has some
	trouble with some comments, but usually handles the single-line gimp
	comment okay.

	* init/fbdev/fbdev-3d.c (fb_putpixel_3d): added.

	z is positive into the screen.
	
	* init/fbdev/fbdev-starfield.c: added.
	
	* init/fbdev/fbdev-tunnel.c: added.

	Tests for 3d putpixel routine.
		
2000-08-15  Michael Bourgeous <nitrogen@u4x.org>

	Got 8-bit support about as good as I think it's going to get.
		
2000-08-12  Michael Bourgeous <nitrogen@u4x.org>

	Finished 24-bpp support.  Found possible endian-ness problems in the
	drawing routines.  Will have to check when other hardware is available.
	Started 8-bit hack.
		
2000-08-11  Michael Bourgeous <nitrogen@u4x.org>

	Implemented and perfected 32-bpp support.
		
2000-08-10  Michael Bourgeous <nitrogen@u4x.org>

	Implemented most of 24-bpp support. Added offset request/retrieval system.

2000-08-09  Michael Bourgeous <nitrogen@u4x.org>

	* fbdev/fbdev-blit.c: updated.
	
	Optimized blit routines, started on 24-bpp support.

2000-08-05  Michael Bourgeous <nitrogen@u4x.org>

	* fbdev/fbdev-surface.c: added.
	
	(fb_create_surface) added.
	(fb_destroy_surface) added.
	(fb_put_linux_logo) updated.

	Updated more code to use custom surface system.

2000-07-29  Michael Bourgeous <nitrogen@u4x.org>

	* fbdev/fbdev-init.[ch]:

	Outlined custom surface structure, and began implementing necessary
	methods.


2000-07-27  Paul Mundt        <lethal@stampede.org>

	* fbdev/fbdev-blit.c (fb_putimage): added.

 	Note: Needs to be updated to handle RGB and RGBA sanely.

2000-07-26  Paul Mundt        <lethal@stampede.org>

	* fbdev/fbdev-init.c:

	(fb_finddev) added.
	(draw_*_run) added.
	
	Various other cleanups.

2000-07-26  Michael Bourgeous <nitrogen@u4x.org>

	* fbdev/fbdev-init.c:

	(draw_*_run) updated.
	(fb_putpixel) added.
	(fb_line) added.

	Basic tests added.

