Re: server questions

Keith Packard <[email protected]>
Newsgroups gmane.comp.freedesktop.xserver
Message-ID <[email protected]>
Around 11 o'clock on Jan 19, stuart kreitman wrote:

> Questions on hardware panning in XFree implementation:

The XFree86 hardware panning is done by changing the video origin used to 
scan data out to the DAC; the underlying frame buffer is the full virtual 
size.  It's really more of a mode selection issue; the mode happens to be 
smaller than the screen.  A hack in the mouse code causes the server to 
reset the origin so that the mouse is always visible on the screen.

I always found this hack annoying -- I think the monitor should always display
the whole root window.  So, I've never supported it in the kdrive 
infrastructure.

You can do the same thing in the window manager with a giant window 
containing the applications and some input-only windows to trigger the 
panning action.  Using Composite, you can eliminate any repaint artifacts.

> I wonder if there is a natural limitation to the max available size that 
> can be configured. EG some current graphics
> cards have huge memory.  If this is texture store, is it still possible 
> to somehow apply it to panning? I'm
> aware of some limitations where 3D engines are involved.

With the current XFree86 hack, the only limit is the maximum stride you can
configure in the video output logic.  With a software solution, there 
would be no limit to the size; in fact, there would be no storage 
allocated for the full-sized image anywhere.

> I would like to see some control in allocation of the onboard memory so
> that panning-freaks, pixmap-freaks, or 3D freaks could tune the hardware to
> their liking. Would appreciate a push in the right direction if this work
> is possible.

The kdrive acceleration architecture uses a linear video memory allocator 
that allows new allocations to kick existing users back into main memory.  
There's a lot of tuning left to do in this system, but the goal is to use 
video memory as a cache and main memory as a backing store.

I'd also like to look at using AGP memory for video cards without 
sufficient memory onboard; my lowly laptop has only 4Meg of video memory, 
which isn't sufficient for the kinds of operations we'd like to be able to 
do these days.

-keith
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.