The VAR extension allows to use the AGP memory for fast rendering of dynamic geometry: write vertex data sequentially AGP memory; GPU pulls data to graphics board and renders. I wonder if it were possible to exploit AGP memory in the same way for glRead/DrawPixels, for instance to perform fast post-processing of the frame buffer. I tried this: glreadpixels to system memory, process and copy to AGP memory and finally call drawpixels. But all I got was crappy performance as opposed to using only system memory. Can anyone tell me if it is possible to use the AGP memory in this way, and if so, how do I do it correctly?
Originally posted by TM:
glreadpixels to system memory, process and copy to AGP memory and finally call drawpixels
this way you’re doing at least the same amount of copies as a regular glRead/Draw to and from system memory would, possibly the driver can save the copy to AGP memory and copy into the framebuffer directly from system memory if you go the ‘normal’ way.
I asked Cass a while ago if it was possible to define an extension similar in semantics to VAR, that would enable developers to use AGP memory for more than vertex data.
Not only for framebuffer processing would that be an interesting possibility, but imagine for example processing procedural textures with the CPU directly in AGP memory and the glCopyTex(Sub)Image being performed from there. I’d think that might speed up things for certain cases quite a bit… but since I’m not hardware or driver guru I have no clue how hard such an extension would be to integrate into existing architectures.
Originally posted by Dodger:
…define an extension similar in semantics to VAR, that would enable developers to use AGP memory for more than vertex data…
I think this is part of the upcoming OpenGL 2.0 where you can specifiy where memory is located. The whitepapers ca be found here http://www.3dlabs.com/support/developer/ogl2/whitepapers
Cant you glRead into AGP, process from there and glDraw?
Also, I think that AGP memory is not cached. Not sure but I think I heard it from here and there.