Kompania Collabora shpalli implementimin në drejtuesin PanVK të mbështetjes për API-në grafike Vulkan 1.1 (më parë ishte mbështetur vetëm versioni Vulkan 1.0). Drejtuesi siguron mbështetje për API-në grafike Vulkan në pajisjet me GPU ARM të bazuara në arkitekturën V10, si Mali-G610 dhe Mali-G310. Përveç kompatibilitetit me API-në Vulkan 1.1, në kodin PanVK është e përfshirë mbështetje për shumë zgjerime nga versionet më të reja të Vulkan, por përputhshmëria e plotë me Vulkan 1.2 akoma nuk është arritur. Janë realizuar zgjerimet e mëposhtme:
- 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ështetje për Vulkan 1.1 në PanVK tashmë është pranuar në degën mbi të cilën po ndërtohet lëshimi Mesa 25.0. Për më tepër, PanVK është përfshirë në listën e drejtuesve të disponueshëm për përdorim në Mesa si standard (më parë PanVK nuk shfaqej në listën e drejtuesve dhe për ta përdorur duhej të vendosej një variabël mjedisi). Në sistemet ARM, ndërtimi i PanVK është i aktivizuar si standard. Kodi për mbështetje të zgjerimeve të veçanta Vulkan 1.2 është transferuar për t'u përfshirë në përbërjen kryesore të Mesa.
Së bashku, është theksuar zgjerimi i funksionalitetit të drejtuesit të hapur OpenGL Panfrost, i zhvilluar për GPU ARM Mali, paralelisht me drejtuesin Vulkan PanVK:
- Për të rritur efikasitetin e përdorimit të kapacitetit, mekanizmi "eliminimi i transaksioneve" është aktivizuar për default në drejtorin, duke hequr operacione të panevojshme (për shembull, operacionet e rishkrimit të fragmenteve që nuk kanë ndryshuar që nga përpunimi i fundit).
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r vizatimin inkremental, i cili lejon tĂ« reduktohet pĂ«rdorimi i memories gjatĂ« renderimit tĂ« njĂ« numri tĂ« madh objektesh pĂ«rmes pĂ«rpunimit tĂ« veçantĂ« tĂ« fragementeve (tile).
- Shtuar mbĂ«shtetje pĂ«r modin AFBC 32Ă8, i pĂ«rdorur pĂ«r optimizimin e funksionimit me buffersin e daljes (scan-out buffer) nĂ« disa kontrollorĂ«t e ekranit.
- Gjerësia dhe lartësia maksimale e mbështetur e textureve është rritur nga 8192 në 32768 piksel.
- Shtesa e mbështetjes për modalitetin e teksturizimit MTK_FMT_MOD_TILE_16L32S, ku të dhënat fragmentuara kopjohen në një tampon të përkohshëm të pa-fragmentuar para se të vizatohen (përdoret për të punuar me dekoduesit e harduerit të videove që janë të pranishëm në SoC MediaTek).
Burimi: opennet.ru
