Updated: It has been merged into Mesa, just before I clicked publish on this—what timing! From what they said, it should be available in Mesa 19.3 and it can be enabled with the "RADV_PERFTEST=aco" environment variable (source).
Original article:
Back in early July, Valve announced their work on a new AMD GPU shader compiler for Mesa named ACO and now they're trying to get it pulled into Mesa directly.
Their main aims with ACO were to get the "best-possible code generation for game shaders, and fastest-possible compilation speed" and to replace the currently used shader compiler from the massive LLVM project. It has certainly seemed promising, improving both shader compile time resulting in less stuttering and so helping to improve overall FPS and smoothness in Linux games when played on supported AMD GPUs.
Just this week, a merge request was opened to get ACO into Mesa officially and so far the reception does seem quite positive. It's not in yet though and it may need more work doing and adjustments before it's actually accepted. It's likely far too late for Mesa 19.2 which is due to release very soon, so hopefully Mesa 19.3 currently due towards the end of the year will see it.
You can see Valve's original announcement with more details about ACO here, although with the new Steam display view for news and events it doesn't load for me so use the Wayback Machine if you have the same issue.
To see a little more discussion about it, there's people testing it in our forum.
Quoting: sr_ls_boyIs it turned on by default?
Nope
Quoting: phoronixThe ACO back-end with RADV isn't enabled by default at this time but requires setting the RADV_PERFTEST=aco environment variable to activate. Having this mainline is great news for encouraging more testing and feedback. We'll be running some fresh ACO benchmarks shortly for providing the latest Radeon Vulkan performance numbers for Linux gaming.
4 Comments
Last edited by x_wing on 19 September 2019 at 11:48 am UTC
I suppose that FS is fsync, but I don't know about the others
Quoting: x_wingQuoting: sr_ls_boyIs it turned on by default?
Nope
Quoting: phoronixThe ACO back-end with RADV isn't enabled by default at this time but requires setting the RADV_PERFTEST=aco environment variable to activate. Having this mainline is great news for encouraging more testing and feedback. We'll be running some fresh ACO benchmarks shortly for providing the latest Radeon Vulkan performance numbers for Linux gaming.
4 Comments
Yeah, I just saw that at phoronix. I also read that there are some pull requests for nir that are needed which make the master branch worthwhile to compile. Until they get pulled, stick with the aco git repository.
Quoting: fagnerlnWhat is [FS - CS - VS]?FS = Fragment shaders
I suppose that FS is fsync, but I don't know about the others
CS = Compute shaders
VS = Vertex shaders
Quoting: fagnerlnWhat is [FS - CS - VS]?
I suppose that FS is fsync, but I don't know about the others
Fragment Shader, Vertext Shader and Compute Shader.
Quoting: torbidoIt only works with Steam games, right?
Works with anything that runs on radv (i.e. any vulkan application)
See more from me