Direct Rendering Manager: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Ldd (discussione | contributi)
Ldd (discussione | contributi)
Riga 41:
# Il client può mappare questi buffers usando un '''indirizzamento virtuale''' (tramite le [[API]] DRM).
# Il client può riservare alcuni di questi buffers 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 DMRDRM 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ò ottenere delle informazioni in tempo reale ed in seguito richiedere quali operazioni può eseguire sull'hardware presente nella macchina. Il server X si accorge di quale hardware è collegato e decide con quali modalità renderlo disponibile. Questo facilita l'utilizzo di eventuali nuovi device grafici tramite DRI, permettendo successivamente di usare un driver specifico che possa migliorarne le prestazioni.