Announcement
Collapse
No announcement yet.
R600g Driver Patch That Can 4x The Frame-Rate
Collapse
X
-
That sounds strange, I currently own a Radeon HD 3650 and a Radeon HD 5450 both with 512M of VRAM. This submit makes the latter use 1024M of GART memory while the first remains with the old default of 512M. Wouldn't the 3650 benefit at least the same from the extra GART memory as it's faster and has the same amount of VRAM even though being an older generation?
-
Originally posted by agd5f View PostThe 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.
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.
Leave a comment:
-
Originally posted by ryszardzonk View PostHowever 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
Leave a comment:
-
Originally posted by vljn View Postif 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.
Leave a comment:
-
Originally posted by vljn View PostI'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.
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
Leave a comment:
-
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.
Leave a comment:
-
Originally posted by vljn View Postif 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.
Leave a comment:
-
Originally posted by ryszardzonk View Postwell I might have done something wrong changing the setting or it could be that my other settings interffered with it and didnt help it.
Leave a comment:
-
Originally posted by ryszardzonk View Postfurther examination led to discovery that 5ab82e0ccf84855e9311ebfc58d1b57b437ed991 is the sole root of the problem as git master works well with just this one patch reverted
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.
Leave a comment:
-
Originally posted by sobkas View PostAre 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
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
Leave a comment:
Leave a comment: