Direct Rendering Infrastructure
Direct Rendering Infrastructure (DRI) -- interfeis i svobodnaia ego realizatsiia, ispol'zuemye v sisteme X Window System, pozvoliaiushchaia pol'zovatel'skim prilozheniiam bezopasno poluchat' dostup k videoapparature bez neobkhodimosti ispol'zovaniia X server (zamedliaiushchego etot protsess). Osnovnoe naznachenie DRI -- obespechenie apparatnogo uskoreniia Mesa 3D (odnoi iz realizatsii OpenGL i Vulkan). Takzhe pozvoliaet realizovat' uskorenie OpenGL v konsol'nyi kadrovyi bufer bez zapushchennogo X11-servera.
Proekt byl nachat Iensom Ouenom (Jens Owen) i Kevinom Martinom (Kevin E. Martin) v Precision Insight. Vpervye proekt poluchil shirokoe rasprostranenie kak chast' XFree86 4.0, vposledstvii stal chast'iu X.Org. Po sostoianiiu na 2010-e gody podderzhivaetsia Tungsten Graphics, a takzhe razlichnymi uchastnikami soobshchestva svobodnogo programmnogo obespecheniia. Podderzhivaetsia v Linux i FreeBSD; takzhe portirovan v NetBSD.
Sostavliaiushchie
[pravit' | pravit' kod]Podderzhka OpenGL v Direct Rendering Infrastructure sostoit iz neskol'kikh chastei.
Pervaia chast' -- eto Direct Rendering Manager (DRM), iavliaetsia sostavnoi chast'iu infrastruktury Direct Rendering Infrastructure, sistemy, chtoby obespechit' effektivnoe uskorenie video (v chastnosti, 3D-rendering).
Vtoraia chast' DRI -- eto modul' draivera pol'zovatel'skogo prostranstva, soderzhashchii draiver OpenGL, kotoryi obychno podgotavlivaet bufery komand dlia otpravki v videoapparaturu s pomoshch'iu DRM i vzaimodeistvuet s okonnoi sistemoi dlia sinkhronizatsii dostupa k videoapparature.
Tret'ia chast' -- svoego roda server. V X -- eto modul' podderzhki libdri.so i DDX (2D-draiver s podderzhkoi DRI). V realizatsii dlia kadrovogo bufera -- eto MiniGLX, initsializiruiushchii DRM i predostavliaiushchii nekotorye funktsii iz X Window API draiveru pol'zovatel'skogo prostranstva v usloviiakh otsutstviia X11-servera.
Draivery
[pravit' | pravit' kod]Sushchestvuet nekotoroe kolichestvo draiverov DRI s otkrytymi iskhodnymi kodami, v tom chisle draivery dlia ATI Mach64, ATI Rage128, ATI Radeon, dlia 3dfx s Voodoo3 po Voodoo5, Matrox s G200 po G400, SiS 300-series, Intel s i810 po i965, S3 Savage, a takzhe dlia graficheskikh chipsetov VIA unichrome. Nekotorymi proizvoditeliami videokart (takimi, kak ATI i Kyro) napisany sobstvennicheskie draivery DRI s zakrytymi iskhodnymi kodami.
Primechaniia
[pravit' | pravit' kod]Ssylki
[pravit' | pravit' kod]- Direct Rendering Infrastructure project home page
- Direct Rendering Infrastructure project <
> page - Mesa
- Tungsten Graphics
- DRI2
- http://www.linux.com/feature/8797 (nedostupnaia ssylka)
- https://web.archive.org/web/20080808114526/http://www.linuxformat.co.uk/pdfs/LXF68.feat_x.pdf
- A Multipipe Direct Rendering Architecture for 3D (Jens Owen and Kevin Martin, 1998) (original DRI design document)
- Direct Rendering Infrastructure, Low-Level Design Document (Kevin E. Martin, Rickard E. Faith, Jens Owen, and Allen Akin, 1999)
- DRI Extension for supporting Direct Rendering Protocol Specification (nedostupnaia ssylka s 14-05-2013 [4668 dnei] -- istoriia) (Jens Owen and Kevin Martin, Precision Insight, 1999)
- DRI explanation (Adam Jackson)
- Getting X Off The Hardware (Keith Packard)
- V iadro Linux 3.12 budet dobavlena eksperimental'nia podderzhka Render Nodes