Nei giorni scorsi sono incappato in un'incompatibilità tra la funzione glLineStipple dell'implementazione ATI di OpenGL ed il chipset grafico installato nel mio portatile, cioè la ATI Mobility Radeon HD 3470.
Purtroppo per me la Sony non autorizza aggiornamenti a tale chipset grafico, utilizzato anche per altri portatili in circolazione nel 2009, pertanto sono costretto a tenermi il driver 8.583.2.2000, rilasciato ancora il 14/5/2009, quando invece la ATI è già arrivata alla versione 11.12 dei propri driver ed il relativo gestore ATI Catalyst.
Ho provato anche ad utilizzare Mod Cat - Ati Mobility Modder, ossia un software che consente di craccare i file dell'installazione di ATI (ora di proprietà di AMD), in modo da riuscire nell'intento di installare i driver più recenti, bypassando così il controllo di Catalyst, ma al momento non ci sono ancora riuscito.
Son pertanto costretto a tenermi per un po' l'ATI OpenGL driver in versione 6.14.10.8501, che porta la data del 15/5/2009, le cui dimensioni sono di circa 10,8 MB. L'unica versione, alla data odierna, è decisamente più grande nelle dimensioni, 18,1 MB, ed è arrivata alla 6.14.10.11318 rilasciata al 10/11/2011.
Evidentemente in quei 7 MB in più di codice macchina ci sono sicuramente non solo il supporto di un più cospicuo numero di schede grafiche, ma sicuramente anche un workaround per gestire il problema in cui mi ritrovo.
Attualmente quando si va a disegnare linee o poligoni usando il mode glLineStipple e questi poligoni si sovrappongono ad altre facce, l'implementazione di ATI non solleva alcun bug, ma diventa pesantemente lenta, impiegando 2 o 3 ordini di grandezza per eseguire gli stessi compiti di rendering. E' praticamente inaccettabile, tanto che sto pensando di non usare tale prestazione di OpenGL, presente sin dagli esordi della più famosa libreria 3D cross-platform.