W sterowniku PanVK dodano wsparcie dla Vulkan 1.1. Ulepszono sterownik OpenGL Panfrost.

Firma Collabora ogłosiła realizację wsparcia dla graficznego API Vulkan 1.1 w sterowniku PanVK (wcześniej wspierana była tylko wersja Vulkan 1.0). Sterownik zapewnia wsparcie dla graficznego API Vulkan na urządzeniach z GPU ARM opartych na architekturze V10, takich jak Mali-G610 i Mali-G310. Oprócz zgodności z API Vulkan 1.1, kod PanVK zyskał wsparcie dla wielu rozszerzeń z nowszych wersji Vulkan, ale pełna zgodność z Vulkan 1.2 nie została jeszcze osiągnięta. Zrealizowano następujące rozszerzenia:

  • 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

Wsparcie dla Vulkan 1.1 w PanVK zostało już przyjęte do gałęzi, na podstawie której opracowywana jest wersja Mesa 25.0. Dodatkowo, PanVK został wpisany na listę sterowników dostępnych do użytku w Mesa domyślnie (wcześniej PanVK nie był wyświetlany na liście sterowników i jego użycie wymagało ustawienia zmiennej środowiskowej). Na systemach ARM kompilacja PanVK jest domyślnie włączona. Kod do wsparcia poszczególnych rozszerzeń Vulkan 1.2 został przekazany do włączenia w główny skład Mesa.

Dodatkowo zauważono rozszerzenie funkcjonalności otwartego sterownika OpenGL Panfrost, opracowywanego dla GPU ARM Mali równolegle ze sterownikiem Vulkan PanVK:

  • Aby zwiększyć efektywność wykorzystania przepustowości, w sterowniku domyślnie włączono mechanizm 'eliminacji transakcji', który odrzuca zbędne operacje (na przykład odrzucane są operacje nadpisywania fragmentów, które nie zmieniły się od ostatniego renderowania).
  • Dodano wsparcie dla inkrementalnego renderowania, co pozwala na zmniejszenie zużycia pamięci przy renderowaniu dużej liczby obiektów dzięki oddzielnemu przetwarzaniu fragmentów (tile).
  • Dodano wsparcie dla trybu AFBC 32×8, stosowanego do optymalizacji pracy z buforem wyjściowym (scan-out buffer) w niektórych kontrolerach wyświetlaczy.
  • Maksymalna obsługiwana szerokość i wysokość tekstur została zwiększona z 8192 do 32768 pikseli.
  • Dodano wsparcie dla trybu teksturowania MTK_FMT_MOD_TILE_16L32S, w którym fragmentowane dane są kopiowane do tymczasowego niefragmentowanego bufora przed renderowaniem (jest używane do pracy z sprzętowymi dekoderami wideo obecnymi w SoC MediaTek).

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster