Originally posted by FireBurn
View Post
Announcement
Collapse
No announcement yet.
RadeonSI Can Begin Using Valve's ACO Compiler For Certain Shaders
Collapse
X
-
Originally posted by darkbasic View Post
Isn't the main difference between AMDVLK and AMDGPU-PRO Vulkan driver the shader compiler (foss LLVM vs proprietary one)? If so I think he might refer to that, hoping that ACO would improve radeonsi performance in a similar way.
that being said… what do you use now for OpenCL on the HD 5000 series?
Comment
-
Originally posted by Eirikr1848 View Post
Noticed your signature. You think the ACO compiler will eventually reach your r300 and r600 driver cards? And your gallium i915 and crocus/iris drivers?
that being said… what do you use now for OpenCL on the HD 5000 series?## VGA ##
AMD: X1950XTX, HD3870, HD5870
Intel: GMA45, HD3000 (Core i5 2500K)
Comment
-
Originally posted by Eirikr1848 View PostYou think the ACO compiler will eventually reach your r300 and r600 driver cards? And your gallium i915 and crocus/iris drivers?
As an analogy, this question is like asking whether GCC's x86 backend will compile code for ARM. It won't because it is made for x86. But GCC also has different backends for different architectures which were designed for those.
I hope this helps explain it.Last edited by Venemo; 17 May 2023, 11:25 AM.
- Likes 4
Comment
-
Originally posted by kiffmet View PostAFAIK the main problem with LLVM as graphics shader compiler is compilation times. The performance of the generated code is not too bad, albeit ACO seems to be better in this regard aswell most of the time. The main benefit of ACO however, is less hitching in games that compile shaders on-demand.
I wouldn't expect many things to be particularly noticeably better in terms of performance. If they can just match the existing LLVM driver and be a couple percent faster in most things, that will be pretty good.Last edited by smitty3268; 18 May 2023, 02:27 AM.
Comment
-
-
regarding the maintainability aspect of llvm...
would it make sense to package some sort of mesa-llvm and point mesa there instead of the general-purpose copy of llvm so distros can update this faster while still keeping the other lib on a slower update pace if necessary
or is this a gibberish idea?
Comment
-
Originally posted by marlock View Postregarding the maintainability aspect of llvm...
would it make sense to package some sort of mesa-llvm and point mesa there instead of the general-purpose copy of llvm so distros can update this faster while still keeping the other lib on a slower update pace if necessary
or is this a gibberish idea?
A better solution would probably be to maintain a fork of llvm vendored within mesa, which is how pretty much every other user of llvm does it, but the AMD devs were unwilling to do that - probably too much effort on their end.
Luckily it doesn't seem to be a big deal anymore, now that most new apps are using Vulkan and the GL support in Mesa is fairly mature. But it used to be pretty painful while they were still bringing the drivers up.
- Likes 1
Comment
-
Originally posted by marlock View Postregarding the maintainability aspect of llvm...
would it make sense to package some sort of mesa-llvm and point mesa there instead of the general-purpose copy of llvm so distros can update this faster while still keeping the other lib on a slower update pace if necessary
or is this a gibberish idea?
Also, we (Mesa devs) are not really interested in becoming LLVM maintainers. We would have preferred if LLVM could become a normal library that we can depend on that ships fixes in a timely manner, but unfortunately this isn't the case. It seems that GPU backends are a second-class citizen in upstream LLVM and they are not willing to release quick bugfixes for them.
And then even when LLVM does have a bugfix release, distros are usually reluctant to upgrade it in a timely manner too, so the end result is a pretty bad user experience where bugs are present on users' systems for months or more.
Comment
Comment