AGP GART clarifications, please!

Dave Airlie airlied at gmail.com
Fri Jun 20 03:22:22 PDT 2014


On 20 June 2014 18:27, Émeric MASCHINO <emeric.maschino at gmail.com> wrote:
> 2014-06-20 2:06 GMT+02:00 Dave Airlie <airlied at gmail.com>:
>> So to run in AGP mode you need a chipset specific driver to manage the
>> chipsets AGP GART and other features, that the GPU drivers can talk
>> to.
>
> Do the GPU drivers then talk differently to the graphics card when
> there's a GART? I mean, are there different code paths in the GPU
> drivers depending on the presence of GART or not? Or is the command
> stream built by the DRI module exactly the same with or without GART?

The userspace command streams are the same, the kernel driver is all
that contains differences,

in the radeon driver look for RADEON_IS_AGP, to see the differences.

> Next, in the kernel DRM, are there different code paths taken
> depending on the presence of GART or not? Or is it something
> "transparently" (from the DRI module/kernel DRM point of view) managed
> at the hardware level: I mean, the exact same data are sent to the
> graphics card through the DRI module and kernel DRM, but depending on
> the presence of GART or not, the data aren't handled the same at the
> hardware level and are "intercepted" and managed differently (e.g.
> reorganized) by the GART before being effectively delivered to the
> graphics adapter?

The GPUs have an internal memory layout, all the GART does is allow it to see
scatter/gather objects in main RAM as linear objects in its address space, so
its only about how the GPU accesses objects, and how the CPU sets things up,

Nothing else is affected like shaders or command streams.

booting with radeon.benchmark=1 might show some.

Dave.


More information about the dri-devel mailing list