On Fri, 8 May 2009 17:07:01 -0400 Kristian Høgsberg <k...@bitplanet.net> wrote: ... > + /* > + * The mode_set_base call will change the domain on the new > + * fb, which will force the rendering to finish and block the > + * ioctl. We need to do this last part from a work queue, to > + * avoid blocking userspace here. > + */ > + crtc->fb = obj_to_fb(fb_obj); > + ret = crtc_funcs->mode_set_base(crtc, 0, 0, NULL); > + if (ret) { > + DRM_ERROR("mode_set_base failed: %d\n", ret); > + goto out_unlock; > + }
Good stuff. I think this is the last remaining issue with the kernel side: the call to mode_set_base needs to be async so we don't block waiting for the GTT transition (and thus rendering) to complete before returning. I think you've taken care of that in a subsequent patch though? The one gotcha with doing that is that mode_set_base needs the struct mutex to be held while it does the GTT domain transition. execbuf need struct mutex too though; so I'm worried that we may end up hurting rendering performance with refresh rate flips (I haven't measured this at all though, so I don't really know). If it does end up being a problem we may have to find a way to do the transition outside the protection of struct mutex... > -/** No-op. */ > +ssize_t drm_read(struct file *filp, char __user *buffer, > + size_t count, loff_t *offset) > +{ I like the event stuff too; I can imagine it being useful for other GL features as well, like vblank waits. -- Jesse Barnes, Intel Open Source Technology Center ------------------------------------------------------------------------------ The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com -- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel