ATI R600/700 OSS 3D Driver Reaches Gears Milestone
Phoronix: ATI R600/700 OSS 3D Driver Reaches Gears Milestone
Months after AMD released documentation, programming guides, and sample code for the ATI R600 (Radeon HD 2000/3000) and R700 (Radeon HD 4000) series, glxgears is finally running atop these newest ATI graphics processors with proper GPU acceleration. Three AMD employees have been working on this R600/700 3D support in the DDX, DRM, and Mesa, and now they finally have glxgears running atop their 3D driver that is now based off of the radeon-rewrite driver. There's still a lot of work to be accomplished when it comes to usable open-source 3D support with the ATI R600/700 GPUs, but this is an important step. More on this milestone is shared on Alex Deucher's blog...
Good. I'd rather have KMS and suspend working with my HD3850, but it's nice seeing things are improving fast.
Fantastic, anyone knows when will the Mesa and DRM work be merged into there main branches?
Thanks in advance!
So it was champagne corks I heard earlier today
For good reason too
I think 15 FPS is very impressive for the very first build that works. I'd anything that is measured in FPS and not Frames Per Day, is impressive
So where will AMD go from here? Fix bugs, or leave this to others, and start on other features?
What a day! This is just too good to be true!
Following the steps on the xorg wiki (http://www.x.org/wiki/radeonhd%3Aexperimental_3D) is all joyjoy until building mesa.
In file included from radeon_bocs_wrapper.h:24,
/usr/include/drm/radeon_cs.h: In function ‘radeon_cs_set_limit’:
/usr/include/drm/radeon_cs.h:185: error: ‘RADEON_GEM_DOMAIN_VRAM’ undeclared (first use in this function)
/usr/include/drm/radeon_cs.h:185: error: (Each undeclared identifier is reported only once
/usr/include/drm/radeon_cs.h:185: error: for each function it appears in.)
radeon_screen.c: In function ‘radeonGetParam’:
radeon_screen.c:257: error: variable ‘info’ has initializer but incomplete type
radeon_screen.c:257: warning: excess elements in struct initializer
radeon_screen.c:257: warning: (near initialization for ‘info’)
radeon_screen.c:257: error: storage size of ‘info’ isn’t known
radeon_screen.c:257: warning: unused variable ‘info’
Can anyone help me with this?
$ uname -r -> 126.96.36.199-167.fc11.x86_64
This will make choosing an R600/700 card over an Nvidia card easier for me when it comes time for me to upgrade my desktop PC.
All the devs noticed that the sun seemed to shine a bit more brightly today
For the short term, I guess the tasks are :
(a) continue to fix bugs,
(b) get back to 1500fps from 15fps by accelerating the back-to-front buffer copy,
(c) get the mesa code ready to merge into master
The driver actually draws decently fast, it's just the buffer copy that slows everything down. The GPU can copy VRAM-to-VRAM at 2,000 MB/s or better, but the CPU can only copy at around 5 MB/s when it has to read from uncached VRAM. The CPU is probably reading one 32-bit word at a time, and taking maybe 800nS to go out to the GPU over PCIE, have the GPU read a word from VRAM, and return the data to the CPU. The glxgears window is ~300x300 pixels, or 360K bytes - 5MB/sec over 360KB/frame gives about 15 fps.
Running fullscreen (say 1680x1050) the copy really does start to give us "Frames per Day" performance
Last edited by bridgman; 07-15-2009 at 02:55 PM.
Just curious. Can you measure these speeds/bottle necks when the driver is running?
Originally Posted by bridgman
I don't hope AMD's markedtings department is getting ideas now
Originally Posted by bridgman
I hacked up r600_demo to test the transfer speeds using memcpy vs the gpu.
Originally Posted by Louise
Funny, if I play a video with mplayer (Xv) and use glxgears at the same time and both the video and the gears window are visible then the gears are shown in the color that they are supposed to be, but as soon as I pause the video the gears turn black & white again.