--- Felix K�hling <[EMAIL PROTECTED]> wrote:
> On Thu, 8 Jan 2004 15:40:55 -0800 (PST)
> Alex Deucher <[EMAIL PROTECTED]> wrote:
> 
> > well, I managed to fix the 2D corruption in tile mode on savage4. 
> the
> > problem is that the bits of the GBD (MM816C) have different meaning
> on
> > savage4 vs. twister/prosavage.  The fix is to use the
> > SavageEnableMode_M7() function for savage4 rather than
> > SavageEnableMode_Twister().  This also negates the need to define
> > SAVAGE4 in savage_bci.h since SavageEnableMode_M7() already uses 8
> for
> > BCI_ENABLE.
> > alternatively you can edit the SavageEnableMode_Twister() to use
> the
> > proper values, but the results are the same (and you don't break
> > twister/prosavage).
> 
> I don't understand. How would using SavageEnableMode_M7 for Savage4
> break ProSavage?

It wouldn't.  what I was trying to say is that "fixing"
SavageEnableMode_Twister() would break prosavage.  Obviously you could
add some "if(savage4)" stuff, but it's cleaner just using the m7
function.

> 
> > 
> > with tiling mode fixed, 3D behaves similarly to linear mode.  the
> 3D
> > app runs, but is scrambled somewhat.  I'm not sure where the fix
> for
> > that lies, probably on the 3D side.
> 
> Are you sure that tiled mode is enabled correctly? I think Rafael
> reported earlier that 3D (glxgears) worked ok for him with tiled mode
> enabled, even though 2D was garbled.
> 

yes, I'm seeing the same behavior. glxgears works with tiling on, but
then 2D doesn't.  if I fix 2D tiled mode, 3D gets scrambled.  I think
the problem lies in savage_dri.c  I think there is a disconnect on how
the different bitmap descriptors and tiling registers are set up.  The
GBD (global bitmap descriptor) and tiling reg 0 are used for the 2D
engine.  the PBD (primary bitmap descriptor) and tiling regs 0-2 are
used for the front/back/depth buffers.  I'm not sure exactly how they
all need to be set up to work properly.  I'll be playing with that
today.

The problem with the code is that there is no consistency with it. 
they define mneumonics, but never stick to them.  The comment and
SAVAGE4, etc. mneumonics at the top of savage_bci.h describe the
behavior of the bitmap descriptors. If they had used the mneumonics in
the EnableMode() functions in savage_driver.c tiling would have worked
off the bat on savage4.  On prosavage bits 25-24 select tile format:
linear, tile, texture or destination.  on savage4 those bits are
different: they are linear, 16bit tiles, or 32 bit tiles. 
SavageEnableMode_Twister() sets the tile format (bits 25-24) to 1 which
is tile mode on prosavage, but is nothing on savage4.  savage4 needs to
be set to 2 (16bpp) or 3 (32 bpp).  setting that properly clears the
corruption for 2D.  I suspect the 3D needs to be restructured to work
that way as well.  the reason 3d works when 2D doesn't is because all
the bitmap descriptors are probably set up the same (for prosavage).  I
suspect fixing the setup of the the bitmap descriptors and tiling regs
in savage_dri.c will fix 3d.  they might also be changes need in the
DRI as well, I haven't really looked at it much yet.

then again I could be wrong...


> > 
> > Also, with regard to VT switches, I haven't seen any lockups.
> 
> Then it's probably something specific to ProSavage. :-(
> 
> > 
> > Alex
> > 
> 
> ------------    __\|/__    ___     ___      
> -------------------------
>  Felix       ___\_e -_/___/ __\___/ __\_____   You can do anything,
>    K�hling  (_____\�/____/ /_____/ /________)  just not everything
>  [EMAIL PROTECTED]       \___/   \___/   U        at the same time.


__________________________________
Do you Yahoo!?
Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes
http://hotjobs.sweepstakes.yahoo.com/signingbonus


-------------------------------------------------------
This SF.net email is sponsored by: Perforce Software.
Perforce is the Fast Software Configuration Management System offering
advanced branching capabilities and atomic changes on 50+ platforms.
Free Eval! http://www.perforce.com/perforce/loadprog.html
--
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to