Релиз Mesa 11.0.0 с поддержкой OpenGL 4.1
После трёх месяцев разработки представлен релиз свободной реализации OpenGL API — Mesa 11.0, примечательный реализацией OpenGL 4.1 в драйверах RadeonSI и Nouveau (nvc0) для видеокарт AMD на основе архитектуры GCN (HD 7700–7900, HD 8000, Rx 240–290, Rx 300) и NVIDIA на базе GPU Fermi и Kepler (GeForce 400/500/600). В драйвере Intel i965 полностью обеспечена поддержка специфичных расширений OpenGL 4.2, но пока остаются нереализованными несколько расширений OpenGL 4.0 и 4.1. Первый выпуск ветки Mesa 11.0.0 имеет экспериментальный статус — после проведения окончательной стабилизации кода будет выпущена стабильная версия 11.0.1.
Кроме поддержки OpenGL 4 в новом выпуске можно отметить следующие изменения:
- Поддержка EGL 1.5 в драйверах r600, radeonsi, Nouveau nv50 и Nouveau nvc0. Представлена новая платформа EGL — surfaceless;
- Поддержка GPU AMD на базе архитектуры GCN 1.2: Tonga, Iceland, Carrizo, Fiji;
- Поддержка OpenGL ES 3.0 в драйвере freedreno для графической подсистемы чипов Qualcomm Snapdragon с GPU Adreno A3xx/A4xx;
- Продолжена работа по реализации OpenGLES 3.1 и вычислительных шейдеров;
- В драйвере i965 продолжена реализация бэкенда NIR и offline-компиляции, проведена большая работа по переработке внутренних компонентов для обеспечения поддержки новых расширений OpenGL;
- В драйверах r300/r600/radeonsi добавлена поддержка модуля ядра Linux AMDGPU, развиваемого в рамках новой стратегии продвижения драйверов для графических процессоров компании AMD;
- В трекер состояний Clover c реализацией OpenCL и поддерживающий его драйвер radeonsi добавлены средства для организации обработки изображений на стороне GPU;
- В драйвере radeonsi проведена большая работа по поддержки аппаратных средств ускорения кодирования (VCE) и декодирования (UVD) видео. Добавлена поддержка декодирования HEVC/H.265;
- В драйвере nouveau добавлена поддержка определения произвольных VRAM-доменов;
- В VDPAU добавлена поддержка формата кодирования видео HEVC/H.265;
- Поддержка новых расширений OpenGL, определённых в стандартах OpenGL 4.x:
- GL_AMD_vertex_shader_viewport_index в драйвере radeonsi
- GL_ARB_conditional_render_inverted в r600, radeonsi
- GL_ARB_depth_buffer_float во freedreno a4xx
- GL_ARB_derivative_control в radeonsi
- GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend в a4xx
- GL_ARB_fragment_layer_viewport в radeonsi
- GL_ARB_framebuffer_no_attachments в i965
- GL_ARB_get_texture_sub_image во всех драйверах
- GL_ARB_gpu_shader5 в radeonsi
- GL_ARB_gpu_shader_fp64 в llvmpipe, radeonsi
- GL_ARB_shader_image_load_store в i965
- GL_ARB_shader_precision в radeonsi, nvc0
- GL_ARB_shader_image_size в i965
- GL_ARB_shader_stencil_export в llvmpipe
- GL_ARB_shader_subroutine во всех драйверах
- GL_ARB_tessellation_shader в nvc0, radeonsi
- GL_ARB_transform_feedback2, GL_ARB_transform_feedback_instanced, GL_EXT_transform_feedback в a3xx, a4xx
- GL_ARB_vertex_attrib_64bit в llvmpipe, radeonsi
- GL_ARB_viewport_array в radeonsi
- GL_EXT_depth_bounds_test в radeonsi, nv30, nv50, nvc0
- GL_EXT_texture_compression_s3tc вfreedreno (a3xx)
- GL_NV_read_depth (GLES) во всех драйверах
- GL_NV_read_depth_stencil (GLES) во всех драйверах
- GL_NV_read_stencil (GLES) во всех драйверах
- GL_OES_texture_float в r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe
- GL_OES_texture_half_float в r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe
- GL_OES_texture_float_linear в r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe
- GL_OES_texture_half_float_linear в r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe
- GL_EXT_draw_buffers2 вa4xx
- GLX_ARB_create_context_robustness в r600, radeonsi
- EGL_EXT_create_context_robustness в r600, radeonsi
- EGL_KHR_gl_colorspace в r600, radeonsi, nv50, nvc0
- EGL_KHR_gl_texture_3D_image в r600, radeonsi, nv50, nvc0
- Устранены проблемы со сборкой на платформах Android, Darwin, Haiku, Solaris и Windows;
© OpenNet