Phoronix Forums  

Go Back   Phoronix Forums > Linux Graphics / X.Org Drivers > X.Org & Mesa

X.Org & Mesa Discussion of X.Org and Mesa / Gallium3D. This includes the discussion of the X Server, RandR, OpenGL, Kernel-based Mode-Setting, and other X components not covered by other forums.

Reply
 
Thread Tools Display Modes
  #1  
Old 11-12-2009, 04:00 PM
phoronix phoronix is offline
Phoronix News Bot
 
Join Date: Jan 2007
Posts: 3,103
Default Another Shot At The KMS Page-Flipping Ioctl

Phoronix: Another Shot At The KMS Page-Flipping Ioctl

Being worked on for the past several months by Kristian Høgsberg and other developers has been the KMS page-flipping ioctl, which makes it possible for kernel mode-setting drivers to benefit from tear-free updating of the screen with low-latency page-flipping. This kernel DRM ioctl is also a requirement for the Wayland Display Server...

http://www.phoronix.com/vr.php?view=NzY5OA
Reply With Quote
  #2  
Old 11-12-2009, 05:50 PM
kernelOfTruth kernelOfTruth is offline
Phoronix Member
 
Join Date: Jan 2009
Location: Vienna, Austria; Germany; hello world :)
Posts: 93
Default

way to go opensource graphics (drivers) !

great work Kristian
Reply With Quote
  #3  
Old 11-12-2009, 09:21 PM
RealNC RealNC is offline
Senior Member
 
Join Date: Jul 2008
Location: Greece
Posts: 1,169
Default

I suppose triple buffering is up to userspace, right? Without it, vsync will totally kill performance.
Reply With Quote
  #4  
Old 11-13-2009, 03:23 AM
rohcQaH rohcQaH is offline
Senior Member
 
Join Date: Nov 2008
Posts: 123
Default

Quote:
Originally Posted by RealNC View Post
I suppose triple buffering is up to userspace, right?
You have to specify the next buffer to the ioctl, so you can use the ioctl for double buffering, triple buffering or anything you like. The number of buffers is determined by user space.
Reply With Quote
  #5  
Old 11-13-2009, 06:50 AM
Xheyther Xheyther is offline
Junior Member
 
Join Date: Nov 2008
Posts: 22
Default

That's only for intel graphic chip i915, or the patch add the mechanism to the drm and implement it only for the i915 driver ?
Reply With Quote
  #6  
Old 11-13-2009, 10:06 AM
bugmenot bugmenot is offline
Senior Member
 
Join Date: Nov 2007
Posts: 363
Default

Does the radeon/nouveau driver take also profit from it?
Reply With Quote
  #7  
Old 11-13-2009, 08:37 PM
RealNC RealNC is offline
Senior Member
 
Join Date: Jul 2008
Location: Greece
Posts: 1,169
Default

Quote:
Originally Posted by rohcQaH View Post
You have to specify the next buffer to the ioctl, so you can use the ioctl for double buffering, triple buffering or anything you like. The number of buffers is determined by user space.
I asked because under Windows, I can force triple buffering from Catalyst Control Center for OpenGL apps, and am not sure if this is a driver feature (kernel space) or just something the control center (user space) does completely outside of kernel space.

In any event, isn't that ioctl supposed to be used by the drivers? Are games and applications expected to support triple buffering themselves? Under Windows, some do. The majority doesn't however, which is why you can force it in the drivers.
Reply With Quote
  #8  
Old 11-14-2009, 06:01 PM
rohcQaH rohcQaH is offline
Senior Member
 
Join Date: Nov 2008
Posts: 123
Default

yes, the ioctl is supposed to be used by drivers or maybe even by frameworks like SDL, not directly by the games et al.

remember that a good portion of the driver runs in userspace. The kernel itself just manages resources and rendering time between processes (DRI + KSM), the actual drawing commands are issued from userspace (i.e. mesa).

can the driver force double/triple buffering for an application? Depends on the application. openGL itself doesn't provide a way to manage multiple buffers or vwaits at all, you need to use additional libraries (glut, SDL, Qt, ...). I don't know which of those rely on the driver for buffer management and which use their own.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 06:05 AM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Copyright ©2004 - 2009 by Phoronix Media.