Announcement

Collapse
No announcement yet.

AMD Just Squeezed More Workstation Performance Out Of Its RadeonSI Driver

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

  • #11
    Originally posted by user1 View Post

    Besides writing a new winsys, this will also require adapting AMD's LLVM shader compiler which RadeonSi uses to the Windows kernel driver. On Windows all AMD user mode drivers use the proprietary shader compiler.
    Why not just ACO?

    Comment


    • #12
      Originally posted by tildearrow View Post

      Why not just ACO?
      It doesn't seem like RadeonSi is going to support ACO anytime soon. I heard about some very early patches a few months ago, but after that there weren't any other news about the progress of ACO support in RadeonSi.

      I just wanted to make a point that porting RadeonSi to Windows will also require porting whatever shader compiler it uses to Windows as well.

      Comment


      • #13
        Originally posted by ernstp View Post
        The other parts is the graphics card through the AMDGPU Linux DRM interface. This is the really hard part, for many reasons. I guess if AMD tried to reuse it themselves they would at least have documentation for whatever the Windows equivalent is, but I bet it would need a lot of refactoring and complicated changes.
        But wouldn't libdrm work like an adapter here? I mean, I feel that the required work would be to expose the Windows driver interface through libdrm interface, so no refactoring on radeonsi side.

        Originally posted by user1 View Post

        Besides writing a new winsys, this will also require adapting AMD's LLVM shader compiler which RadeonSi uses to the Windows kernel driver. On Windows all AMD user mode drivers use the proprietary shader compiler.
        Isn't radeonsi llvm compiler a users space specific component? I always understood that llvm generated GPU arch specific code, making it OS agnostic.

        For the record: I declare myself a complete ignorant of drivers internals. My apologies for this basic questions.

        Comment


        • #14
          Originally posted by Marco-GG View Post
          Isn't radeonsi llvm compiler a users space specific component? I always understood that llvm generated GPU arch specific code, making it OS agnostic.
          I know, but I believe it still interacts with the hardware through the kernel driver. Since AMD's Windows kernel driver is different than AMDGPU, I think at least some work will be required to adapt it to the Windows kernel driver.

          Comment


          • #15
            Originally posted by user1 View Post

            I know, but I believe it still interacts with the hardware through the kernel driver. Since AMD's Windows kernel driver is different than AMDGPU, I think at least some work will be required to adapt it to the Windows kernel driver.
            LLVM and ACO should both already work fine on Windows AFAIK. The winsys integration stuff is all inside the radeonsi driver.

            Comment


            • #16
              Originally posted by Peter Fodrek View Post

              379/461=0,82

              If there is pure reprogramming of the code, 18% less code meand +10% of performance ))
              That's not the total amount of code. it's in the tens of thousands of lines.

              Comment


              • #17
                Originally posted by user1 View Post

                It doesn't seem like RadeonSi is going to support ACO anytime soon. I heard about some very early patches a few months ago, but after that there weren't any other news about the progress of ACO support in RadeonSi.

                I just wanted to make a point that porting RadeonSi to Windows will also require porting whatever shader compiler it uses to Windows as well.
                But I thought ACO was for Open- I just read again and saw ACO is for RADV only....... Never mind then.

                Comment


                • #18
                  Originally posted by Marco-GG View Post
                  But wouldn't libdrm work like an adapter here? I mean, I feel that the required work would be to expose the Windows driver interface through libdrm interface, so no refactoring on radeonsi side.
                  libdrm doesn't work as adaptor, you have separate libdrm for every driver. it works as wrapper around ioctls

                  Comment


                  • #19
                    Originally posted by darkbasic View Post
                    How difficult would it be to reuse the radeonsi driver on Windows instead?
                    Basically not that difficult, when compared with fixing their existing code; but there is a considerable difference in how the kernel drivers communicate with the userspace, so it's still work.

                    Comment


                    • #20
                      Originally posted by darkbasic View Post
                      How difficult would it be to reuse the radeonsi driver on Windows instead?
                      not too difficult, but I dont think there is any real incentive to do so. There is work being done to better support Gallium drivers on windows. (See https://gitlab.freedesktop.org/mesa/...7#note_1048342 and related merge reqs) honestly zink is starting to look like a better solution anyways. as there is incentive to do it. but yes, you should be able to use radeonsi on windows given some work, and it shouldn't need too much work, as a lot of the windows system is already in gallium.

                      See WGL for the windows gallium front end.

                      Comment

                      Working...
                      X