Доступна для тестирования новая редакция порта Firefox для операционной системы Haiku, которая работает относительно стабильно и позволяет даже серфить по некоторым сайтам. При этом сборка не лишена отдельных проблем. Например, пока не работает копирование и вставка текста через буфер обмена, некоторые скрипты на JavaScript выполняются очень медленно, всплывающие окна при первом открытии не отображаются правильно (это связано с очередной проблемой на стороне wayland-server) и т. д. Для того чтобы всё заработало, потребуется особая сборка пакетов wayland, wayland-server, gtk3 и отдельный пакет mesa-wayland с EGL для последней версии Mesa.
Кроме того, можно отметить сокращение до 128Mb требований к размеру оперативной памяти для запуска в QEMU 64-битной версии системы с браузером Webpositive, и до 100Mb для 32-битной версии. Также возобновлены работы по использованию в app_server для отрисовки 2D-графики библиотеки Skia, что заодно поможет исправить в app_server множество давних проблем. Одно из главных преимуществ движка Skia в том, что он имеет поддержку рендеринга через GPU, при этом нет необходимости реализовывать интеграцию с видеодрайверами. А еще Skia умеет обрабатывать современную векторную графику, применяемую например в Web, и может отрисовывать текст для языков с начертанием справа налево, таких, как арабский язык.
Всех заинтересованных приглашаем в нашу Telegram-группу.
В бета-версии новой линейки своих драйверов Nvidia:
реализовала поддержку Quadro M1200 и Quadro M2200;
включила ARB_parallel_shader_compile для многопоточной компиляции GLSL-шейдеров;
добавила опцию игнорирования Virtual Reality Head Mounted Displays;
научила nvidia-settings работать с дисплеями PRIME;
внедрила инфраструктуру для работы с внешними библиотеками EGL - например, клиентской частью Wayland;
добавила Vulkan-расширения VK_KHR_display и VK_KHR_display_swapchain;
включила по умолчанию OpenGL Threaded Optimizations - они автоматически отключаются при просадке производительстности.
Также Nvidia представила эталонную реализацию внешней библиотеки EGL и клиентской библиотеки Wayland. Первая - интерфейс между драйвером Nvidia и произвольной графической системой на EGL. Вторая - это фирменная альтернатива EGLStreams и GBM, родившаяся в результате бурных дискуссий.
Промышленный консорциум Khronos Group опубликовал сразу несколько новых спецификаций:
OpenGL ES — подмножество графического интерфейса OpenGL, разработанное специально для встраиваемых систем — мобильных телефонов, карманных компьютеров, игровых консолей. Новая версия стандарта приносит на мобильные платформы самые ожидаемые новшества из десктопного OpenGL 4.4:
Вычислительные шейдеры – позволяют выполнять произвольные задачи на GPU. Похожи на OpenCL, но пишутся на GLSL и исполняются параллельно с графическими задачами;
Раздельные шейдерные объекты - позволяют приложениям независимо программировать стадии шейдеров вершин и фрагментов на GPU, смешивать и совмещать программы обработки вершин и фрагментов без их связывания;
Команды непрямой отрисовки - дают возможность GPU получить команды отрисовки из собственной памяти, а не гонять их через драйвер к CPU. Например, шейдер выполняется на GPU, осуществляет физическую симуляюцию, и может сам сгенерировать команды отрисовки, не нагружая CPU;
Улучшенный язык шейдеров - новые арифметические и логические операции, поддержка современных стилей программирования;
Новые опциональные расширения – выборочный шейдинг, дополнительные режимы смешивания;
Обратная совместимость с OpenGL ES 2.0 и 3.0.
WebCL - JavaScript-интерфейс к OpenCL (фреймворку для написания компьютерных программ, связанных с параллельными вычислениями на графических и центральных процессорах). Основные возможности WebCL 1.0:
Унифицированный, мобильный и эффективный способ доступа к гетерогенным вычислениям в браузере, используя JavaScript в качестве прослойки к OpenCL;
Архитектуры разработана с учётом требования безопасности и надежности. Используются такие методы, как: расширения системы безопасности OpenCL для инициализации памяти, открытый валидатор для предотвращения доступа за границы памяти;
Взаимодействие между WebCL и WebGL даёт веб-приложениям богатые графические и вычислительные возможности;
Открытый транслятор OpenCL в WebCL для обеспечения быстрого портирования OpenCL-приложений на WebCL.
EGL - интерфейс между API рендеринга (OpenGL, OpenGL ES, OpenVG) и графическим сервером, пришедший на замену GLX. EGL используют такие проекты, как Android, Wayland, Mir, Raspberry Pi. Поддержка EGL появилась даже в свежих версиях проприетарного драйвера Nvidia. Основные возможности EGL 1.5:
Улучшена поддержка объектов EGLImage, обеспечивающих совместный доступ к текстурам OpenGL и OpenGL ES;
Более строгие ограничения на создание графического контекста, с целью предотвращения злоупотреблений (что особенно важно для безопасных реализаций WebGL);
Улучшенная поддержка 64-разрядных платформ
Расширения для Wayland, GBM, Android и X11, позволяющие разным оконным системам использовать одну реализацию EGL;
Улучшена синхронизация между командами OpenGL/OpenGL ES и очередями команд OpenCL (что позволяет свести к минимуму или даже избежать участия центрального процессора при синхронизации работ, выполненных различными API);
Улучшена реализация EGLContext, теперь можно создать контекст без обращения к поверхности;
Поддержка sRGB в OpenGL ES с использованием стандартного цветового пространства, и упрощение поддержки гамма-коррекции, смешивания, масштабирования;
Приложения теперь могут обнаружить графический сброс с помощью одного не ресурсоёмкого запроса.
Корпорация IBM объявила о выпуске под открытой лицензией набора инструментов для разработки на языке EGL. EGL (англ. Enterprise Generation Language) — разработанный IBM современный высокоуровневый язык программирования для создания бизнес-приложений. Программы на EGL могут быть скомпилированы в COBOL, Java или JavaScript. Цель технологии EGL --- предоставить уровень абстракции над различным языками, фреймворками и средами выполнения.