--- 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
