Thing is Vega was an utter failure, I know people will defend it, but its just way too forward thinking, some of it features might not end up being properly utilized or utilized at all for years. Maybe in 2 years time Vega 64 will destroy the 1080ti in every single Vulkan and DX12 game, but by that point it won't matter.
We've seen in Wolfenstein 2 that Vega 64 is faster than the 1080ti when many of its features are properly utilized, but this is just one game out of the hundreds released each year. AMD needed at least 10 AAA games that utilize their technology properly to even stand a small chance.
Vega 56 is faster than the 1080 in Wolfenstein 2, we see the potential, but again the design is way too forward looking and not many developers are going to start over on their engine development to accommodate for AMD's two graphic cards.
So the decisions they've taken have been wrong, they should have focused more on the here and now and less about the future.
The damning thing is - they could have been clever and did a bit of both.
Zen core is built for now (no AVX512 here thank you very much), yet the uncore is firmly focussed on the future (blocks of CCX combined leading to a very scalable modular architecture that can expand or shrink as required).
Now, thinking about that - it is
far easier to combine building blocks of a GPU than a CPU. Latency isn't so critical and instructions typically not so disparate, the weaknesses of IF would largely be gone. Maybe that is what the HBCC will lead to down the road, but you gotta wonder how they didn't pursue:
- a core with focus on graphics.
- a core with focus on compute.
- a common uncore for both.
Then GPUs could be built of combinations of the above as per market demand. Kinda like the old 4870x2 on steroids.