4 ms·
This is about politics and nothing else. I hope, and believe, AMD will fix this. The main issue is probably due to a bug in the old driver. After a while, bugs
by hvidgaard 9y ago
This is about politics and nothing else. I hope, and believe, AMD will fix this.
The main issue is probably due to a bug in the old driver. After a while, bugs become a feature, and it's not uncommon to implement bugs to retain backwards compatibility. This is where the politics enter the scene. Some engineers believe that all bugs must be squashed, while others have a more pragmatic approach. IMO, any behavior that is a problematic deviation from the old drivers, should be changed. Otherwise there is no backwards compatibility, only a best effort approach, which is unacceptable for something as crucial as a graphics card driver.
- ricardobeat 9y agoWhen using a gl API, doesn’t code declare a version number that they could use to selectively patch known bugs, if that’s the case?
- kevingadd 9y agoThere are specific version profiles like "opengl 3.3 core profile" but a lot of older apps aren't versioned in any fashion, they just request specific extensions. Behavior for specific extensions has varied (old drivers had major bugs, and apps had workarounds for them). If you're on mobile you can assume with near-100% reliability that your GLES driver has a bunch of bugs and you'll need to ship workarounds for them. Chrome (Blink) and Firefox (Gecko) both have huge blacklists for specific GPUs/drivers along with sets of workarounds for issues, many of them specific to individual mobile GPU chipsets or drivers. I shipped a game targeting GL 3.3 core a couple years ago and we hit multiple driver-specific bugs, despite 3.3 being pretty old. Now imagine you're a driver developer: All this software out there assumes your driver is broken. What happens when you fix it? Well, hopefully the app's workarounds don't actually cause it to break or produce incorrect results. What if the workarounds make it really slow? You want it to run fast on your hardware so people won't buy your competitor's hardware. So now you have workarounds for their workarounds... OpenGL shaders have (iirc) always been versioned, so that's good at least. The introduction of profile versions also helps but at present even those tend to have major bugs depending on OS and driver, so workarounds still end up in games and applications. Direct3D was historically much more explicit about versioning and feature sets but there's a lot of variability through things like caps flags (hardware can advertise different levels of functionality) and the app explicitly requesting specific features like a given texture format. Shaders in Direct3D are versioned, but it's quite possible that a driver is only built to handle shaders generated by a given shader compiler, so a new compiler targeting the same shader version will still break the driver. Some shaders probably were generated by old broken compilers, and the driver probably has workarounds for those. Also, modern graphics drivers typically have a bunch of hacks they quietly apply to big-name game titles and applications to make them run faster or suppress crashes. This goes as far as driver developers actually rewriting the shaders that a game uses, in order to improve performance on their hardware. An infamous old example of this is 'quack3'. https://techreport.com/review/3089/how-ati-drivers-optimize-quake-iii https://techreport.com/review/3089/how-ati-drivers-optimize-... On the bright side, a lot of this madness is gone in Vulkan and Direct3D 12. But very little software is going to end up using those APIs because they're much, much harder to use correctly.
- deleted 9y ago[deleted]
- digi_owl 9y agoSadly AMD seems to be in a rush to drop stuff from their Windows driver. I had the unfortunate experience of watching them drop support for the GPU part of my APU while it was still one of their headline APUs. This because they had based it on a previous gen discrete GPU, and they didn't want to support that GPU range any more with future drivers. It is experiences like these that makes me understand were RMS came from, and it pains me when so many even within the FOSS world poo poo his message and seem all too willing to break things left and right just because it is "old and crufty" code.
- fleitz 9y agoIsn’t the entire reason you buy AMD/ATI cards so you have issues like this and have to use the just so version of their driver to get the feature you want to work? (Forget having all the features the card is supposed to have all working at the same time) The only reason I’ve ever bought an ATI card in the last 15 years is because it hashed faster than NVIDIA. Ironically I still had to play the driver game to prevent the system from crashing. I figured they couldn’t possibly fuck up hashing but I was wrong.
- wastewaste 9y ago> for something as crucial as [computer games] fixed