Re: Wondering about PC graphics that implements SGI style virtual graphics
On Maw, 2005-09-13 at 12:24 +1000, Tim Long wrote: > I have tracked down the orignal paper on the subject online at: > http://www.cs.virginia.edu/~gfx/Courses/2002/BigData/papers/The% > 20Graphics%20Pipeline/Virtual%20Graphics.pdf SGI were doing it before that paper, years before. I think Mark Kilgard's original direct render paper discusses it a little > > I am wondering if any PC level hardware implements the same features? > For the ones that don't what sort of performance impact does it take > switch GL threads if the pipeline has to be flushed on a context > switch. Ideally you flush the pipeline when someone else has to be given a context and this is the oldest. The same is done at low levels for MMU tags and the like. That way context flushing rates are much lower --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: Wondering about PC graphics that implements SGI style virtual graphics
On Mon, 2005-09-12 at 23:40 -0400, Adam Jackson wrote: > On Monday 12 September 2005 22:24, Tim Long wrote: > > I am wondering if any PC level hardware implements the same features? For > > the ones that don't what sort of performance impact does it take switch GL > > threads if the pipeline has to be flushed on a context switch. I am > > guessing that at least older style PC hardware designed for games would > > assume that the only openGL context (full screen first person shooter). > > 3dlabs cards have multiple hardware contexts. My understanding of nVidia > cards is that they kinda have multiple hardware contexts. The newer Matrox > cards might too. I think for all of these cases you're merely increasing the > number of hardware contexts from one to (say) eight, so you'll still have to > switch contexts sometimes. > > You don't necessarily have to flush the pipeline on hardware context switch. > You just need to resynchronize the state on the card with the state of the > context you're switching to. > > - ajax So, the simple solution we've done for most of our drivers now is "oh, someone else used the context? *dump all state again*". I may be remembering a simple test to measure the penalty that I did with radeon: I just didn't dump state on context switching (something rather prone to hangs, obviously) and got a win of around 5% for the two-app case. Thus, it looks like context switching isn't a major bottleneck for us, at least on some hardware. The cmdbuf system on Radeons (I think) should mitigate the number of lock grabs and trips to the kernel, and thus the number of context switches that have to happen anyway. That said, I may not have used the best app (ipers) for the test -- it was dominated by fillrate, so there might not have been many opportunities for pingponging state. Or maybe not, since it was the best app I found for reproducing that race in state updating that we were dealing with. -- Eric Anholt [EMAIL PROTECTED] http://people.freebsd.org/~anholt/ [EMAIL PROTECTED] signature.asc Description: This is a digitally signed message part
Re: Wondering about PC graphics that implements SGI style virtual graphics
On Monday 12 September 2005 22:24, Tim Long wrote: > I am wondering if any PC level hardware implements the same features? For > the ones that don't what sort of performance impact does it take switch GL > threads if the pipeline has to be flushed on a context switch. I am > guessing that at least older style PC hardware designed for games would > assume that the only openGL context (full screen first person shooter). 3dlabs cards have multiple hardware contexts. My understanding of nVidia cards is that they kinda have multiple hardware contexts. The newer Matrox cards might too. I think for all of these cases you're merely increasing the number of hardware contexts from one to (say) eight, so you'll still have to switch contexts sometimes. You don't necessarily have to flush the pipeline on hardware context switch. You just need to resynchronize the state on the card with the state of the context you're switching to. - ajax pgpbNyLFKzO73.pgp Description: PGP signature
Wondering about PC graphics that implements SGI style virtual graphics
Hi, I have been doing some research into the hardware design and implementation of the SGI visual workstation 320 and have noticed that most (all?) SGI graphocs hardware implements fast context switching of openGL threads/processes so that multiple apps can run simultaneously without a large performance drop. I have tracked down the orignal paper on the subject online at: http://www.cs.virginia.edu/~gfx/Courses/2002/BigData/papers/The%20Graphics%20Pipeline/Virtual%20Graphics.pdf I am wondering if any PC level hardware implements the same features? For the ones that don't what sort of performance impact does it take switch GL threads if the pipeline has to be flushed on a context switch. I am guessing that at least older style PC hardware designed for games would assume that the only openGL context (full screen first person shooter). This might be the right mailling list to ask. Does anyone know the best forum for such a question. Thanks, Tim Long.