Direct Rendering Infrastructure (DRI) — интерфейс и свободная его реализация, используемые в системе X Window System, позволяющая пользовательским приложениям безопасно получать доступ к видеоаппаратуре без необходимости использования X server (замедляющего этот процесс). Основное назначение DRI — обеспечение аппаратного ускорения Mesa 3D (одной из реализаций OpenGL и Vulkan). Также позволяет реализовать ускорение OpenGL в консольный кадровый буфер без запущенного X11-сервера.
Проект был начат Йенсом Оуэном (Jens Owen) и Кевином Мартином (Kevin E. Martin) в Precision Insight. Впервые проект получил широкое распространение как часть XFree86 4.0, впоследствии стал частью X.Org. По состоянию на 2010-е годы поддерживается Tungsten Graphics, а также различными участниками сообщества свободного программного обеспечения. Поддерживается в Linux и FreeBSD; также портирован в NetBSD.
Составляющие Поддержка OpenGL в Direct Rendering Infrastructure состоит из нескольких частей.
Первая часть — это Direct Rendering Manager (DRM), является составной частью инфраструктуры Direct Rendering Infrastructure, системы, чтобы обеспечить эффективное ускорение видео (в частности, 3D-рендеринг).
Вторая часть DRI — это модуль драйвера пользовательского пространства, содержащий драйвер OpenGL, который обычно подготавливает буферы команд для отправки в видеоаппаратуру с помощью DRM и взаимодействует с оконной системой для синхронизации доступа к видеоаппаратуре.
Третья часть — своего рода сервер. В X — это модуль поддержки libdri.so и DDX (2D-драйвер с поддержкой DRI). В реализации для кадрового буфера — это MiniGLX, инициализирующий DRM и предоставляющий некоторые функции из X Window API драйверу пользовательского пространства в условиях отсутствия X11-сервера.
Драйверы Существует некоторое количество драйверов DRI с открытыми исходными кодами, в том числе драйверы для ATI Mach64, ATI Rage128, ATI Radeon, для 3dfx с Voodoo3 по Voodoo5, Matrox с G200 по G400, SiS 300-series, Intel с i810 по i965, S3 Savage, а также для графических чипсетов VIA unichrome. Некоторыми производителями видеокарт (такими, как ATI и Kyro) написаны собственнические драйверы DRI с закрытыми исходными кодами.
Примечания
Ссылки
Direct Rendering Infrastructure project home page Direct Rendering Infrastructure project «To Do» page Mesa Tungsten Graphics DRI2 http://www.linux.com/feature/8797 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 (Jens Owen and Kevin Martin, Precision Insight, 1999) DRI explanation (Adam Jackson) Getting X Off The Hardware (Keith Packard) В ядро Linux 3.12 будет добавлена экспериментальня поддержка Render Nodes
Категория:X Window System Категория:Freedesktop.org