Direct Rendering Manager: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Ldd (discussione | contributi)
Ldd (discussione | contributi)
Riga 40:
# Il server X può specificare un insieme di diverse dimensioni del buffer che desidera allocare ed in seguito bloccare.
# Il client può mappare questi buffers usando un indirizzamento virtuale (tramite le [[API]] DRM).
# Il client può riservare alcuni di questi buffers ad un all'uso tramite DRM, ad esempio per riempirlo con dei dati e chiedere al DRM di inviare tali dati all'hardware grafico. (Di solito i buffers più piccoli vengono usati per assicurarsi che il server X possa ottenere il blocco durante i trasferimenti consecutivi tra buffer ed il device grafico, in tal modo il server diviene maggiormente reattivo).
# Il DRM gestisce una coda di -'''buffer del DMA-''' per ogni contesto GLXContext dell'OpenGL, e si accorge quando è necessario uno switch. Quando risulta necessario cambiare contesto, si tenta di usare un driver specifico (in kernel-space), se questo non è disponibile si ritorna al server X che possiede un metodo generico per il GLXContext switching.Infine il DMR si occupa anche di schedulare le richieste ai vari buffer per evitare di eseguire cambi di contesto inutili.
# Il sistema DMA è generico nel senso che un server X può ottenre delle informazioni in tempo reale e richiede quali operazioni può eseguire sull'hardware presente nella macchina. Il server X si accorge di quale hardware e' collegato e decide con quali modalità renderlo disponibile. Questo permette un facile utilizzo di eventuali nuovi device grafici tramite DRI, permettendo successivamente di usare un driver specifico che possa migliorarne le prestazioni.
 
 
== Voci correlate ==