Collabora hà annunziatu chì u driver PanVK supporta avà l'API grafica Vulkan 1.1 (precedentemente solu Vulkan 1.0 era supportatu). U driver furnisce supportu per l'API grafica Vulkan in i dispositi cù GPU ARM basati nantu à l'architettura V10, cum'è Mali-G610 è Mali-G310. In più di a cumpatibilità cù l'API Vulkan 1.1, u codice PanVK hà aghjustatu supportu per parechje estensioni da e versioni più recenti di Vulkan, ma a cumpatibilità cumpleta cù Vulkan 1.2 ùn hè ancu stata ottenuta. E seguenti estensioni sò state implementate:
- VK_KHR_8bit_storage
- VK_KHR_allocazione_dedicata
- VK_KHR_priorità_global
- 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_formati
- VK_EXT_global_priority_query
- VK_EXT_priorità_globali
- VK_EXT_host_query_reset
- VK_EXT_image_robustezza
- VK_EXT_pipeline_robustezza
- VK_EXT_provoking_vertice
- 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
U supportu Vulkan 1.1 in PanVK hè digià statu accettatu in u ramu nantu à quale a liberazione Mesa 25.0 hè sviluppata. Inoltre, PanVK hè inclusu in a lista di cunduttori dispunibuli per l'utilizazione in Mesa per difettu (precedentemente PanVK ùn era micca affissatu in a lista di cunduttori è una variabile di l'ambienti deve esse stabilita per aduprà). Nantu à i sistemi ARM, a custruzione PanVK hè attivata per automaticamente. U codice per sustene l'estensioni individuali di Vulklan 1.2 hè statu cuntribuitu à u core Mesa.
Inoltre, a funziunalità di u driver OpenGL Open Panfrost, chì hè sviluppatu per a GPU ARM Mali in parallelu cù u driver Vulkan PanVK, hè stata allargata:
- Per migliurà l'efficienza di a larghezza di banda, u cunduttore hà un mecanismu di "eliminazione di transazzione" attivatu per difettu, chì scarta l'operazioni redundante (per esempiu, l'operazioni per riscrive i frammenti chì ùn anu micca cambiatu da l'ultimu rendering sò scartati).
- Aghjunghje un supportu per a rendering incrementale, chì permette di riduce u cunsumu di memoria quandu rende un gran numaru d'uggetti processendu tile separatamente.
- Aghjunghje supportu per u modu AFBC 32x8, utilizatu per ottimisà u travagliu cù u buffer di scansione in certi controller di visualizazione.
- A larghezza massima è l'altezza di a struttura supportata hè stata aumentata da 8192 à 32768 pixel.
- Aghjunghje supportu per u modu di testurizazione MTK_FMT_MOD_TILE_16L32S, chì copia dati frammentati in un buffer temporale senza frammentazione prima di rende (adupratu per travaglià cù decodificatori video hardware presenti in MediaTek SoCs).
Source: opennet.ru
