En tant que personne ayant quelques années de développement de pilotes, je vois cela comme deux problèmes distincts.
Un pilote graphique est une bête très compliquée. Tout mettre en œuvre de manière optimale serait une tâche tout simplement impossible; c'est un obstacle assez grand pour créer un pilote qui respecte réellement les spécifications - et les spécifications deviennent de plus en plus complexes. Donc, vous développez votre pilote en fonction des spécifications et d'une poignée d'applications de test (car, dans de nombreux cas, il n'y a pas encore de vrai logiciel).
Vient ensuite un vrai jeu (ou benchmark, ou un autre cas d'utilisation pour le pilote, comme le décodage vidéo) qui expose un goulot d'étranglement dans le pilote. Vous allez découvrir comment lisser les choses et rendre ce cas d'utilisation plus rapide. Vous pouvez facilement signaler que le jeu XYZ est 27,3% plus rapide, mais en réalité, chaque application qui a un tel cas d'utilisation (par exemple, une mise à jour de texture dynamique) devient plus rapide.
Ensuite, il y a le côté laid, de réelles optimisations par application, dans lesquelles le pilote détecte quelle application est exécutée (ou quel shader est en cours de compilation) et fait quelque chose de non générique. Il y a eu beaucoup de cas publicisés de cela, où, par exemple, renommer l'exécutable 3dmark change soudainement les résultats.
Je pense que ce type d'optimisations est une perte de temps pour tout le monde - vous mentez à vos clients dans le cas des benchmarks, et vous pouvez changer la façon dont un shader se comporte par rapport à ce que le développeur veut réellement. Je me souviens d'un cas où un shader était passé d'une recherche de texture à un calcul dans le shader (qui ne fonctionnait que pour le matériel dudit fabricant) qui était proche, mais pas exactement le même résultat, et le développeur a rétorqué que ce n'était pas légal optimisation.