Announcement

Collapse
No announcement yet.

Marek Working On 32-bit GPU Pointers For RadeonSI

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

  • #11
    Originally posted by boxie View Post
    i wonder if this gets enabled for only 4GiB < cards (as you would need the 64bit pointers for accessing the large memory areas).
    it is enabled for all cards. it does not change all pointers to 32 bit

    Comment


    • #12
      Originally posted by boxie View Post

      i wonder if this gets enabled for only 4GiB < cards (as you would need the 64bit pointers for accessing the large memory areas).
      I think that GPU adresses VRAM in 4 byte chunks so up to 16 GiB can be addressed with 32 bit pointers but this is only my guess...

      BTW I purchased Sapphire RX-580 Nitro+ and it works like a charm with KDE Plasma its my first AMD GPU and i enjoy the tear free plasma experience and nice open source drivers working out of box.

      Comment


      • #13
        32-bit pointers will only be used internally by the driver for passing pointers to shaders. Older GCN has 64 bytes (and Vega has 128 bytes) of shader input storage. 32-bit pointers will help use that storage more effectively. For example, in Vulkan, the pointers typically point to descriptor pools. In OpenGL, the pointers point to texture/UBO/TBO/SSBO/etc. descriptor lists.

        Comment


        • #14
          message to Marek: 32 bit is dead, don't waste your time in useless activities.

          Comment


          • #15
            Originally posted by Azrael5 View Post
            message to Marek: 32 bit is dead, don't waste your time in useless activities.
            You have no idea what this topic is about, do you?

            Comment


            • #16
              Originally posted by Azrael5 View Post
              message to Marek: 32 bit is dead, don't waste your time in useless activities.
              32-bit pointers are necessary for decreasing the number of used user data SGPRs on AMD GCN. It's an internal driver micro-optimization that can help all applications. It has nothing to do with 32-bit processor architectures.

              Comment


              • #17
                Originally posted by marek View Post
                32-bit pointers will only be used internally by the driver for passing pointers to shaders. Older GCN has 64 bytes (and Vega has 128 bytes) of shader input storage. 32-bit pointers will help use that storage more effectively. For example, in Vulkan, the pointers typically point to descriptor pools. In OpenGL, the pointers point to texture/UBO/TBO/SSBO/etc. descriptor lists.
                Sweet as - thanks for the detailed info - it's really cool when the master programmers share this work <3

                Comment


                • #18
                  Originally posted by M@yeulC View Post

                  Most likely you can use two addressing modes... Then I am just speculating, I must admit that I didn't bother researching. Another possibility *could* be addressing larger chunks of memory.

                  Edit: it does look like there are some new heap flags, so you can most certainly use it along with 64bit addressing for other parts of the program. Mesa code certainly looks like a treasure trove to anyone interested in GPUs, I'll have to have a deep look at it one of these days
                  Yeah, having the time to go through it would be wonderful - though I am sure I would need to start out with a fair few ELI5's

                  Comment


                  • #19
                    Originally posted by marek View Post

                    32-bit pointers are necessary for decreasing the number of used user data SGPRs on AMD GCN. It's an internal driver micro-optimization that can help all applications. It has nothing to do with 32-bit processor architectures.
                    thanks for explanation

                    Comment

                    Working...
                    X