Sharing surfaces and multiple drivers

Alex Deucher alexdeucher at gmail.com
Sat Apr 30 13:39:00 PDT 2005


On 4/30/05, Jon Smirl <jonsmirl at gmail.com> wrote:
> I haven't worked with PCI Express yet so I haven't figured out how
> video works on it. How do surfaces work on PCI Express? There are
> motherboards now (big $$, quad Opteron, Nforce4) that can support 16
> full 16 lane slots. That lets you plug 16 top of the line cards into
> the system. Since AGP is gone on PCI Express I believe that PCI
> Express video cards can treat all of system memory as if it were AGP
> space. This creates yet another environment for sharing surfaces. In
> this environment surfaces that aren't in VRAM are sharable by all
> screens.
> 
> Sharable surfaces has lots of impact on the compositing manager. For
> example where should the surface reside for a window that is going to
> be composed onto two screens on two different cards.
> 
> Should you use hardware to draw to VRAM and copy it out for the other card?
> Should you copy it to system memory or VRAM on the other card?
> Or draw it in system memory using hardware?
> Or draw it in system memory using software?
> 
> The compositing manager will probably need to measure these on startup
> and then adjust its algorithms.

As far as I understand it PCIE works roughly like regular PCI just
fast.  TO provide agp-like capabilities video card vendors need to
include their own pci-gart hardware on their chipsets.  if you read
about PCIE on Microsoft's DX site it mentions the requirements of PCIE
cards for DX, pci-gart hardware being one of them.  Some platforms,
alpha, PPC64, AMD64, you could probably use the IOMMU to handle the
mappings.  We could even use the IOMMU for gart on regular PCI slots. 
Current Intel x86-64 and other platforms will require GPU gart support
for now.

Alex

> 
> --
> Jon Smirl
> jonsmirl at gmail.com


More information about the dri-egl mailing list