• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

man/H17-Jul-2012-595466

src/H03-May-2022-3,6532,519

COPYINGH A D06-Jun-20122.4 KiB4938

ChangeLogH A D17-Jul-201219.8 KiB632421

INSTALLH A D17-Jul-201211.1 KiB292219

Makefile.amH A D06-Jun-20121.3 KiB338

Makefile.inH A D17-Jul-201225.4 KiB812698

READMEH A D06-Jun-20122.2 KiB5746

TODOH A D06-Jun-2012972 3628

aclocal.m4H A D17-Jul-2012413.5 KiB11,72110,596

config.guessH A D06-Jun-201243.6 KiB1,5231,311

config.h.inH A D17-Jul-20122 KiB8657

config.subH A D06-Jun-201234.5 KiB1,7671,621

configureH A D17-Jul-2012588.3 KiB20,61216,797

configure.acH A D17-Jul-20124.2 KiB11598

depcompH A D06-Jun-201219.9 KiB689448

install-shH A D06-Jun-201213.7 KiB528351

ltmain.shH A D06-Jun-2012276.8 KiB9,6567,304

missingH A D06-Jun-201210.1 KiB332243

README

1Quick Voodoo/Voodoo2 Crash Course (mostly Alan's notes to save looking
2stuff up in the docs all the time)
3
4Voodoo and Voodoo 2 appear as multimedia devices. They may be on a "dual
5function" board in which case we should not 'borrow' the Voodoo as we will
6blank the main video card. That is reported in the PCI config space.
7Voodoo/Voodoo2 hardware may not always be initialized by the host OS because
8it is not video.
9
10The voodoo memory is split into two pools. A 1-4Mb pool holds the frame
11buffer, an optional second buffer, zbuffers, and alpha. A second 2-8Mb
12memory area holds all the textures.
13
14Texture ram is directly writable but not important for the current 2D
15driver. Video RAM is 16bit depth and tiled. The view of the video memory
16area is "magic", it doesn't contain a mapping of the video RAM into PCI
17space but contains pixel poking functionality.
18
19The frame buffer always appears untiled and 1024 pixels wide. For write
20there are some 16 different write modes including 24/32bit. The hardware
21does not support 24/32bit - these are provided for software rendering
22fallback. Read back is always 16bit. Endian conversion is hardware. Byte
23aligned access is not supported, only word aligned. Also watch how you
24access data - you can't access out of frame buffer space and if you get
25the control bits wrong you also get zbuffered, fogged and other fun.
26LFB writes have depth and alpha if you want.
27
28The real hardware is RGB565, how it sets stuff up internally is out of
29our hands - which means X memory alloc/pixmap cache is a little
30constrained.
31
32[IDEA: Should we put the mouse and framebuffer at different Z values so
33 that we don't have to erase it to draw under it - less flicker]
34
35Acceleration:
36
37All Voodoo
38	Fast Fill	-	Solid 2D rectangle fill
39				(Also depth buffer clear for 3D)
40				Supports a constant alpha option
41				Requires a running 3D engine
42
43Voodoo2 and later
44	Screen to screen blit
45	CPU to screen blit
46	Ultra fast fill to some alignments
47	Monochrome to colour expansion (cpu to screen only)
48	(and they finally made the 2D and 3D state independant
49	 if someone ever gets drunk enough to do DRI...)
50	Colour conversion on blit
51	Dither
52	Chroma testing (src/dst) and selection of op by colour
53	raster ops are the usual 16 suspects
54
55Other bits supported
56	CLUT Gamma correction
57