Announcement

Collapse
No announcement yet.

NIR Lands In Mesa, New IR Started By High Schooler Intern At Intel

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

  • #21
    Originally posted by Drago View Post
    Marek, why is TGSI needed then? Can you say that TGSI and LLVM are interchangeable, and if every other user is willing to spend time and money to convert from TGSI to LLVM, and suffer the pain to integrate in the LLVM tree, then TGSI can be left to die. Currently official users of TGSI are radeon,nouveau,freedreno,vc4, and vmware. Any Idea why Intel resist LLVM and introduce another IR, where they can do optimizations?
    I am just guessing here, but TGSI looks like the "state tracker agnostic" part in the compilation pipeline. For example, I doubt Gallium9 uses the GLSL IR at all, I would guess they just translate the compiled D3D9 bytecode straight into TGSI which all Gallium drivers understand equally (and some of them don't use LLVM for native instruction generation like Noveau I believe).

    Comment


    • #22
      Originally posted by Ancurio View Post
      I am just guessing here, but TGSI looks like the "state tracker agnostic" part in the compilation pipeline. For example, I doubt Gallium9 uses the GLSL IR at all, I would guess they just translate the compiled D3D9 bytecode straight into TGSI which all Gallium drivers understand equally (and some of them don't use LLVM for native instruction generation like Noveau I believe).
      Yeah, you a right. I just wonder if there is some technical argument against retiring TGSI. It was invented to be as similar as D3D internal pipeline, and in hope that GPU vendors will hook their proprietary drives in it, which never happened. AMD has made many advancements to LLVM so it can be used as GLSL abstraction, so I was wondering if it is possible to replace TGSI altogether.

      Comment


      • #23
        Originally posted by Drago View Post
        Yeah, you a right. I just wonder if there is some technical argument against retiring TGSI. It was invented to be as similar as D3D internal pipeline, and in hope that GPU vendors will hook their proprietary drives in it, which never happened. AMD has made many advancements to LLVM so it can be used as GLSL abstraction, so I was wondering if it is possible to replace TGSI altogether.
        Why would you do such a big architectural change when it would only benefit a single driver (radeon) ? Would it even benefit it? Maybe it would minimally reduce shader compilation times by a bit.

        Comment


        • #24
          Originally posted by Drago View Post
          Marek, why is TGSI needed then? Can you say that TGSI and LLVM are interchangeable, and if every other user is willing to spend time and money to convert from TGSI to LLVM, and suffer the pain to integrate in the LLVM tree, then TGSI can be left to die. Currently official users of TGSI are radeon,nouveau,freedreno,vc4, and vmware. Any Idea why Intel resist LLVM and introduce another IR, where they can do optimizations?
          TGSI is a shader representation that doesn't do anything. Its main purpose is unify all IRs at a certain point in the compilation process, so that all Gallium drivers only have to accept one IR and don't have to deal with multiple IRs (Mesa IR, GLSL IR, etc.). The unification is the reason why all gallium drivers use it. It won't go away completely anytime soon, because all components depend on it. Most drivers don't use it for code generation, so it doesn't matter much.

          I don't understand the question about interchangeability. TGSI is not interchangeable with LLVM in general. The chances TGSI will be removed are pretty low. If somebody wants remove it, they can start with the video acceleration APIs. Yes, I'm joking. I'm sure most people don't even want to touch that.

          Comment


          • #25
            Originally posted by marek View Post
            My current plan is to disable all Mesa shader optimizations for radeonsi and see what happens. Ideally, we should have this:
            GLSL (no optimizations) -> TGSI (no optimizations) -> LLVM (this is where optimizations start)
            This is *very* interesting, when do you think you will start sending early patches?
            ## VGA ##
            AMD: X1950XTX, HD3870, HD5870
            Intel: GMA45, HD3000 (Core i5 2500K)

            Comment


            • #26
              Originally posted by darkbasic View Post
              This is *very* interesting, when do you think you will start sending early patches?
              I don't know. It's pretty low on my list.

              Comment


              • #27
                Originally posted by marek View Post
                I don't know. It's pretty low on my list.

                In the mean time can you tell as where we can find mobile Kaveri-35watt-TDP???

                Comment


                • #28
                  Originally posted by darkbasic View Post
                  This is *very* interesting, when do you think you will start sending early patches?
                  This would be pretty easy for anyone to disable and test the results.

                  Comment


                  • #29
                    nir on hd2500
                    OpenBenchmarking.org, Phoronix Test Suite, Linux benchmarking, automated benchmarking, benchmarking results, benchmarking repository, open source benchmarking, benchmarking test profiles

                    Comment


                    • #30
                      Originally posted by Drago View Post
                      GLSL -> GLSL IR (+optimizations)-> NIR (+optimizations) -> TGSI -> LLVM (+optimizations) -> ISA.
                      AMD invested heavily in LLVM but I guess this could end up like this:
                      GLSL -> NIR (+optimizations) -> LLVM(+optimizations) -> ISA.
                      For Intel and nouveau:
                      GLSL -> NIR(+optimizations) -> ISA.
                      How is SPIR-V going to fit into this when Vulkan lands?

                      Comment

                      Working...
                      X