Ian Romanick wrote:
Leif Delgass wrote:On Wed, 5 Feb 2003, Ian Romanick wrote:
[...]
The mask values indicate which bits in the pixel (word) correspond to each color channel. The buffer size is the sum of the red, green, blue, and alpha bits.Regarding glean, I need to test again, but I was seeing some other failures even with the mesa-4-0-4 and trunk. I think there were some off-by-one scissor errors and a couple of others. One question I had was whether the Radeon driver should really advertise a destination alpha channel. At depth 24, glxinfo reports 8 bit alpha for color and accum buffers. This doesn't seem to be consistent across the drivers. Some don't even seem to be consistent for a given entry between alpha bits, alpha mask, and buffer size. Here's a little chart I made a while back:
Some time ago there were some scissor problems that caused every glean test to always fail. I think those were fixed in the radeon and r200 drivers about 6 months ago. On my R100 the only tests that failed for me were the subtract tests and the alpha channel in some combinations of DOT3. I haven't had a chance to dig into that either.
Intuitively, it seems that NONE of these drivers, except Mach64 & Rage128, is reporting the right thing. There seems to be at least one field wrong in each. I'm not 100% clear on the meaning of all the fields, so I could be wrong. Hopefully Brian or Keith can enlighten us on what they should mean. :) I'm mostly unsure of what amask means in this context.
Mach64/R128 r g b a amask bsz ar ag ab aa Xvisual dpth 5 6 5 0 00000000 16 16 16 16 0 16 8 8 8 0 00000000 24 16 16 16 0 24
AFAIK, Mach64 doesn't support destination alpha. This looks correct.
Radeon/R200 r g b a amask bsz ar ag ab aa Xvisual dpth 5 6 5 0 00000000 16 16 16 16 0 16 8 8 8 8 ff000000 24 16 16 16 16 24
bufferSize should be set to 32 in radeon_dri.c
Shouldn't this be one of the following?
8 8 8 0 00000000 32 16 16 16 0 24
8 8 8 8 00000000 32 16 16 16 16 24
I know that in the XFree86 Radeon driver in 24-bit each pixel is actually 4 bytes, whether the alpha channel is used or not.
MGA r g b a amask bsz ar ag ab aa Xvisual dpth 5 6 5 0 00000000 16 16 16 16 0 16 8 8 8 8 00000000 32 16 16 16 0 24
alphaMask should be 0xff000000.
8 8 8 8 00000000 32 16 16 16 16 24GLINT r g b a amask bsz ar ag ab aa Xvisual dpth 5 5 5 5 000f1000 16 16 16 16 0 15 (pScrn->depth) 8 8 8 0 00000000 32 16 16 16 0 24 (pScrn->depth)This might be right.
Looks OK.
tdfx r g b a amask bsz ar ag ab aa Xvisual dpth 5 6 5 0 00000000 16 16 16 16 0 16 8 8 8 0 00000000 16 16 16 16 0 24 (pScrn->bitsPerPixel) 8 8 8 8 ff000000 16 16 16 16 16 32 (pScrn->bitsPerPixel)8 8 8 0 00000000 32 16 16 16 0 24 8 8 8 8 00000000 32 16 16 16 16 24
In hw/drivers/tdfx/tdfx_dri.c bufferSize should be set to 32. I'll check in corrections for these shortly. Thanks! -Brian ------------------------------------------------------- This SF.NET email is sponsored by: SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! http://www.vasoftware.com _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel