Выпуск Mesa 17.3.0, свободной реализации OpenGL

Автор denkin, декабря 09, 2017, 17:54:00

« предыдущая - следующая »

denkin

Состоялся релиз свободной реализации API OpenGL и Vulkan - Mesa 17.3. С прошлого выпуска внесено около 2700 изменений от примерно 120 разработчиков. Первый выпуск ветки Mesa 17.3.0 имеет экспериментальный статус - после проведения окончательной стабилизации кода будет выпущена стабильная версия 17.3.1. В Mesa 17.3 предоставляется полная поддержка OpenGL 4.5 для драйверов i965, radeonsi и nvc0, а также частичная поддержка недавно вышедшего стандарта OpenGL 4.6.
Новость на Opennet.
Подробности

"Наиболее заметные изменения:

В состав включена библиотека libdxtn с реализацией механизма сжатия текстур S3TC (S3 Texture Compression), на который истёк срок действия патентов. Расширения GL_EXT_texture_compression_s3tc и GL_ANGLE_texture_compression_dx теперь по умолчанию включены для поддерживающих их драйверов;
В драйверах i965, nouveau (nvc0) и radeonsi проведена работа по реализации поддержки недостающих расширений, связанных со стандартом OpenGL 4.6. Полная поддержка OpenGL 4.6 пока не достигнута ни в одном из драйверов, главным образом из-за отсутствия расширений GL_ARB_gl_spirv и GL_ARB_spirv_extensions;
В драйвере etnaviv (GPU Vivante GCxxx) полностью реализованы все возможности OpenGL 2.1;
В драйвер radeonsi добавлена экспериментальная поддержка плоского бестипового промежуточного представления NIR, похожего на TGSI (Tungsten Graphics Shader Infrastructure) и Mesa IR, но работающее на самом нижнем уровне, под GLSL IR и внутренним IR Mesa. Добавлена серия оптимизаций, нацеленных на увеличение производительности различных игр;
Проведена оптимзация и расширены возможности процесса glthread (многопоточная реализация OpenGL). При тестировании glthread на системе с GPU Radeon R9 270 и CPU Core i5 отмечается увеличение FPS в игре Outlast на 10-20%. Расширен белый список игр, которые без проблем можно использовать с mesa_glthread;
Добавлена начальная поддержка сборочной системы Meson, на которую переходит GTK+ и GNOME;
Для устройств Radeon GFX9+ добавлена поддержка геометрических и тесселяционных шейдеров;
Добавлены новые расширения OpenGL:
GL_ARB_indirect_parameters в i965/gen7+
GL_ARB_polygon_offset_clamp в i965, nv50, nvc0, r600, radeonsi, llvmpipe, swr
GL_ARB_transform_feedback_overflow_query в radeonsi
GL_ARB_texture_filter_anisotropic в i965, nv50, nvc0, r600, radeonsi
GL_EXT_memory_object в radeonsi
GL_EXT_memory_object_fd в radeonsi
Добавлены новые расширения EGL:
EGL_ANDROID_native_fence_sync в radeonsi
EGL_IMG_context_priority в i965
В Vulkan-драйверы RADV (для карт AMD) и ANV (для карт Intel) добавлен набор расширений Vulkan.
В ANV:

VK_ANDROID_native_buffer
VK_KHR_bind_memory2
VK_KHR_external_fence
VK_KHR_external_fence_capabilities
VK_KHR_external_fence_fd
VK_KHR_external_semaphore
VK_KHR_external_semaphore_capabilities
VK_KHR_external_semaphore_fd
VK_KHR_image_format_list
VK_KHR_maintenance2
VK_KHR_relaxed_block_layout
VK_KHR_sampler_ycbcr_conversion
VK_EXT_debug_report
В RADV:

VK_KHR_bind_memory2
VK_KHR_dedicated_allocation
VK_KHR_external_memory
VK_KHR_external_memory_capabilities
VK_KHR_external_memory_fd
VK_KHR_external_semaphore
VK_KHR_external_semaphore_capabilities
VK_KHR_external_semaphore_fd
VK_KHR_get_memory_requirements2
VK_KHR_image_format_list
VK_KHR_maintenance2
VK_KHR_relaxed_block_layout
VK_KHR_storage_buffer_storage_class
VK_KHR_variable_pointers
VK_KHX_multiview
VK_EXT_debug_report
VK_EXT_global_priority
VK_AMD_draw_indirect_count
VK_AMD_rasterization_order
Проверена оптимизация производительности драйвера RADV, в том числе реализован отдельный дисковых кэш.
Дополнительно можно отметить начало разработки проекта DXVK, нацеленного на создание реализации DXGI и D3D11 поверх API Vulkan для предоставления возможности запуска 3D-приложений в Linux при помощи Wine."
(ц)

[свернуть]