Index: [thread] [date] [subject] [author]
  From: Andreas Beck <becka@rz.uni-duesseldorf.de>
  To  : ggi-develop@eskimo.com
  Date: Sat, 7 Aug 1999 13:30:46 +0200

Re: Matrox GGI accellerator

> > No. Due to page granularity you will almost always have to map more.

> The trick is to know ahead of time and resize the window to the right
> size just in case of a mmap. 

Huh ? Page granularity on a x86 is 4k, on Alpha IIRC 8k.

Thus on an x86, even in 32bit wide modes, you will need windows that are a
multiple of 1k-pixels (=4kb-bytes) wide (pretty big - or ?) _AND_ a virtual
visual width that is a multiple of that as well. Worse on an Alpha.

If not, the MMU cannot cope with it.

So basically: Protected mapping of single windows into userspace need
dedicated hardware support in the video card.

> > That is one point, where the SGI HW helps ... Individual windows have tags
> > in the graphics RAM that can be regarded as a kind of "stencil-mask" for
> > such clipping purposes.

> That would be the hardest part to work. Like I said this is far down the
> road. 

It cannot be done without hardware support. You have only two choices on
that matter:

1. Do not allow direct mapping of video RAM. Always go through an accel
protocol, which you can clip in software.

2. Accept the possibility of "crosstalk" between the windows and eventually
between the window and the root window. As I outlined, this is not a real 
concern with X windows anyway, as one can mess up the screen "legally" by
creating new windows or drawing on the root window as well.

CU, ANdy

-- 
= Andreas Beck                    |  Email :  <andreas.beck@ggi-project.org> =

Index: [thread] [date] [subject] [author]