A Collabora bejelentette, hogy a PanVK meghajtóban támogatást kapott a Vulkan 1.1 grafikus API-hoz (korábban csak a Vulkan 1.0 verziót támogatták). A meghajtó támogatja a Vulkan grafikus API-t ARM GPU-val rendelkező V10 architektúrájú eszközökön, mint például a Mali-G610 és Mali-G310. Az API Vulkan 1.1 kompatibilitása mellett a PanVK kódjába számos újabb Vulkan verzióhoz tartozó kiterjesztés is belekerült, azonban a Vulkan 1.2 teljes támogatása még nem valósult meg. A következő kiterjesztések valósultak meg:
- 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
A Vulkan 1.1 PanVK támogatása már bekerült abba az ágba, amelyből a Mesa 25.0 kiadás készül. Ezen kívül a PanVK bekerült a Mesa alapértelmezés szerint használható meghajtói közé (korábban a PanVK nem jelent meg a meghajtók listájában, és használatához környezeti változót kellett beállítani). ARM rendszereken a PanVK alapértelmezés szerint be van kapcsolva. A Vulkan 1.2 külön kiterjesztéseinek támogatásához szükséges kódot átadták a Mesa fő összetételébe való bekapcsoláshoz.
További megjegyzés, hogy a Panfrost nyílt OpenGL-meghajtó funkcionalitása is kibővült, amelyet a Mali ARM GPU-khoz fejlesztenek párhuzamosan a Vulkan PanVK meghajtóval:
- A meghajtóba alapértelmezés szerint beépítésre került egy 'transaction elimination' mechanizmus, amely eltávolítja a felesleges műveleteket, például azokat a fragmentumok újraírását, amelyek nem változtak meg az előző rajzolás óta.
- Hozzáadva az inkrementális rajzolás támogatása, amely csökkenti a memóriafogyasztást nagy számú objektum megjelenítésekor, a fragmentumok különböző feldolgozása révén (tile).
- Hozzáadva az AFBC 32×8 textúrázási mód támogatása, amelyet a kimeneti puffer (scan-out buffer) hatékonyabb kezelésére alkalmaznak néhány kijelzővezérlő esetében.
- A maximálisan támogatott textúra szélessége és magassága 8192 pixeltől 32768 pixelre emelkedett.
- Hozzáadva a MTK_FMT_MOD_TILE_16L32S textúrázási mód támogatása, ahol a töredezett adatok a rajzolás előtt egy ideiglenes töredezetlen pufferbe kerülnek (ezt a MediaTek SoC-kben jelen lévő hardveres videodekoderekhez használják).
Forrás: opennet.ru
