Che cos’è un driver OpenGL® ATI™?

Un driver ATI™ Open Graphics Library® (OpenGL®) è un’interfaccia software sviluppata da ATI™ Technologies per essere il ponte tra l’hardware della scheda grafica e l’interfaccia di programmazione astratta (API) per la libreria OpenGL®. Esistono driver diversi per ogni sistema operativo e driver diversi per le varie architetture di schede grafiche vendute. Il driver OpenGL® ATI™ è progettato specificamente per sfruttare al meglio l’hardware grafico mantenendo un’interfaccia compatibile con l’API OpenGL®. Il driver include estensioni OpenGL® personalizzate che possono essere utilizzate per accedere a funzioni speciali o funzioni accelerate della scheda grafica in modo coerente all’interno del framework OpenGL®. Non tutte le schede grafiche ATI™ hanno il proprio driver OpenGL® ATI™ personalizzato, il che significa che alcune condividono un driver comune, il che può causare problemi quando vengono richieste determinate funzioni che l’hardware non supporta.

Uno dei compiti più importanti che svolge il driver OpenGL® ATI™ è quello di accedere all’hardware della scheda grafica direttamente tramite qualsiasi interfaccia hardware che utilizza per comunicare con il sistema informatico principale. Ciò avvantaggia i programmatori, perché il produttore produce i driver all’interno di specifiche rigorose per le migliori prestazioni. Inoltre, ATI™ funziona con l’Architecture Review Board (ARB) che mantiene le specifiche OpenGL® in modo che, con lo sviluppo di nuovo hardware, OpenGL® possa evolversi simultaneamente e il supporto possa essere implementato da entrambi i lati.

Le operazioni che utilizzano numeri in virgola mobile, ad esempio, vengono spostate tramite i driver OpenGL® ATI™ e quindi gestite dall’unità di elaborazione grafica (GPU) sulla scheda grafica, che dispone di registri speciali per rendere le operazioni il più veloci possibile senza utilizzare alcun della potenza di elaborazione dei principali computer. Molte operazioni di basso livello che trattano frammenti, vertici e matrici vengono passate direttamente alla GPU, nella maggior parte dei casi, attraverso il driver. Questo tipo di funzionalità sarebbe impossibile o molto inaffidabile se il driver non fosse presente.

Intere procedure grafiche possono essere ottimizzate tramite l’hardware. Ad esempio, il driver OpenGL® ATI™ può passare informazioni alla GPU in modo che l’anti-aliasing, il blending e il multisampling possano essere eseguiti direttamente nell’hardware. Il driver fornisce anche l’accesso alla memoria temporanea all’interno della scheda in modo che le immagini delle texture o gli array di vertici possano essere archiviati e utilizzati completamente all’interno dell’hardware grafico.

Ci sono alcune complicazioni quando si utilizza un driver OpenGL® ATI™. Esistono così tanti modelli hardware di schede grafiche ATI™ che alcuni driver sono condivisi e possono causare problemi di compatibilità con determinate chiamate di funzione. Ci sono anche alcuni passaggi di programmazione non standard, non OpenGL® che potrebbero dover essere eseguiti in modo che la scheda ATI™ possa eseguire le proprie ottimizzazioni. Creare un programma ottimizzato per una scheda grafica ATI™ potrebbe anche significare creare un programma non compatibile con un’altra marca di scheda.