Introduces multiple Vulkan extensions for ANV & RADV drivers

Dec 8, 2017 15:01 GMT  ·  By

Collabora's Emil Velikov is pleased to announce today the general availability of the final Mesa 17.3 graphics stack release for GNU/Linux distributions.

Mesa or Mesa 3D Graphics Library is an open-source graphics stack, a collection of open-source graphics drivers to bring support for the latest OpenGL and Vulkan technologies to Intel, AMD Radeon, and Nvidia graphics cards on Linux-based operating systems.

While not yet ready for primetime, Mesa 17.3 is the latest and most advanced series of the graphics stack, bringing the Intel i965, RadeonSI, and Nouveau (nvc0) drivers closer to the OpenGL 4.6 specification and implementing support for multiple Vulkan extensions to both the Intel ANV and AMD Radeon RADV Vulkan drivers (see below for details).

Experimental NIR support was implemented in the RadeonSI driver as well, full support for the OpenGL 2.1 standard is now available for the Etnaviv driver, the GLThread component received multiple improvements and optimizations, the libdxtn library is now merged into Mesa, and GFX9+ devices support tessellation and geometry shaders.

Newly supported extensions in Mesa 17.3

The Intel ANV Vulkan driver now supports the VK_ANDROID_native_buffer, VK_EXT_debug_report, VK_KHR_bind_memory2, VK_KHR_external_fence/capabilities/fd, VK_KHR_external_semaphore/capabilities/fd, VK_KHR_image_format_list, VK_KHR_maintenance2, VK_KHR_relaxed_block_layout, and VK_KHR_sampler_ycbcr_conversion extensions.

On the other hand, the Radeon RADV Vulkan driver supports the VK_KHR_bind_memory2, VK_KHR_external_memory/capabilities/fd, VK_KHR_dedicated_allocation, VK_KHR_external_semaphore/capabilities/fd, VK_KHR_maintenance2, VK_KHR_get_memory_requirements2, and VK_KHR_image_format_list extensions.

The list of newly supported RADV Vulkan extensions continues with the 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, and VK_AMD_rasterization_order.

Newly supported OpenGL and EGL extensions include EGL_IMG_context_priority and GL_ARB_indirect_parameters on Intel i965, as well as EGL_ANDROID_native_fence_sync, GL_EXT_memory_object, GL_ARB_transform_feedback_overflow_query and GL_EXT_memory_object_fd on RadeonSI.

Also, the GL_ARB_polygon_offset_clamp and GL_ARB_texture_filter_anisotropic extensions are now supported on the Intel i965, RadeonSI, r600, Nouveau (nv50, nvc0), as well as llvmpipe and SWR drivers, which only support the first extension. We should also note that EGL_ANDROID_native_fence_sync is supported on Linux kernel 4.15 and later.

Those who can't wait until Mesa 17.3 lands in the stable repositories of their favorite GNU/Linux distribution can download and compile the sources right now through our website. However, as with any new major release, it is recommended to wait until the first point release, in this case Mesa 17.3.1, is out before updating the graphics stack.