Announcement

Collapse
No announcement yet.

R600g Driver Patch That Can 4x The Frame-Rate

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

  • #31
    Originally posted by ryszardzonk View Post
    This is exactly what my screen looked like, however changing the setting didn't help
    Are you sure? I was forced to add R600_LLVM=0 in /etc/enviroment, to make MESA produce proper screen
    Code:
    cat /etc/environment 
    R600_LLVM=0

    Comment


    • #32
      Originally posted by sobkas View Post
      Are you sure? I was forced to add R600_LLVM=0 in /etc/enviroment, to make MESA produce proper screen
      Code:
      cat /etc/environment 
      R600_LLVM=0
      well I might have done something wrong changing the setting or it could be that my other settings interffered with it and didnt help it.

      R600_LLVM=1
      R600_STREAMOUT=1
      R600_ENABLE_S3TC=1
      R600_GLSL130=1
      R600_TILING=1

      Anyways above work (some are probably no longer needed such as tiling) with git master and that one patch reverted

      emerge --info
      Portage 2.1.11.31 (default/linux/amd64/10.0/desktop/gnome, gcc-4.6.3, glibc-2.16.0, 3.7.0-rc3 x86_64)
      ================================================== ===============
      System uname: Linux-3.7.0-rc3-x86_64-AMD_E-350_Processor-with-gentoo-2.2
      Timestamp of tree: Thu, 01 Nov 2012 12:45:01 +0000
      ld GNU ld (GNU Binutils) 2.23
      distcc 3.1 x86_64-pc-linux-gnu [enabled]
      app-shells/bash: 4.2_p37
      dev-java/java-config: 2.1.12
      dev-lang/python: 2.6.8, 2.7.3-r2, 3.2.3-r1
      dev-util/cmake: 2.8.9-r1
      dev-util/pkgconfig: 0.27.1
      sys-apps/baselayout: 2.2
      sys-apps/openrc: 0.11.2
      sys-apps/sandbox: 2.6
      sys-devel/autoconf: 2.13, 2.69
      sys-devel/automake: 1.9.6-r3, 1.10.3, 1.11.6, 1.12.4
      sys-devel/binutils: 2.23
      sys-devel/gcc: 4.6.3
      sys-devel/gcc-config: 1.7.3
      sys-devel/libtool: 2.4.2
      sys-devel/make: 3.82-r4
      sys-kernel/linux-headers: 3.6 (virtual/os-headers)
      sys-libs/glibc: 2.16.0

      Comment


      • #33
        Originally posted by ryszardzonk View Post
        further examination led to discovery that 5ab82e0ccf84855e9311ebfc58d1b57b437ed991 is the sole root of the problem as git master works well with just this one patch reverted
        if you want to test r600 llvm compiler, you need to fetch latest revision tree from here : http://cgit.freedesktop.org/~tstellar/llvm/ and build the AMDGPU backend (please ensure you always pull it when you pull mesa)
        R600 llvm backend development happened under src/gallium/drivers/radeon but it has been promoted to experimental status and is now part of llvm tree.
        Sorry for the inconvenience, the backend and the tgsi-to-llvm pass are still work in progress and API is not stable atm.

        Comment


        • #34
          Originally posted by ryszardzonk View Post
          well I might have done something wrong changing the setting or it could be that my other settings interffered with it and didnt help it.
          That patch you picked out only effects the llvm backend, so it's safe to say you were still using it and didn't turn the setting off correctly.

          Comment


          • #35
            Originally posted by vljn View Post
            if you want to test r600 llvm compiler, you need to fetch latest revision tree from here : http://cgit.freedesktop.org/~tstellar/llvm/ and build the AMDGPU backend (please ensure you always pull it when you pull mesa)
            R600 llvm backend development happened under src/gallium/drivers/radeon but it has been promoted to experimental status and is now part of llvm tree.
            Sorry for the inconvenience, the backend and the tgsi-to-llvm pass are still work in progress and API is not stable atm.
            Well anyone using stuff from git should expect API change now and then so no problem there Hence the changes took place and I use only llvm 3.1-r2 I guess the issues would come up sooner or later. Anyways I fetched llvm git repo from above source, but please tell me how do I make sure I compile AMDGPU backend You mentioned as configure script nor README do not tell anything about amd at all... Whould changing repo name in the llvm-9999 ebuild be enough or I need to take some additional steps too? http://gentoo-portage.com/sys-devel/llvm

            Comment


            • #36
              I'm not familiar with portage so I don't know how to change the ebuild to install llvm 3.2 on your system. I do actually think that installing a development version of llvm system-wide can break things, it's better if you install it somewhere in your HOME. I do this and use a slightly modified version of ~/.bashrc that adds local llvm-config to my PATH.

              A detailed how to could be :
              git clone git://people.freedesktop.org/~tstellar/llvm
              cd llvm
              ./configure --enable-experimental-targets=AMDGPU --enable-assertions --prefix=/home/user/llvmbin
              make && make install

              then appebd "PATH=/home/vlj/llvmbin/bin/:$PATH" to your ~/.bashrc file, then restart bash (ie restart your konsole/gnome-terminal/...). You can now reconfigure and rebuild mesa as usual.

              Comment


              • #37
                Originally posted by vljn View Post
                I'm not familiar with portage so I don't know how to change the ebuild to install llvm 3.2 on your system. I do actually think that installing a development version of llvm system-wide can break things, it's better if you install it somewhere in your HOME. I do this and use a slightly modified version of ~/.bashrc that adds local llvm-config to my PATH.

                A detailed how to could be :
                git clone git://people.freedesktop.org/~tstellar/llvm
                cd llvm
                ./configure --enable-experimental-targets=AMDGPU --enable-assertions --prefix=/home/user/llvmbin
                make && make install

                then appebd "PATH=/home/vlj/llvmbin/bin/:$PATH" to your ~/.bashrc file, then restart bash (ie restart your konsole/gnome-terminal/...). You can now reconfigure and rebuild mesa as usual.
                Thanks for Your hints. After that I found http://dri.freedesktop.org/wiki/GalliumCompute which even allows one to experiment with opencl while at it Breaking stuff is likely and happens in Gentoo all the time like few days ago when mysql was updated from version 5.1 to 5.5 in unstable, but for those cases there is this quite nice tool "revdep-rebuild" that preaty much finds all broken libraries and rebuilds broken packages so it is not all that big of an issue as in this case it was like 4 of them for me. Breakage is ussually hardly noticable cause of use of "-Wl,--as-needed" during linking by default which limits number of libs packages it using I would say by half.
                However it seems that when I enable AMDGPU using the tree I get linking error specific to the use of as-needed or fvisibility
                Code:
                ...
                make[1]: Wejście do katalogu `/tmp/portage/sys-devel/llvm-9999/work/llvm-9999/tools/llvm-shlib'
                llvm[1]: Linking Release Shared Library libLLVM-3.2svn.so
                x86_64-pc-linux-gnu-g++ -I/tmp/portage/sys-devel/llvm-9999/work/llvm-9999/include -I/tmp/portage/sys-devel/llvm-9999/work/llvm-9999/tools/llvm-shlib  -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS   -fvisibility-inlines-hidden -fno-exceptions -fPIC -Woverloaded-virtual -Wcast-qual -march=btver1 -O2 -pipe --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=512 -ftree-vectorize  -Wl,-R -Wl,'$ORIGIN' -L/tmp/portage/sys-devel/llvm-9999/work/llvm-9999/Release/lib -L/tmp/portage/sys-devel/llvm-9999/work/llvm-9999/Release/lib -Wl,-O1 -Wl,--hash-style=both -Wl,--as-needed -Wl,--relax -Wl,--sort-common -Wl,-O1 -Wl,--hash-style=both -Wl,--as-needed -Wl,--relax -Wl,--sort-common -Wl,-O1 -Wl,--hash-style=both -Wl,--as-needed -Wl,--relax -Wl,--sort-common -Wl,-O1 -Wl,--hash-style=both -Wl,--as-needed -Wl,--relax -Wl,--sort-common   -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings    -shared -o /tmp/portage/sys-devel/llvm-9999/work/llvm-9999/Release/lib/libLLVM-3.2svn.so  \
                   -Wl,--whole-archive -lLLVMMCJIT -lLLVMCppBackendCodeGen -lLLVMX86AsmPrinter -lLLVMScalarOpts -lLLVMJIT -lLLVMMCDisassembler -lLLVMX86AsmParser -lLLVMSelectionDAG -lLLVMAnalysis -lLLVMAMDGPUAsmPrinter -lLLVMX86Info -lLLVMExecutionEngine -lLLVMLinker -lLLVMX86Utils -lLLVMSupport -lLLVMipo -lLLVMMC -lLLVMCore -lLLVMX86Disassembler -lLLVMVectorize -lLLVMMCParser -lLLVMInterpreter -lLLVMipa -lLLVMBitWriter -lLLVMAsmPrinter -lLLVMBitReader -lLLVMAMDGPUDesc -lLLVMTransformUtils -lLLVMX86CodeGen -lLLVMObject -lLLVMRuntimeDyld -lLLVMCodeGen -lLLVMAsmParser -lLLVMInstCombine -lLLVMAMDGPUInfo -lLLVMArchive -lLLVMTarget -lLLVMAMDGPUCodeGen -lLLVMInstrumentation -lLLVMCppBackendInfo -lLLVMDebugInfo -lLLVMX86Desc -Wl,--no-whole-archive -Wl,--soname,libLLVM-3.2svn.so -Wl,--no-undefined -ludis86 -lpthread -lffi -ldl -lm
                /tmp/portage/sys-devel/llvm-9999/work/llvm-9999/Release/lib/libLLVMAMDGPUCodeGen.a(AMDGPUAsmPrinter.o): In function `llvm::AMDGPUAsmPrinter::runOnMachineFunction(llvm::MachineFunction&)':
                AMDGPUAsmPrinter.cpp:(.text+0x5b4): undefined reference to `llvm::MachineFunction::dump() const'
                collect2: ld returned 1 exit status
                distcc[20399] ERROR: compile (null) on localhost failed
                make[1]: *** [/tmp/portage/sys-devel/llvm-9999/work/llvm-9999/Release/lib/libLLVM-3.2svn.so] Błąd 1
                make[1]: Opuszczenie katalogu `/tmp/portage/sys-devel/llvm-9999/work/llvm-9999/tools/llvm-shlib'
                make: *** [all] Błąd 1
                btw. have You guys seen this?
                http://people.freedesktop.org/~gliss...-pattern.patch

                Comment


                • #38
                  Originally posted by vljn View Post
                  if you want to test r600 llvm compiler, you need to fetch latest revision tree from here : http://cgit.freedesktop.org/~tstellar/llvm/ and build the AMDGPU backend (please ensure you always pull it when you pull mesa)
                  R600 llvm backend development happened under src/gallium/drivers/radeon but it has been promoted to experimental status and is now part of llvm tree.
                  Sorry for the inconvenience, the backend and the tgsi-to-llvm pass are still work in progress and API is not stable atm.
                  Does any of indirect* branches is suitable for testing or they need some more time?

                  Comment


                  • #39
                    Originally posted by ryszardzonk View Post
                    However it seems that when I enable AMDGPU using the tree I get linking error specific to the use of as-needed or fvisibility
                    Code:
                    AMDGPUAsmPrinter.cpp:(.text+0x5b4): undefined reference to `llvm::MachineFunction::dump() const'
                    collect2: ld returned 1 exit status
                    distcc[20399] ERROR: compile (null) on localhost failed
                    make[1]: *** [/tmp/portage/sys-devel/llvm-9999/work/llvm-9999/Release/lib/libLLVM-3.2svn.so] Błąd 1
                    make[1]: Opuszczenie katalogu `/tmp/portage/sys-devel/llvm-9999/work/llvm-9999/tools/llvm-shlib'
                    make: *** [all] Błąd 1
                    You need to set CPPFLAGS=-DLLVM_ENABLE_DUMP and additionally apply the patch from http://llvm.org/bugs/show_bug.cgi?id=14324 for now. Both should be fixed in the near future.

                    Comment


                    • #40
                      Originally posted by agd5f View Post
                      The kernel driver will attempt to free up enough vram to honor the request by migrating other buffers out of vram, but if there is still not enough room, you'll end up with gart. Depending on how much migration has to take place, it's sometimes better to just use gart in the first place. There are no simple answers.
                      This patch seems relevant (it's queued up for the 3.12 kernel):

                      drm/radeon: default to 1024M gart size on rv770+

                      Newer asics have a lot of vram so it's less of an issue to waste a little more space for the gart page table. This gives us some additional gart space before having to migrate to non-gart system ram for games, etc. where we use up most of vram.

                      Comment

                      Working...
                      X