Well, the interesting thing is that when running X at depth 24 w/ 32 fbbpp on Radeon, glxinfo still shows buffer size as 24 after the patch. Is this because it's being intersected with the X visual depth of 24? Afaik, there's no such thing as a depth 32 in the Xserver ("-depth 32" doesn't work as an argument to the server).
According to the glx spec GLX_BUFFER_SIZE, as you say, should be the sum of the four channel sizes (GLX_RED_SIZE, GLX_GREEN_SIZE, etc.). It also says that "this value may be larger than the depth value reported in the core X11 visual since it may include alpha planes that may not be reported by X11." So it looks like a bug in GlxSetVisualConfigs. I haven't been able to track down where the actual code for that is yet, though. --Leif On Thu, 6 Feb 2003, Brian Paul wrote: > Leif Delgass wrote: > > On Thu, 6 Feb 2003, Brian Paul 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. > >> > >> > >> > >>>>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. > > > > > > In the argb8888 READ_RGBA in mgaspan.c, alpha is always returned as 255. > > One or the other of these is wrong. > > Hmmm, I don't remember if the g200/400 supports dest alpha. The span > functions would seem to indicate "no". > > > >>>8 8 8 8 00000000 32 16 16 16 16 24 > >>> > >>> > >>>>GLINT > >>>>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. > > > > > > Shouldn't the buffer size be 24 here? > > Ooops, yes. > > > >>>>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! > > > > > > Sure. Could you also check these in on the mesa-4-0-4-branch? > > Looks like Ian did. > > -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 > -- Leif Delgass http://www.retinalburn.net ------------------------------------------------------- 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