Come qualcuno con alcuni anni di sviluppo del driver, vedo questo come due problemi separati.
Un driver grafico è una bestia molto complicata. Implementare tutto in modo ottimale sarebbe un compito semplicemente impossibile; è un ostacolo abbastanza grande solo per creare un driver che segua effettivamente le specifiche - e le specifiche continuano a diventare sempre più complesse. Quindi, sviluppi il tuo driver in base alle specifiche e una manciata di applicazioni di test (poiché, in molti casi, non esiste ancora un vero software).
Arriva un vero gioco (o benchmark, o qualche altro caso d'uso per il driver, come la decodifica video) che espone un collo di bottiglia nel driver. A te, capendo come appianare le cose e rendere più veloce quel caso d'uso. Puoi facilmente riferire che il gioco XYZ è più veloce del 27,3%, ma in realtà ogni applicazione che ha detto caso d'uso (diciamo, aggiornamento dinamico della trama) diventa più veloce.
Poi c'è il lato brutto, ottimizzazioni reali per applicazione, in cui il driver rileva quale applicazione viene eseguita (o quale shader viene compilato) e fa qualcosa di non generico. Ci sono stati molti casi pubblicizzati di questo, in cui, ad esempio, la ridenominazione dell'eseguibile 3dmark modifica improvvisamente i risultati.
Ritengo che questo tipo di ottimizzazioni sia una perdita di tempo per tutti: mentite ai vostri clienti nel caso dei benchmark e potreste cambiare il modo in cui uno shader si comporta da ciò che lo sviluppatore vuole realmente. Ricordo un caso in cui uno shader è stato cambiato da una ricerca di texture a un calcolo in-shader (che ha funzionato solo per l'hardware del produttore) che era vicino, ma non esattamente lo stesso risultato, e lo sviluppatore si è opposto che questo non fosse legale ottimizzazione.