Pāriet uz saturu

Gallium3D

Vikipēdijas lapa
Illustration of the Linux graphics stack
DRI and Gallium3D have different driver models, but both share a lot of code
An possible example matrix when implementing the Gallium3D driver model. Through the introduction of the Gallium3D Tracker Interface and the Gallium3D WinSys Interface, only 18 instead of 36 modules are required. Each WinSys module can work with each Gallium3D device driver module and with each State Tracker module.

Gallium 3D ir nākamā Mesa3D — atvērtā koda brīvprogrammatūras OpenGL īstenojuma — versija.

Gallium 3D pamatuzdevums ir pārskatīt Mesa 3D arhitektūru, lai nodrošinātu produktīvāku "darba dalīšanu" (piemēram, atmiņas pārvaldību nododot kerneļa nepastarpinātā renderēšanas infrastruktūras (DRI) draiverim) un atbalstītu modernas aparatūras arhitektūru.

Gallium 3D nodrošinās apvienotu lietojumprogrammas saskarni darot pieejamas tādas modernas aparatūras standartfunkcijas kā ēnotāju vienības. Tādējādi tādām 3D lietojumprogrammu saskarnēm kā OpenGL (1., 2. un 3. versija), OpenVG, GPGPU un iespējams pat Direct3D (ja Wine nodrošinās šādu savienojamību), būs nepieciešama tikai viena vienīga aizmugursistēma (back-end), stāvokļu vadības serveris(state tracker), kas arī ir Gallium 3D lietojumprogrammas saskarne. Salīdzinājumam Mesa 3D bija nepieciešama atsevišķa aizmugursistēma katrai aparatūras platformai, un citas lietojumprogrammu saskarnes bija nepieciešams pārinterpretēt uz OpenGL, kā rezultātā radās resursu un jaudas virstēriņš.[1][2][3][4] Piedevām, elastīgā Gallium 3D modulārā struktūra nākotnē ļaus izmantot ZLVM kompilatoru un izveidot moduļus, lai tūlītēji optimizētu ēnotāja kodu.[5]

Gallium 3D atmiņas vadību nodrošinās NRP (Nepastarpinātās renderēšanas pārvaldnieks, DRM) kerneļa draiveri, un NRI Nepastarpinātas renderēšanas saskarnes draveris (tagad DRI2) būs vairāk uz grafisko procesoru apstrādes veiktspēju orientēts. Šāds risinājums ļaus atrisināt atmiņas vadības problēmas, kas nebija atrisināmas Mesa 3D arhitektūrā.[6]

Šī brīža statuss

[labot šo sadaļu | labot pirmkodu]

Pirmie īstenotie un jau daļēji funkcionējošie draiveri ir Cell un Intel GMA draiveri. Šobrīd ir sperts arī nozīmīgs solis ATI Radeon karšu darbības nodrošināšanā — tām tiek nodrošināts skeletondraiveris[7], un nouveau komanda savas tālākās izstrādes orientē uz Gallium 3D, iekļaujot risinājumu arī priekš vecajām Nvidia kartēm, kuru fiksēto funkciju arhitektūrā pietrūka programmējamo ēnotāju iespeja.[8][9]

Ārējās saites

[labot šo sadaļu | labot pirmkodu]
  1. (angliski) Es ienīstu Linux grafikas iespējas! Arhivēts 2008. gada 4. jūlijā, Wayback Machine vietnē.
  2. «TG-Gallium3D» (angļu). Tungsten Graphics. Arhivēts no oriģināla, laiks: 2008-02-07. Skatīts: 2008-04-01.
  3. zrusin. «GPGPU» (angļu), 2008-02-06. Arhivēts no oriģināla, laiks: 2008-02-09. Skatīts: 2008-04-01.
  4. zrusin. «OpenVG and accelerating 2D» (angļu), 2008-02-07. Arhivēts no oriģināla, laiks: 2008-02-29. Skatīts: 2008-04-01.
  5. zrusin. «Gallium3D LLVM» (angļu), 2007-11-02. Arhivēts no oriģināla, laiks: 2007-11-11. Skatīts: 2008-04-01.
  6. «DRI2» (angļu). 2007-10-04. Arhivēts no oriģināla, laiks: 2008-07-04. Skatīts: 2008-04-01.
  7. Michael Larabel. «Gallium3D Status Update Q1'08» (angļu). Phoronix, 2008-02-24. 2. lpp. Arhivēts no oriģināla, laiks: 2008-03-06. Skatīts: 2008-04-01.
  8. «Nouveau Companion 36» (angļu). 2008-03-07. Arhivēts no oriģināla, laiks: 2012-03-01. Skatīts: 2008-04-01.
  9. «Nouveau Companion 37» (angļu). 2008-03-21. Arhivēts no oriģināla, laiks: 2010-11-01. Skatīts: 2008-04-01.