Announcement

Collapse
No announcement yet.

AMD's RadeonSI Driver Finally Enables OpenGL 4.6 But You Need To First Enable NIR

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

  • AMD's RadeonSI Driver Finally Enables OpenGL 4.6 But You Need To First Enable NIR

    Phoronix: AMD's RadeonSI Driver Finally Enables OpenGL 4.6 But You Need To First Enable NIR

    The OpenGL 4.6 extension is nearly two and a half years old while finally the open-source Mesa OpenGL drivers are catching up to this latest OpenGL revision that offers Vulkan/SPIR-V interoperability and other additions...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Originally posted by phoronix View Post
    It's important to confuse the enablement with not being for Mesa 19.3 that is releasing soon
    shouldn't that be "not confuse the enablement with being for"?

    Comment


    • #3
      @Mareko

      You know I've running all the time with R600_DEBUG/AMD_DEBUG=nir --- But I do NOT see 4.6...
      Compiling latest LLVM to be sure. Was from 19. Nov.

      Comment


      • #4
        Originally posted by nuetzel View Post
        @Mareko

        You know I've running all the time with R600_DEBUG/AMD_DEBUG=nir --- But I do NOT see 4.6...
        They removed the nir debug environment variable for some unknown reason. You have to set drirc.

        Comment


        • #5
          Is OpenGL 4.6 actually used anywhere?

          Comment


          • #6
            Originally posted by GruenSein View Post
            Is OpenGL 4.6 actually used anywhere?
            The Cemu emulator for Wii U can use OpenGL 4.1 but prefers 4.6, I think so that they can use different shaders. It isn't Linux native, and Vulkan support is being worked on.

            It probably isn't quite alone in using 4.6, but I'm not aware of anything else which does.

            Comment


            • #7
              How do you actually enable this if AMD_DEBUG=nir doesn't work according to poster above?

              I still see it here https://cgit.freedesktop.org/mesa/me...4303e00ba34e06

              Originally posted by GruenSein View Post
              Is OpenGL 4.6 actually used anywhere?
              yuzu emulator can also use some OpenGL 4.6 extensions, and it also works terrible on AMD cards, Linux is only a little bit better. They're coming out with vulkan support probably next month though.
              Last edited by czz0; 28 November 2019, 04:53 AM.

              Comment


              • #8
                So while we have ACO which makes shader compilation faster, NIR so far makes shader compilation slower unfortunately...

                Comment


                • #9
                  Originally posted by czz0 View Post
                  How do you actually enable this if AMD_DEBUG=nir doesn't work according to poster above?

                  I still see it here https://cgit.freedesktop.org/mesa/me...4303e00ba34e06
                  Its already gone in a master branch, https://cgit.freedesktop.org/mesa/me...onsi/si_pipe.c

                  I enabled nir by putting radeonsi_enable_nir=true on my /etc/environment, and running latest mesa master.

                  Output of glxinfo -B after restart:
                  Code:
                  name of display: :1
                  ATTENTION: default value of option mesa_glthread overridden by environment.
                  ATTENTION: default value of option mesa_no_error overridden by environment.
                  ATTENTION: default value of option adaptive_sync overridden by environment.
                  ATTENTION: default value of option radeonsi_enable_sisched overridden by environment.
                  ATTENTION: default value of option radeonsi_assume_no_z_fights overridden by environment.
                  ATTENTION: default value of option radeonsi_commutative_blend_add overridden by environment.
                  ATTENTION: default value of option radeonsi_enable_nir overridden by environment.
                  display: :1  screen: 0
                  direct rendering: Yes
                  Extended renderer info (GLX_MESA_query_renderer):
                      Vendor: X.Org (0x1002)
                      Device: Radeon RX 580 Series (POLARIS10, DRM 3.35.0, 5.4.0-3-ck-haswell, LLVM 10.0.0) (0x67df)
                      Version: 20.0.0
                      Accelerated: yes
                      Video memory: 8192MB
                      Unified memory: no
                      Preferred profile: core (0x1)
                      Max core profile version: 4.6
                      Max compat profile version: 4.6
                      Max GLES1 profile version: 1.1
                      Max GLES[23] profile version: 3.2
                  Memory info (GL_ATI_meminfo):
                      VBO free memory - total: 7662 MB, largest block: 7662 MB
                      VBO free aux. memory - total: 8097 MB, largest block: 8097 MB
                      Texture free memory - total: 7662 MB, largest block: 7662 MB
                      Texture free aux. memory - total: 8097 MB, largest block: 8097 MB
                      Renderbuffer free memory - total: 7662 MB, largest block: 7662 MB
                      Renderbuffer free aux. memory - total: 8097 MB, largest block: 8097 MB
                  Memory info (GL_NVX_gpu_memory_info):
                      Dedicated video memory: 8192 MB
                      Total available memory: 16384 MB
                      Currently available dedicated video memory: 7662 MB
                  OpenGL vendor string: X.Org
                  OpenGL renderer string: Radeon RX 580 Series (POLARIS10, DRM 3.35.0, 5.4.0-3-ck-haswell, LLVM 10.0.0)
                  OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.0.0-devel (git-52aadbfd04)
                  OpenGL core profile shading language version string: 4.60
                  OpenGL core profile context flags: no-error
                  OpenGL core profile profile mask: core profile
                  
                  OpenGL version string: 4.6 (Compatibility Profile) Mesa 20.0.0-devel (git-52aadbfd04)
                  OpenGL shading language version string: 4.60
                  OpenGL context flags: no-error
                  OpenGL profile mask: compatibility profile
                  
                  OpenGL ES profile version string: OpenGL ES 3.2 Mesa 20.0.0-devel (git-52aadbfd04)
                  OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

                  Comment


                  • #10
                    I created a /usr/share/drirc.d/02-glxinfo.conf file:

                    Code:
                    <?xml version="1.0" standalone="yes"?>
                    <!--
                    
                    ============================================
                    Application bugs worked around in this file:
                    ============================================
                    
                    * Enable NIR on Radeonsi for glxinfo & glxgears
                    
                    -->
                    
                    <!DOCTYPE driconf [
                       <!ELEMENT driconf      (device+)>
                       <!ELEMENT device       (application+)>
                       <!ATTLIST device       driver CDATA #IMPLIED>
                       <!ELEMENT application  (option+)>
                       <!ATTLIST application  name CDATA #REQUIRED
                                              executable CDATA #REQUIRED>
                       <!ELEMENT option       EMPTY>
                       <!ATTLIST option       name CDATA #REQUIRED
                                              value CDATA #REQUIRED>
                    ]>
                    
                    <driconf>
                        <!-- Please always enable app-specific workarounds for all drivers and
                             screens. -->
                        <device driver="radeonsi">
                            <application name="glxinfo" executable="glxinfo">
                                <option name="radeonsi_enable_nir" value="true"/>
                            </application>
                            <application name="glxgears" executable="glxgears">
                                <option name="radeonsi_enable_nir" value="true"/>
                            </application>
                        </device>
                    </driconf>

                    Comment

                    Working...
                    X