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
