From: Leif D. <lde...@re...> - 2002-06-25 23:33:37
|
On 25 Jun 2002, Sergey V. Udaltsov wrote: > > Vid. mem Card type Max. 3D resolutions > > -------- --------- ------------------- > > 4 MB Any 800 x 600 @16bpp, 640 x 480 @24bpp > > 6 MB PCI 1024 x 768 @16bpp, 800 x 600 @24bpp > > 6 MB AGP 1152 x 864 @16bpp, 800 x 600 @24bpp > > 8 MB PCI 1152 x 864 @16bpp, 800 x 600 @24bpp > > 8 MB AGP 1280 x 1024 @16bpp, 1024 x 768 @24bpp > Also, one more question (I already asked it some while ago but hopefully > the answer has changed): > Is this the desktop resolution on X startup or on GL program startup? So > if I start X in 1280x768x16bpp and then run glapp in 800x600 - will it > leave more video memory for textures? The answer hasn't changed yet, so this list applies to both the maximum desktop resolution and 3D resolution. This is because of static buffer allocation. When the X server starts, the front, back, and depth buffers are allocated to fit the size of the largest mode configured. This memory is _not_ freed or reallocated when switching modes or resizing GL apps, so the amount of memory used for textures never changes. Switching the mode in X just uses a smaller part of the full-size buffers. All GL contexts share the back and depth buffers. So, at the moment, you have to start X with a smaller maximum resolution to actually affect the memory usage. Eventually, I think the plan is to add an extension to allow dynamic mode switching in XFree86 with resizing of the framebuffer memory. Along with that, we could implement private back and depth buffers for each GL context that are dynamically allocated/resized when the context is created or resized, rather than at server startup. With a dynamic buffer allocation scheme like this, the memory available for textures and/or 2D cache could grow and shrink as well. Another thing we could do is to free any local texture memory when there are no GL contexts to increase the XAA cache. Apparently the tdfx driver does this, but I haven't looked at it yet. -- Leif Delgass http://www.retinalburn.net |