On Fri, 29 Mar 2002, Leif Delgass wrote:

> On Fri, 29 Mar 2002, Felix Kühling wrote:
> 
> > > Only 16 and 32 bit depths are currently supported.  32 bit is mostly
> > > untested, I think.  I'm suprised you actually get direct rendering
> > > with 15
> > > or 24, I thought it would be disabled.
> > 
> > It was slower than 16 bit with both 15 and 24 bits, but still a lot 
> > faster than indirect rendering.
> > Strange, when I try to start the xserver with 32 bits I get the 
> > following messages in the end of XFree86.0.log:
> > 
> > (EE) ATI(0): Driver does not support depth 32 at fbbpp 32.
> > (II) UnloadModule: "ati"
> > (II) UnloadModule: "atimisc"
> > (II) Unloading /usr/X11R6-mach64003/lib/modules/drivers/atimisc_drv.o
> > (EE) Screen(s) found, but none have a usable configuration.
> 
> OK, here's what I've found out. The DDX driver doesn't support depth 32 at
> fbbpp 32, but depth 24 at fbbpp 32 is supported, so using a depth of 24 in
> XF86Config should work.  I just discovered that the problem with depth 24
> is with the depth buffer.  I should have that fixed soon.  Running at
> depth 15 should disable direct rendering right now.  The problem was that
> the framebuffer bpp is still 16 with depth 15, and the driver was looking
> at the framebuffer bpp, so direct rendering wasn't being disabled.

I've hardcoded 16bpp for the depth buffer in the kernel init struct and 
this seems to fix rendering at 24 bit color depth (32 bpp framebuffer). 
The problem seemed to be with depth buffer clears which were being done at 
32bpp instead of 16bpp.

I'm still a bit confused about this however.  It seems from the screen
init (ATIScreenInit) that a 32bpp depth buffer is allocated.  The texture
memory is calculated assuming 3 equal buffers for front, back, and depth
buffers. Texture memory is FB mem - 3 * buffer size - pixmap cache. Other
drivers such as r128 and radeon seem to use a 24bpp depth buffer,
optionally with an interleaved 8 bit stencil buffer.  The Z coordinate
register of the mach64 setup engine only uses 16 bits, so anything more
than that would seem to be unsupported or wasted.  It seems like this is a
waste of memory that could be used for textures or pixmap cache.

Can anyone illuminate me on this? :)

-- 
Leif Delgass 
http://www.retinalburn.net


_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to