From: Ian R. <id...@us...> - 2003-10-29 18:54:58
|
Mike Mestnik wrote: > --- Ian Romanick <id...@us...> wrote: > >>Basically, queuing commands while we wait for a swap to complete is like >>building a display list. Maybe it would be easier to tackle the problem >>from that point of view? When a swap is pending we'd "somehow" switch >>to build-display list mode. When the swap completed we'd execute the >>currently built display list and switch back to immediate mode. Dunno... > > This sounds alot like something I would have done, could the pending commands be compiled, > optimized, or compresed? Also we can use an irq/signal(I.E. kill -WINCH) or an alarm to get back > into client side code, can't we? I don't know what WINCH is for but by default it's ignored. I don't think we can use signals for a number of reasons. Even though WINCH (or any other signal, for that matter) are unused by default, an application *can* use them for whatever it wants. We don't want to steal signals from the application or vice versa. I think there are things that we would need to do to submit buffered commands that can't be done from within a signal handler. There *might* be some trickery that we could do with an extra thread, but that seems dangerous and error prone. |