Announcement

Collapse
No announcement yet.

Intel Still Working On Atomic Mode-Setting / Nuclear Page-Flips

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

  • Intel Still Working On Atomic Mode-Setting / Nuclear Page-Flips

    Phoronix: Intel Still Working On Atomic Mode-Setting / Nuclear Page-Flips

    It's been a while since last hearing anything on the matter of atomic mode-setting and nuclear page-flipping, but the work is still being done for the Linux kernel by Intel engineers...

    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
    nuclear pageflipping
    must've been April 1st when they thought up that name

    Comment


    • #3
      http://www.youtube.com/watch?v=OoASZyihalc

      Comment


      • #4
        Yeah, this is the first Phoronix article that's complete gibberish to me. I suppose you really need to be into DRM driver development to understand exactly what's happening.

        Comment


        • #5
          nuclear page flipping, hilarious

          Comment


          • #6
            can someone explain this stuff to us noobs? what?s the longterm goal of this?

            Comment


            • #7
              Originally posted by tomtomme View Post
              can someone explain this stuff to us noobs? what?s the longterm goal of this?
              Atomic Mode-Setting:
              Do the complete mode setting as a single operation, preferably in a way that if it fails, it goes back to where it was before or doesn't even change things in the first place. So a "all or nothing" situation.
              For example:
              You have 2 screens and right now they have the same resolution and the image is cloned. Now you want to have them side-by-side (screen1 left of screen2) and have screen2 rotated by 90?.
              Today this will be done sequentially and you will see the screen flicker twice (or more times). And if the first command succeeds and the seconds fails you have a mixture of the old mode and the new mode.

              Nuclear Page-Flips (I think they are now called atomic page flips?):
              Do a page flip on multiple fbs in a single vblank.

              Comment


              • #8
                Originally posted by droste View Post
                Atomic Mode-Setting:
                Do the complete mode setting as a single operation, preferably in a way that if it fails, it goes back to where it was before or doesn't even change things in the first place. So a "all or nothing" situation.
                ...
                thx
                now understood

                Comment


                • #9
                  Does anyone know how many hardware planes are exposed by your typical r600 class card?

                  Comment


                  • #10
                    Originally posted by droste View Post
                    Atomic Mode-Setting:
                    Do the complete mode setting as a single operation, preferably in a way that if it fails, it goes back to where it was before or doesn't even change things in the first place. So a "all or nothing" situation.
                    For example:
                    You have 2 screens and right now they have the same resolution and the image is cloned. Now you want to have them side-by-side (screen1 left of screen2) and have screen2 rotated by 90?.
                    Today this will be done sequentially and you will see the screen flicker twice (or more times). And if the first command succeeds and the seconds fails you have a mixture of the old mode and the new mode.

                    Nuclear Page-Flips (I think they are now called atomic page flips?):
                    Do a page flip on multiple fbs in a single vblank.

                    http://www.x.org/wiki/Events/XDC2012...c-pagefilp.pdf
                    very minor clarification: atomic (aka nuclear) pageflip is really about flipping multiple overlays on a single display at the same time. If you are using hw overlay to compose some layers, you really want to be sure that the new size/position of the overlay takes effect at the same time as pageflip of the other layers. Otherwise you'll see briefly the part beneath the overlay layer which the gpu did not paint. Remember moving video player window around back when Xv used overlays and the video being out of sync with window borders?

                    If you have multiple displays, and you can vsync-lock them (not always possible) then you could as well flip the two displays at the same time as well.

                    The atomic modeset part of it is about doing modeset in one shot on multiple displays (or to give userspace an all-or-nothing go/no-go response). Use case for this is, for exaple, intel ivb devices, which technically can drive 3 displays. But with some constraints about two of the displays needing to share a PLL (ie. need same pixel clock). Currently we really have no way to handle this.. userspace currently will do modeset one by one for each display. And when it gets to the 3rd display, if the requested resolution doesn't match the other pipe sharing the PLL, oh, whoops, sorry.. no signal. With atomic, once it is plumbed through xrandr/etc, userspace will be able to ask the kernel if a configuration is possible. (So in the GUI, you might be greying out resolutions which are not possible, given what is selected on the other displays.)

                    As it turns out, atomic pageflip and modeset are really the same new ioctl. And share most of the same infrastructure and codepaths. The difference is really which settings you are changing.

                    And yes, "nuclear" is just a (bad) pun ;-)

                    Comment

                    Working...
                    X