Announcement

Collapse
No announcement yet.

DMA-BUF Feedback Support For Wayland Lands In Mesa 22.0's EGL Code

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

  • DMA-BUF Feedback Support For Wayland Lands In Mesa 22.0's EGL Code

    Phoronix: DMA-BUF Feedback Support For Wayland Lands In Mesa 22.0's EGL Code

    Landing in Mesa on Black Friday was DMA-BUF Feedback support within the EGL code as another important step forward for Wayland...

    https://www.phoronix.com/scan.php?pa...A-BUF-Feedback

  • #2
    Does GNOME support multiple GPUs now? Last time I tried I could not start GNOME Wayland and spent some time figuring out why until I realized that it refused to start if it found two GPUs on the system...
    tildearrow
    Senior Member
    Last edited by tildearrow; 27 November 2021, 02:58 PM.

    Comment


    • #3
      At least it supports 4 x 4k screens now. All my gpus have 4+ outputs so no need for multiple gpus atm.

      Comment


      • #4
        A question to experts. Is WSI an equivalent of EGL for Vulkan use cases? And does it mean there should be also such support added to WSI code? Can Wayland server / clients work without EGL but with WSI?
        shmerl
        Senior Member
        Last edited by shmerl; 27 November 2021, 10:32 PM.

        Comment


        • #5
          Originally posted by shmerl View Post
          A question to experts. Is WSI an equivalent of EGL for Vulkan use cases? And does it mean there should be also such support added to WSI code? Can Wayland server / clients work without EGL but with WSI?
          Vulkan doesn't need EGL because it's so low level that you do all the (EGL) work yourself. Every vulkan application has to choose/enable at startup which windowing system (x11 or wayland, by enabling the proper extension) you want to run on, on which GPU (out of all available on the device) and a lot of other things. A simple vulkan "hello world" program (a triangle) needs like a thousand lines of code.


          Where did you read about WSI with vulkan?

          The core Vulkan API does not provide support for windowing systems. Instead
          windowing system integration (WSI) is entirely handled through optional extensions.
          Instance extensions
          -VK_KHR_surface introduces a VkSurfaceKHR object. This represents a native window.
          VK_KHR_wayland_surface
          VK_KHR_xcb_surface
          VK_KHR_xlib_surface
          VK_KHR_display
          from https://xdc2019.x.org/event/5/contri..._wsi_layer.pdf
          cl333r
          Senior Member
          Last edited by cl333r; 28 November 2021, 03:01 AM.

          Comment


          • #6
            Originally posted by cl333r View Post
            Where did you read about WSI with vulkan?
            I've read that WSI is an equivalent to EGL for Vulkan here: https://en.wikipedia.org/wiki/EGL_(API)#See_also

            So can Wayland compositors use Vulkan with WSI and then avoid using EGL?

            From the linked article, it sounds like WSI layer was proposed vs keeping it in the loader or Vulkan driver. Was it actually adopted?
            shmerl
            Senior Member
            Last edited by shmerl; 28 November 2021, 03:11 AM.

            Comment


            • #7
              Originally posted by shmerl View Post

              I've read that WSI is an equivalent to EGL for Vulkan here: https://en.wikipedia.org/wiki/EGL_(API)#See_also

              So can Wayland compositors use Vulkan with WSI and then avoid using EGL?

              From the linked article, it sounds like WSI layer was proposed vs keeping it in the loader or Vulkan driver. Was it actually adopted?
              The link doesn't actually lead to a page mentioning WSI, the link anchor "#OS_Components" is dead.
              So there's no such thing as WSI for Vulkan because Vulkan does everything EGL does and more, that is, the WSI functionality is part of core Vulkan.

              From the wikipedia:
              EGL handles graphics context management, surface/buffer binding, rendering synchronization
              Vulkan does it all from day one, it doesn't need EGL/WSI for this, it was one of its core design principles that the user must do all this low level stuff by hand.
              The vulkan driver though has to support the proper windowing extension (VK_KHR_wayland_surface, VK_KHR_xcb_surface or VK_KHR_xlib_surface) and you have to choose programmatically which one at runtime.
              Toolkits (like GLFW, Qt) usually abstract this step away from you, Qt actually abstracts away quite a lot of Vulkan stuff, but it's merely for convenience.

              Comment


              • #8
                Originally posted by cl333r View Post
                Toolkits (like GLFW, Qt) usually abstract this step away from you, Qt actually abstracts away quite a lot of Vulkan stuff, but it's merely for convenience.[/FONT]
                Wayland compositors shouldn't probably rely on Qt, so they need to rely on WSI.

                I also found this page: https://gitlab.freedesktop.org/mesa/...ster/README.md

                Comment


                • #9
                  Originally posted by shmerl View Post

                  Wayland compositors shouldn't probably rely on Qt, so they need to rely on WSI.
                  Wayland compositors don't need WSI if they intend to run on top of Vulkan.

                  Comment


                  • #10
                    Originally posted by cl333r View Post

                    Wayland compositors don't need WSI if they intend to run on top of Vulkan.
                    Not according to the above. WSI is made for Vulkan, but it's not supposed to be core Vulkan. You missed that point.

                    You quoted yourself how core Vulkan doesn't provide all those extensions and they are delegated to WSI.
                    shmerl
                    Senior Member
                    Last edited by shmerl; 28 November 2021, 03:53 AM.

                    Comment

                    Working...
                    X