When'll AMD Opensource Drivers be feature-complete for Evergreen chips
I'm wondering when'll AMD Opensource Drivers be feature-complete for Evergreen chips. Around 10-13 features are in todo/working state for last 3 years. Looking at http://www.x.org/wiki/RadeonFeature feels like the entire develpment has been halted for some years. Is it the usual pace? Or is that page not updated?
That's not the only place to look for progress. Evergreen chips use the r600g driver, which has been steadily progressing and is now almost OpenGL 3.3 compliant. Just this week they gained OpenGL 3.1 compliance.
Over the last month or two Mr. Glisse's Hyper-Z patches have resurfaced, and in a better state than they previously were, so they should be closer to being merged, which will be another box ticked. Mr. Stellard is continuing to make progress on the OpenCL backend.
Just because that page marks something as WIP for a long time that doesn't mean it has stagnated or that progress isn't being made - some of the tasks listed are huge.
I guess the most important part of the answer is that the addition of a feature to the list doesn't necessarily mean that anyone expects to ever work on it -- sometimes features are added just to make it clear what is and is not included.
Most of the features you mentioned are discussed here on a regular basis, but here's a quick summary off the top of my head :
* Video Decode (XvMC/VDPAU/VA-API) on the 3D engine -- Christian and others put a lot of work into this and concluded that it wasn't likely to work particularly well for H.264 using the graphics pipeline. Christian thought that compute shaders (with their lower overhead) might be a sufficient improvement but at the time the compute infrastructure wasn't in place. Short term focus is on investigating whether we can expose UVD support (internal), and building up compute infrastructure via OpenCL efforts below.
* Video Decode (XvMC/VDPAU/VA-API) on UVD - see above
* Hybrid Graphics - lots of work on this over the last year, mostly by airlied
* Stippled Primitives - don't think anyone is looking at this, or if there is much use outside of a few workstation apps
* Smooth Primitives - ditto
* Tessellation Shader Stages - believe this is GL4 functionality so would probably get looked at after 3.3 is done
* Geometry Shaders - this is GL3.2 so "it's number just came up" -- article in the last few days about work on this by airlied
* Hyper-Z - lots of work on this over the last year but don't think it's ready to turn on by default yet
* CrossFire (multi-card) - don't think anyone is looking at this -- improving performance of single card 3D is generally felt to be better use of time
* Compute (OpenCL) - lots of work on this over the last year by tstellard and a some community developers
BTW I only counted 10 -- what did I miss ?
Last edited by bridgman; 01-14-2013 at 02:00 AM.
Thank you all.
Well, here's the current status:
todo items: Video Decode (XvMC/VDPAU/VA-API) on UVD, Stippled Primitives, Smooth Primitives, Tessellation Shader Stages, Geometry Shaders, Crossfire.
wip items: Video Decode (XvMC/VDPAU/VA-API) on the 3D engine, Hyper-Z, Compute (OpenCL).
mostly items: Hybrid Graphics
Among the above items, would anybody please tell me which ones are not important for everyday tasks - media playback, games and usual work stuff. And what progress have been made?
One or the other of the Video Decode features may be "nice to have" or "must have" for media playback depending on the codec used (some codecs are not supported by UVD anyways), resolution of the video (lower res videos are easier to play without decode acceleration), and whether your machine has enough CPU/GPU power to play it acceptably without decode acceleration.
Hybrid Graphics support is important if you bought a laptop that uses hybrid graphics (typically an IGP and GPU together), not used otherwise.
HyperZ is interesting because once all the quirks are figured out it has the potential to add maybe 10% improvement in 3D gaming performance, which is definitely nice.
The rest are probably not important to most people for everyday use.
Note that even if a GL level or GL feature is not needed today it probably will be needed for some game at some point in the future so worth working on today anyways.
In case it helps, the most requested additions seem to be (a) improved power management (current PM implementation depends on having fairly complete power tables in the VBIOS and increasingly that is not the case), (b) video decode acceleration for HTPC-type applications, (c) improved OpenCL support.
Last edited by bridgman; 01-14-2013 at 03:26 AM.
Thanks Bridgman for such nice explanation. One last question though, how long will it take to be feature-complete and mature those 3 (that you've mentioned) areas?
That questions isn't known - for UVD and advanced power management they need to write the code internally. Then it must be put through a technical review to make sure they don't give away any information that could be used to compromise the DRM on Windows, as this would open them up to large and costly court cases. It's rather hard (if not impossible) to make a prediction as they can't know the outcome of the technical review in advance - it could be 6 months, it could be never.
OpenCL is being worked on by Mr. Stellard however, the wiki page for that is here.
I thought HyperZ was finished?!
Originally Posted by manmath
The rest of the features comes to OpenGL4.2, Video decode either via UVD or OpenCL, more efficient power management and Crossfire.
In recent four years driver went from OpenGL1 to 3.1. Thats a lot of progress thats shareable between all drivers! Then the open drivers already support GL ES and have solved the S3TC patent problem (kudos to S2TC devs!) and the Khronos committee seems to appreciate the driver because in newer OpenGL the better compression method is patent-free from ground up.
So I project, to answer your question the full support of every single feature will land in 5-6 years, without crossfire in 4 years, its faster if you help by donating, reporting and debugging, but its usable already.
And then perhaps it'll take another decade to catch up with the features of the devices of that time... Life's too short....
Originally Posted by crazycheese
Anyways, thanks all!