Eric Engestrom anunció una nueva entrega puntual de los drivers Mesa. Mesa 26.1 ya está disponible para esta colección de drivers principalmente OpenGL y Vulkan que cubre una variedad de hardware, además de componentes como Rusticl para OpenCL, Zink para OpenGL-sobre-Vulkan, varios módulos de aceleración para Windows y más.

Mesa 26.1 incorpora varias extensiones nuevas para los drivers Vulkan, optimizaciones de rendimiento y mejoras orientadas al gaming, especialmente sobre hardware Intel y AMD RadeonSI/RADV, junto con avances en NVK y los drivers menores. También llegan mejoras en Rusticl OpenCL, trabajo continuo en Zink, encode/decode de baja latencia para RADV Vulkan Video, soporte experimental para Intel Nova Lake P, OpenGL ES 2.0 para GPUs PowerVR vía el driver Zink y más trabajo en KosmicKrisp para Vulkan sobre Metal.

VirGL queda sin mantenedor

Engestrom remarcó en el anuncio de Mesa 26.1 que el código VirGL para gráficos acelerados en entornos virtualizados con virglrenderer ya no se considera mantenido. Si nadie toma la posta pronto, podría ser removido. Por suerte hoy existen otras opciones para acelerar gráficos en VMs: los drivers Intel Iris, Crocus y ANV en este release suman soporte para VirtIO-GPU native-context, una técnica que mejora la aceleración GPU paravirtualizada al exponer el driver nativo del invitado en lugar de un puente genérico.

Extensiones destacadas

Entre los muchos cambios de extensiones OpenGL y Vulkan en Mesa 26.1:

- GL_NV_timeline_semaphore en radeonsi - VK_QCOM_image_processing en Turnip - VK_EXT_present_timing en RADV, NVK, Turnip, ANV, Honeykrisp, panvk - VK_KHR_sampler_ycbcr_conversion en pvr - VK_EXT_image_drm_format_modifier en pvr - VK_KHR_internally_synchronized_queues en RADV - VK_EXT_blend_operation_advanced en lavapipe - VK_KHR_get_surface_capabilities2 en panvk - VK_KHR_get_display_properties2 en panvk - VK_EXT_acquire_drm_display en panvk - VK_KHR_present_id en panvk, v3dv - VK_KHR_present_wait en panvk, v3dv - VK_KHR_pipeline_executable_properties en pvr - VK_EXT_zero_initialize_device_memory en panvk - GL_EXT_shader_image_load_store en panfrost - VK_KHR_swapchain_mutable_format en panvk - VK_EXT_astc_decode_mode en panvk - VK_KHR_copy_memory_indirect en nvk, RADV/GFX8+ - VK_EXT_color_write_enable en panvk - VK_EXT_hdr_metadata en v3dv - VK_EXT_image_view_min_lod en panvk - VK_EXT_depth_clamp_control en panvk - VK_VALVE_shader_mixed_float_dot_product en RADV (Vega20, Navi14, RDNA2+) - VK_EXT_legacy_dithering en panvk - GL_ARB_sample_shading en v3d - VK_KHR_maintenance4 en pvr - VK_ARM_scheduling_controls en panvk - cl_khr_subgroup_ballot en asahi, iris, llvmpipe, radeonsi y zink - cl_khr_subgroup_clustered_reduce en asahi, llvmpipe, radeonsi y zink - cl_khr_subgroup_extended_types en asahi, iris, llvmpipe, radeonsi y zink - cl_khr_subgroup_non_uniform_arithmetic en asahi, llvmpipe, radeonsi y zink - cl_khr_subgroup_non_uniform_vote en asahi, iris, llvmpipe, radeonsi y zink - cl_khr_subgroup_rotate en asahi, llvmpipe y zink - VK_EXT_nested_command_buffer en panvk - VK_VALVE_mutable_descriptor_type en panvk - VK_EXT_shader_stencil_export en panvk - VK_EXT_map_memory_placed en panvk - VK_EXT_conditional_rendering en panvk - VK_{KHR,EXT}_{surface,swapchain}_maintenance1 en panvk - VK_EXT_shader_atomic_float en panvk - VK_KHR_device_address_commands en RADV - VK_EXT_non_seamless_cube_map en pvr - fragmentStoresAndAtomics en panvk/v6-7 - VK_KHR_shader_untyped_pointers en panvk - VK_EXT_primitive_restart_index en RADV - VK_EXT_attachment_feedback_loop_layout en panvk - VK_EXT_attachment_feedback_loop_dynamic_state en panvk - VK_KHR_shader_integer_dot_product en pvr - VK_EXT_descriptor_heap en RADV (con 'export RADV_EXPERIMENTAL=heap') - fullDrawIndexUint32 en pvr - multiDrawIndirect en pvr - depthBiasClamp en pvr - wideLines en pvr - VK_EXT_rgba10x6_formats en panvk

El anuncio completo del release de Mesa 26.1 se puede leer en la lista de correo Mesa-dev.