Using wglAllocateMemoryNV

Please help me - it seems that wglAllocateMemoryNV works in a strage way
… it an allocate only one block of AGP
memeory or 4 blocks of video memory … any subsequent allocations fail.
for agp memory I use wglAllocateMemoryNV ( 16384, 0, 0, 0.5f );
for video memory I use wglAllocateMemoryNV ( 16384, 0, 0, 1 );
the size does not matter - it easily allocates 8 Mb block in AGP memory, but
it cannot allocate two of them if they are 4096;

Using GeForce 256 DDR ( Asus V6800 ) with 32Mb ram, nvidia reference bios with sideband addressing fix
and nvidia reference drivers v 6.18.

Also, it seems that video memory is a ligned on size of 4608 … it is equal
to 4096 + 512 … Just interested why such granularity ( not page ) ?


I’ll get a response posted on this ASAP. Checking with the driver group…


Oh goody! I’ve been wondering about this too. Can’t wait for your response cass!

As it turns out, the answer may not be all that helpful.

There are a number of OS and chipset issues that muddy the waters here. The short answer is that if you want to write well-supported VAR code, you should allocate only one large chunk (per memory type). Your request is more likely to succeed if you make it before allocating (specifying) textures.

Hope this helps…

I knew it
At least, I was thinking on creating geometry memory manager - it keeps clear that it is required.

Thanks for help, cass

Last question - besides the spec - is there a way to get amount of available AGP and video memory, suitable for wglAllocateMemoryNV ? Seems there it is not, but just wanna be sure


Not any really sure-fire way, sorry.