Alex,

honestly I don't understand much of what you were writing about tiling
registers, PBDs, GBDs and so on. I don't have much experience with low
level aspects of graphics engines. The last one I programmed on the
register level was an original VGA under DOS many years ago. ;-) I'm a
bit confused that 2D and 3D engines can have different notions of tiling
of video memory without one of them showing corrupt output. They are
both rendering to the same frame buffer memory, aren't they? Could you
give me some basic explanation of how this works and maybe clear up some
fundamental misunderstandings (as far as my statements reveal them)?

More comments inline ...

On Wed, 14 Jan 2004 08:06:24 -0800 (PST)
Alex Deucher <[EMAIL PROTECTED]> wrote:

> Felix,
> 
>     Last night I did some thinging about the pitch and linear vs. tiled
> mode.  To be honest, I don't think it matters. 2D uses the GBD and can
> be tiled or linear.  3D uses the PBD and has to be tiled.  Since they
> are using different BDs, it shouldn't matter whether 2D is tiled or
> not.  for savagespan, we should use the tiled pitch whether or not 2D
> is tiled because they are writing to different BDs.  I think the reason
> linear provides a small speed boost is because in linear mode, 2D does
> not require the use of a tiling reg.  that frees tiling reg 0
> completely for use by the 3D engine whereas before it had to share it
> with the 2D side.   one thing I'm not clear on is the pitch in
> savagespan.  that's for sw fallbacks right?  are swfallbacks handled by
> the 2D driver?  should the destination for those be the GBD (2D) or the

They are handled by the 3D driver. That's when it needs the span
functions. I havn't looked into the details, but I think the 3D driver
needs to flush all drawing operations and wait for the 3D engine to go
idle. Then it can directly access the frame buffer through the span
functions.

> PBD (3D)? that would determine which pitch we need.  I presume the PBD
> since that is the destination for other 3D stuff (also in savage_dri.c
> the XAA fucntions in there write to the PBD rather than the GBD as the
> regular 2D accel functions do) and 2D accel can write to either BD you
> just have to set the destination right.
> 
> The utah driver used Tim's 2D driver which used linear mode for 2D.  it
> just calcuated it's pitch based on the PBD in the 3D driver.  perhaps
> if we add a new item, psav->ul3DAperturePitch and calculate it the way
> ulAperturePitch is for tiled mode whether or not we are using tiled for
> 2D it should work and pitch shold be right whether or not 2D is tiled.

Hmm, I think psav->ulAperturePitch isn't used in the 2D driver. It's
only use is when it is passed to the 3D driver in SAVAGEDRIScreenInit.

> 
> Does this make sense?

Probably, I just can't grasp all of it yet. ;-)

> 
> Alex
> 
[snip]

------------    __\|/__    ___     ___       -------------------------
 Felix       ___\_e -_/___/ __\___/ __\_____   You can do anything,
   Kühling  (_____\Ä/____/ /_____/ /________)  just not everything
 [EMAIL PROTECTED]       \___/   \___/   U        at the same time.


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