Alex Deucher wrote:

--- Felix Kühling <[EMAIL PROTECTED]> wrote:


Thanks for your explanation. I think I'm beginning to understand. To
get
this straight, access to the frame buffer by the 2D engine, 3D engine
and the CPU all go through bitmap descriptors which can translated
from/to tiled/linear adresses. The format is somehow specified by the
tiled surface registers. Now 2D goes through GBD and 3D through PBD.



Format (tiled/linear) is specified in the BDs. tiling regs are only
used with tiled BDs. I'm not sure how a tiling reg is associated with
a BD, I suspect you just have to match the framebuffer offsets. The
tiling regs deal with the conversion between tiled mode and the linear
mode of the framebuffer.



You can't have multiple tiling formats. A BD is either tiled or it isn't; if it is, the tiling registers tell it how things are tiled.


Which BD is responsible for CPU access? Your earlier questions seemed
to indicate that it depends on whether the 2D or the 3D driver is
accessing it. How is that possible?


I'm not 100% sure. that's just my understand from hacking on it. It
doesn't matter who uses which BD (I think...although looking at the
source, 2D might have to use the GBD). I'm guessing 3D uses the PBD
because in savage_dri.c:SavageSelectBuffer() the front/back/depth
buffers get written to the PBD(0x8170-0x8174). that still leaves the
SBD which as far as I can see is unused.



As far as I know, the Bitmap Descriptors are *ONLY* used by the 2D drawing engine. CPU access certainly does not go through a BD; you just write to whatever frame buffer offsets you need. I believe the 3D engine has a separate "destination" register, but I'm just not as "up" on the 3D engine.


Every 2D blitter command has fields to specify which BDs to use. In the case of a copy blit, there are two fields: one for source, one for dest.

I think in theory anyone (2D, 3D, CPU) can write to any BD it as long
as it is selected as the destination of that operation. you can even
set one BD as a source and another as a destination I think. Perhaps
Tim can clarify this.



Yes, for 2D this is right.


--
- Tim Roberts, [EMAIL PROTECTED]
 Providenza & Boekelheide, Inc.



-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
--
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to