Kompania Collabora njoftoi realizimin në driverin PanVK të mbështetjes për API-në grafike Vulkan 1.1 (më parë është mbështetur vetëm versioni Vulkan 1.0). Driveri ofron mbështetje për API-në grafike Vulkan në pajisjet me GPU ARM të bazuara në arkitekturën V10, të tilla si Mali-G610 dhe Mali-G310. Përveç përputhshmërisë me API-në Vulkan 1.1, kodi i PanVK ka shtuar mbështetje për shumë zgjerime nga versione më të reja të Vulkan-it, por përputhshmëria e plotë me Vulkan 1.2 ende nuk është arritur. Zgjerimet e mëposhtme janë implementuar:
- 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
Mbështetja e Vulkan 1.1 në PanVK është pranuar tashmë në degën mbi të cilën po zhvillohet lëshimi Mesa 25.0. Për më tepër, PanVK është përfshirë në listën e shërbimeve të drejtorëve që janë të disponueshëm për përdorim në Mesa si default (më parë PanVK nuk shfaqej në listën e drejtorëve dhe për ta përdorur duhej të vendosej variabla e mjedisit). Në sistemet ARM, ndërtimi i PanVK është aktivizuar si default. Kodi për mbështetje të zgjerimeve të veçanta Vulkan 1.2 është dërguar për t'u përfshirë në përbërjen kryesore të Mesa.
Përveç kësaj, është vënë re zgjerimi i funksionalitetit të drejtuesit të hapur OpenGL, Panfrost, i zhvilluar për GPU-të ARM Mali, paralelisht me drejtuesin Vulkan PanVK:
- Për të rritur efektivitetin e përdorimit të kapacitetit, drejtuesi tani përfshin në mënyrë default mekanizmin 'eliminimi i transaksioneve', i cili heq operacionet e tepërta (p.sh., operacionet e ri-shkruara të fragmentit që nuk kanë ndryshuar nga vizatimi i kaluar janë hequr).
- Është shtuar përkrahja për vizatimin inkremental, që lejon të zvogëlohet konsumi i memories gjatë vizatimit të numër të madh objektesh përmes procesimit të veçantë të fragmenteve (tile).
- Është shtuar përkrahja për modin AFBC 32×8, që përdoret për optimizimin e funksionimit me tamponin e daljeve (scan-out buffer) në disa kontrolerë ekranesh.
- Gjerësia dhe lartësia maksimale e mbështetur për teksturat është rritur nga 8192 në 32768 piksel.
- Është shtuar mbështetje për modalitetin e teksturimit MTK_FMT_MOD_TILE_16L32S, ku të dhënat e fragmentuara kopjohen në një tampon të përkohshëm të pa fragmentuar para vizatimit (kjo përdoret për të punuar me dekoduesit e videos përkatës që janë të pranishëm në SoC-në MediaTek).
Burimi: opennet.ru
