Announcement

Collapse
No announcement yet.

Another Shot At The KMS Page-Flipping Ioctl

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Another Shot At The KMS Page-Flipping Ioctl

    Phoronix: Another Shot At The KMS Page-Flipping Ioctl
    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    way to go opensource graphics (drivers) !

    great work Kristian

    Comment


    • #3
      I suppose triple buffering is up to userspace, right? Without it, vsync will totally kill performance.

      Comment


      • #4
        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.

        Comment


        • #5
          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 ?

          Comment


          • #6
            Does the radeon/nouveau driver take also profit from it?

            Comment


            • #7
              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.

              Comment


              • #8
                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.

                Comment

                Working...
                X