Ettevõte Collabora teatas, et PanVK draiverisse on lisatud graafilise API Vulkan 1.1 tugi (varem toetas ainult versiooni Vulkan 1.0). Draiver tagab graafilise API Vulkan toe ARM GPU-dele, mis põhinevad V10 arhitektuuril, nagu Mali-G610 ja Mali-G310. Lisaks Vulkan 1.1 API ühilduvusele on PanVK koodi lisatud paljude uuemate Vulkan versioonide laienduste tugi, kuid täielik ühilduvus Vulkan 1.2-ga ei ole veel saavutatud. Rakendatud on järgmised laiendused:
- VK_KHR_8bit_storage
- VK_KHR_dedicated_allocation
- VK_KHR_global_priority
- VK_KHR_index_type_uint8
- VK_KHR_map_memory2
- VK_KHR_multiview (v10+)
- VK_KHR_shader_draw_parameters
- VK_KHR_shader_float16_int8
- VK_KHR_shader_non_semantic_info
- VK_KHR_shader_relaxed_extended_instruction
- VK_KHR_shader_subgroup_rotate (v10+)
- VK_KHR_vertex_attribute_divisor
- VK_KHR_zero_initialize_workgroup_memory
- VK_EXT_4444_formats
- VK_EXT_global_priority_query
- VK_EXT_global_priority
- VK_EXT_host_query_reset
- VK_EXT_image_robustness
- VK_EXT_pipeline_robustness
- VK_EXT_provoking_vertex
- VK_EXT_queue_family_foreign
- VK_EXT_sampler_filter_minmax (v10+)
- VK_EXT_scalar_block_layout
- VK_EXT_subgroup_size_control (v10+)
- VK_EXT_tooling_info
Vulkan 1.1 tugi PanVK-s on juba lisatud väljaande Mesa 25.0 arendussakile. Lisaks on PanVK kaasatud vaikimisi kasutamiseks mõeldud draiverite loendisse Mesa-s (varasemalt ei olnud PanVK draiverite loendis nähtav ja selle kasutamiseks tuli seada keskkonnamuutuj). ARM-süsteemidel on PanVK vaikimisi sisse lülitatud.
Täiendavalt on märgitud Panfrost avatud OpenGL-draiveri funktsionaalsuse laiendamine, mida arendatakse GPU ARM Mali jaoks paralleelselt Vulkan-draiveriga PanVK:
- Draiveris on vaikimisi aktiveeritud „transaction elimination“ mehhanism, mis parandab ribalaiuse kasutamise efektiivsust, kõrvaldades üleliigsed toimingud (näiteks jäetakse kõrvale fragmendi ülekirjutamise toimingud, mis ei ole pärast eelmist renderdust muutunud).
- Lisatud on järkjärgulise renderdamise tugi, mis võimaldab vähendada mälu tarbimist suure arvu objektide renderdamisel, töötlemisel fragmentide kaupa (tile).
- AFBC 32×8 režiimi tugi on lisatud, et optimeerida väljundipuhvri (scan-out buffer) tööd mõnedes kuvarikontrollerites.
- Maksimaalne toetatud tekstuuride laius ja kõrgus on suurendatud 8192-st 32768 pikslini.
- Lisatud on MTK_FMT_MOD_TILE_16L32S tekstuurimise režiimi tugi, kus fragmenteeritud andmed kopeeritakse enne renderdamist ajutisse de-fragmenteeritud puhvri (kasutatakse MediaTek SoC-s olevate riistvaraliste videodekooderite jaoks).
Allikas: opennet.ru
