Hi, > > HWInterface > > * provides two RenderingBuffers, BackBuffer and FrontBuffer > > > > Now, HWInterface is supposed to be the abstraction of a graphics > > card. > > Therefor, it provides all stuff like SetMode(display_mode) and so > > on. > > The only important thing however is the BackBuffer, to which > > DisplayDriverPainter attaches its Painter instace. Then there is a > > HWInterface::Invalidate(BRect) method, which tells the HWInterface > > that > > a certain part of the BackBuffer contains new contents. > > OK, let's see if I have this right. > FrontBuffer = frame buffer. BackBuffer = a buffer the same size as > frame buffer. > If that's the case, where do you put the back buffer when > app_server > runs on haiku with accelerated drivers? BTW: Software GL creates a backbuffer in main mem (BBitmap). It's frontbuffer is the window( or whole screen) that's visible on the monitor (so in the framebuffer) This is doublebuffering: singlebuffering would do without backbuffer. Not done ATM. With HWGL the backbuffer is also on the gfxRAM. I have this up and running, and I use the engine to blit back to front. I have to do my own clipping (BWindow's BRegion or so), and sync with DirectConnected. Enable/disable 'notifications'. I can only do blitting if the backbuffer is on the gfxRAM. Main RAM to gfx RAM is not supported at all. > > transfer. For example, in a more advanced version of UpdateQueue, > > it > > could do the transfer within the time of a vertical blank, so that > > front buffer updates are synced with the monitor refresh. > > Doesn't that require the back buffer being inside videoMem? > Rudolf? Syncing itself does not: it's just waiting for that semaphore. Copying the data only 'requires' the backbuffer to be on the gfxRAM if you want to use the graphics GPU to blit it to the frontbuffer. Even then, it's not supported to do that currently. You will be doing software copying anyhow. with 'requires' I mean backbuffer could be in main mem as well, but then we'd need AGP /PCI transfer support for the acc engine: nogo either currently. The only way you can do a GPU blit would be to tell the gfx driver to create a virtualscreen, and use the offscreen part of that for the backbuffer. Other options do not exist with the current driver architecture. > You have my word that I will try to make whatever comes best of me > at > that moment, and if I have problems this list will see my posts. :-) I love seeing all this progress here BTW guys! bye! Rudolf.