I feel some of the reasons for AMDVLK's existence is both political AND pragmatic in nature.
"It is needed to be done for the Windows driver already."
"It is good to have a contingency in case the other thing falls through somehow."
"Getting developers to spend the time to talk to each other is really difficult."
etc...
The reason for ACO is very much more pragmatic, is because it is a response in DOING the other option. AMD GPU devs (some employed by Valve) have been getting fixes into LLVM, but releases of that bugfix would often drag by half a year. Or fixes got undone because they were regressing something else.
This was an obvious pain point for years, and wasn't getting better.
It was then decided to see if one would re-create the LLVM portions of the compiler (which they probably were experts in already) and see if they can fix a few fundamental issues. The experiment proved highly promising, so more effort got invested into it.
"It is needed to be done for the Windows driver already."
"It is good to have a contingency in case the other thing falls through somehow."
"Getting developers to spend the time to talk to each other is really difficult."
etc...
The reason for ACO is very much more pragmatic, is because it is a response in DOING the other option. AMD GPU devs (some employed by Valve) have been getting fixes into LLVM, but releases of that bugfix would often drag by half a year. Or fixes got undone because they were regressing something else.
This was an obvious pain point for years, and wasn't getting better.
It was then decided to see if one would re-create the LLVM portions of the compiler (which they probably were experts in already) and see if they can fix a few fundamental issues. The experiment proved highly promising, so more effort got invested into it.
Comment