On Wed, Nov 07, 2001 at 10:34:28AM -0700, Keith Whitwell wrote:
>
> Here's a little one:
>
> <snip useful tasks>
At a minimum:
- Private back/depth buffers by default
- Make unified back/depth buffers a config option
For what the DRI drivers are used for, it makes more sense to have
private back and depth buffers. UBB is neat for pro workstation-like
apps (multiple 3D windows at once etc), but it sucks for games. It also
sucks when you can't enable 3D accel on 8 (16?) MB cards because you
can't reserve the buffer memory.
Some useful heuristics:
- Unless creating a "fullscreen" window, allocate a slightly
larger area than you need to allow for faster resizes.
- When you need to create a new buffer, flush the local texture
heap. This will free up the local video memory for offscreen
buffers. Obviously, you'll need to sync other clients before
you go and trash their textures.
- If, for whatever reason, you can't allocate a buffer, fall
back to software rendering. Detecting when you can go back to
hardware rendering may require some more thought.
This has been on the infamous DRI TODO list for years. It'd be great to
start knocking these missing core bits of functionality off that list.
-- Gareth
|