Announcement

Collapse
No announcement yet.

New Documentation Around NVIDIA's Push For A GBM Alternative To Memory Allocation

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

  • #41
    Originally posted by c117152 View Post
    Code:
    #define USAGE_BASE_DISPLAY 0x0001
    #define USAGE_BASE_DISPLAY_ROTATION_0 0x00000001
    #define USAGE_BASE_DISPLAY_ROTATION_90 0x00000002
    #define USAGE_BASE_DISPLAY_ROTATION_180 0x00000004
    #define USAGE_BASE_DISPLAY_ROTATION_270 0x00000008
    #define USAGE_BASE_DISPLAY_MIRROR_ROTATION_0 0x00000010
    #define USAGE_BASE_DISPLAY_MIRROR_ROTATION_90 0x00000020
    #define USAGE_BASE_DISPLAY_MIRROR_ROTATION_180 0x00000040
    #define USAGE_BASE_DISPLAY_MIRROR_ROTATION_270 0x00000080
    Should probably be:

    Code:
    #define USAGE_BASE_DISPLAY 0x0001
    #define USAGE_BASE_DISPLAY_ROTATION_0 0x00000004 /*0100*/
    #define USAGE_BASE_DISPLAY_ROTATION_90 0x00000005 /*0101*/
    #define USAGE_BASE_DISPLAY_ROTATION_180 0x00000006 /*0110*/
    #define USAGE_BASE_DISPLAY_ROTATION_270 0x00000007 /*0111*/
    #define USAGE_BASE_DISPLAY_MIRROR_ROTATION_0 0x0000000C /*1100*/
    #define USAGE_BASE_DISPLAY_MIRROR_ROTATION_90 0x0000000D /*1101*/
    #define USAGE_BASE_DISPLAY_MIRROR_ROTATION_180 0x0000000E /*1110*/
    #define USAGE_BASE_DISPLAY_MIRROR_ROTATION_270 0x0000000F /*1111*/
    But what if you wanted to rotate it 0 degrees and also 90 degrees at the same time?

    Code:
    rotation = USAGE_BASE_DISPLAY_ROTATION_0 | USAGE_BASE_DISPLAY_ROTATION_90;
    Only works when declared the first way.

    Comment


    • #42
      Corporate Maya user here, use linux and NVIDIA everyday, - don't care about open source drivers. Would I prefer it, sure. But I am willing to trade open source for something that works well and provides a good experience. I use Linux because I want to use Linux. I would like open source drivers but I also need to be realistic, and I would take a better functioning closed source driver than an open Intel or and driver.

      Next people don't use Linux entirely because it is open, but because it is technically better. I don't think I could work as efficiently without Linux. Its also marginally faster, but across a render farm marginal improvements are very noticable.
      ​​​​

      Comment


      • #43
        Originally posted by illwieckz View Post

        The problem with EGLStreams is no one using Wayland wants to implement two different API to do the same thing. If it's true for EGLStreams, it will be true for this allocator if this allocator is not GBM.

        Is the performance issue an Nvidia-only issue (like dx12 async compute)? Or is it an issue for everyone? If it's an issue for everyone, this initiative can have a place (it means GBM must be improved and this allocator is a kind of GBM2) otherwise not.
        No, it affects the others too. The open drivers always allocate the buffers in the most compatible format, which leads to lower performance and wasted VRAM. Which is why this received a largely positive response from the devs at XDC. If you look in the repo, they're suggesting it be called 'libgbm2'.

        Comment


        • #44
          Originally posted by Cape View Post

          Ok so you are saying that our current economy is working?
          For some definition of working, yeah, it absolutely does.
          Frankly, I don't think the issue is "capitalism" as the market is MOSTLY supply/demand, and that's not something most people really have an issue with. The problem is higher up the chain. It's both the regulations in place, and how they are enforced that is the real issue, and that's what the real arguments are about.
          However, perhaps this was all obvious and I simply didn't understand you.

          Comment


          • #45
            Originally posted by illwieckz View Post
            The problem with EGLStreams is no one using Wayland wants to implement two different API to do the same thing. If it's true for EGLStreams, it will be true for this allocator if this allocator is not GBM.
            Or a successor to GBM which everyone has agreed on. Which is the point of this proposal.

            Originally posted by illwieckz View Post
            Is the performance issue an Nvidia-only issue (like dx12 async compute)? Or is it an issue for everyone? If it's an issue for everyone, this initiative can have a place (it means GBM must be improved and this allocator is a kind of GBM2) otherwise not.
            It's a bit of both. I gather the performance problem is primarily on Nvidia - that they claim they can't implement GBM on top of their driver in a way that will perform acceptably. This isn't a huge surprise, since GBM was designed by the people who built Mesa/DRM, so it might be expected it suits them better than it does Nvidia.

            However, those folks have also acknowledged that GBM isn't optimal - also unsurprising, since few protocols and APIs get the design right on the first try. So it sounds like they're less unhappy than I expected, working with Nvidia on version 2, taking into account both input from Nvidia, and their previous experience from having implemented the first GBM.

            Comment


            • #46
              Originally posted by adler187 View Post

              But what if you wanted to rotate it 0 degrees and also 90 degrees at the same time?

              Code:
              rotation = USAGE_BASE_DISPLAY_ROTATION_0 | USAGE_BASE_DISPLAY_ROTATION_90;
              Only works when declared the first way.
              Oh that's actually desired? It's precisely what I thought you'd want to avoid... Well, nm mind.

              Comment


              • #47
                Originally posted by Jedipottsy View Post
                Next people don't use Linux entirely because it is open, but because it is technically better. I don't think I could work as efficiently without Linux. Its also marginally faster, but across a render farm marginal improvements are very noticable.
                ​​​​
                And Linux is technically better precisely because it is open. People who made improvements shared them with the community.
                Now NVidia is mostly refusing to participate in this by keeping their drivers closed, and therefore nobody should be surprised that the community is not going to accept NVidia specific code to accommodate their proprietary driver. And those users who don't care about open source can go back to Windows for all I care.

                Comment


                • #48
                  Originally posted by Vash63 View Post

                  Good point, because there are no other positives to using GNU/Linux other than open source drivers.
                  You're mistaken, but you're a moron. There are dozens of good reasons to use Linux over proprietary crap like windows and os x. An only reason to use them over Linux is available software.

                  Comment


                  • #49
                    Originally posted by Pawlerson View Post

                    You're mistaken, but you're a moron. There are dozens of good reasons to use Linux over proprietary crap like windows and os x. An only reason to use them over Linux is available software.
                    Call the Wambulance! Someone doesn't get sarcasm.

                    Comment


                    • #50
                      Originally posted by chithanh View Post
                      And Linux is technically better precisely because it is open. People who made improvements shared them with the community.
                      exactly, the whole Unix history was based on collaboration across different companies/universities (x11, tcp/ip, macosx, android, etc) and the collaborative bug fixing and feature improvements makes the software better, in a way that original authors don't even thought

                      Comment

                      Working...
                      X