Page 4 of 5 FirstFirst ... 2345 LastLast
Results 31 to 40 of 41

Thread: R600g Driver Patch That Can 4x The Frame-Rate

  1. #31
    Join Date
    Jun 2006
    Location
    Poland
    Posts
    117

    Default

    Quote 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

  2. #32
    Join Date
    Mar 2011
    Posts
    92

    Default

    Quote 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

  3. #33
    Join Date
    Mar 2011
    Posts
    32

    Default

    Quote 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.

  4. #34
    Join Date
    Oct 2008
    Posts
    3,244

    Default

    Quote 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.

  5. #35
    Join Date
    Mar 2011
    Posts
    92

    Default

    Quote 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

  6. #36
    Join Date
    Mar 2011
    Posts
    32

    Default

    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.

  7. #37
    Join Date
    Mar 2011
    Posts
    92

    Default

    Quote 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

  8. #38
    Join Date
    Jun 2006
    Location
    Poland
    Posts
    117

    Default

    Quote 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?

  9. #39
    Join Date
    Jul 2008
    Location
    Berlin, Germany
    Posts
    858

    Default

    Quote 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.

  10. #40
    Join Date
    Oct 2009
    Location
    Brisbane, Queensland, Australia
    Posts
    154

    Default

    Quote 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.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •