W lis'cie z pon, 06-10-2003, godz. 10:38, Keith Whitwell pisze:
Ok I got it, but I have a question. In DRITransitionXXXXX functions in dri.c DRIClipNotifyAllDrawables is called. I don't quite understand purpose of this functions but I think it should also get called in my DRITransitionToStereo/Mono as functionality is more less the same as DRITransitiontoShared/PrivateBuffers. Correct me if I'm wrong.
This function sets a flag in shared memory to let each client know that their cliprects have changed. When they next grab the lock, they'll notice this and issue a request to the X server to get the current cliprects.
Keith
Hi
Thanks figured it out too. Now my implementation switches to quadbuffers
only when stereo drawable is present. But I have run into some problems.
In quadbuffer mode stereosoptic and monosoptic applications rendering to back buffer work fine. The problem is when monosoptic app renders to front buffer, then a software fallback is required (it must render into front left and front
right). So when stereo drawable is created all those apps must switch to software
fallbacks. Is it Ok to switch to fallback in radeonGetLock? Even if so then
part of the frame may be already rendered to only one buffer. So what I think of
now is to flush all pending drawing operations copy left -> right and then switch
to fallback. It my be quite hard with my current knowledge about radeon pipeline
so I have to educate myself. Could You point me towhere to start looking?
I know that vertex are accumulated and then are sent to the hardware.
Is it possible (hard?) to do something like this in order to render into more than buffer.
radeonSetBuffer(GL_FRONT_LEFT) radeonSendDataToHardware(); radeonSetBuffer(GL_FRONT_RIGHT) radeonSendDataToHardware();
Yes, that sort of thing is possible.
If you look at the older 3d drivers, eg. r128, you'll see that we had to use a loop to dispatch regular vertices as we could only send a few cliprects to the kernel at a time. You could do a similar loop over the two buffers.
Another problem is that when using shadowfb in order to update other buffers and 3d window is moved contents of right buffer get overwritten by contents of left one. Is there a way to disable shadowfb for 3d windows?
Shadowfb is only used for pageflipping, right?
Keith
------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel