ការចេញផ្សាយ Mesa 21.2 ដែលជាការអនុវត្តដោយឥតគិតថ្លៃនៃ OpenGL និង Vulkan

បន្ទាប់ពីបីខែនៃការអភិវឌ្ឍន៍ ការចេញផ្សាយនៃការអនុវត្តដោយឥតគិតថ្លៃនៃ OpenGL និង Vulkan APIs, Mesa 21.2.0 ត្រូវបានបោះពុម្ពផ្សាយ។ ការចេញផ្សាយដំបូងនៃសាខា Mesa 21.2.0 មានស្ថានភាពពិសោធន៍ - បន្ទាប់ពីស្ថេរភាពចុងក្រោយនៃកូដកំណែដែលមានស្ថេរភាព 21.2.1 នឹងត្រូវបានចេញផ្សាយ។

Mesa 21.2 មានការគាំទ្រ OpenGL 4.6 ពេញលេញសម្រាប់ 965, iris (Intel), radeonsi (AMD), zink, និង llvmpipe drivers ។ ការគាំទ្រ OpenGL 4.5 មានសម្រាប់ AMD (r600) និង NVIDIA (nvc0) GPUs និង OpenGL 4.3 សម្រាប់ virgl (GPU និម្មិត Virgil3D សម្រាប់ QEMU/KVM)។ ការគាំទ្រ Vulkan 1.2 មានសម្រាប់កាត Intel និង AMD ក៏ដូចជានៅក្នុងរបៀប emulator (vn) ការគាំទ្រ Vulkan 1.1 មានសម្រាប់ Qualcomm GPUs និង lavapipe software rasterizer និង Vulkan 1.0 សម្រាប់ Broadcom VideoCore VI (Raspberry Pi 4) GPUs ។

ការច្នៃប្រឌិតសំខាន់ៗ៖

  • កម្មវិធីបញ្ជា asahi OpenGL ត្រូវបានរួមបញ្ចូលជាមួយនឹងការគាំទ្រដំបូងសម្រាប់ GPU ដែលត្រូវបានផ្គត់ផ្គង់នៅក្នុងបន្ទះឈីប Apple M1 ។ កម្មវិធីបញ្ជាប្រើចំណុចប្រទាក់ Gallium និងគាំទ្រលក្ខណៈពិសេសភាគច្រើននៃ OpenGL 2.1 និង OpenGL ES 2.0 ប៉ុន្តែមិនទាន់សាកសមសម្រាប់ដំណើរការហ្គេមភាគច្រើននៅឡើយ។ លេខកូដកម្មវិធីបញ្ជាគឺផ្អែកលើកម្មវិធីបញ្ជា Gallium យោង Noop ដោយលេខកូដមួយចំនួនត្រូវបានបញ្ជូនពីកម្មវិធីបញ្ជា Panfrost ដែលត្រូវបានបង្កើតឡើងសម្រាប់ ARM Mali GPU ។
  • កម្មវិធីបញ្ជា Crocus OpenGL រួមបញ្ចូលជាមួយការគាំទ្រសម្រាប់ Intel GPUs ចាស់ៗ (ផ្អែកលើស្ថាបត្យកម្មមីក្រូស្ថាបត្យកម្ម Gen4-Gen7) មិនត្រូវបានគាំទ្រដោយកម្មវិធីបញ្ជា Iris ទេ។ មិនដូចកម្មវិធីបញ្ជា i965 ទេ កម្មវិធីបញ្ជាថ្មីគឺផ្អែកលើស្ថាបត្យកម្ម Gallium3D ដែលផ្តល់ការងារគ្រប់គ្រងអង្គចងចាំខាងក្រៅទៅកាន់កម្មវិធីបញ្ជា DRI នៅក្នុងខឺណែលលីនុច និងផ្តល់នូវកម្មវិធីតាមដានស្ថានភាពដែលត្រៀមរួចជាស្រេចជាមួយនឹងការគាំទ្រសម្រាប់ឃ្លាំងសម្ងាត់ប្រើប្រាស់ឡើងវិញនូវវត្ថុលទ្ធផល។
  • កម្មវិធីបញ្ជា PanVk ត្រូវបានរួមបញ្ចូលដោយផ្តល់នូវការគាំទ្រសម្រាប់ API ក្រាហ្វិក Vulkan សម្រាប់ ARM Mali Midgard និង Bifrost GPUs ។ PanVk ត្រូវ​បាន​បង្កើត​ឡើង​ដោយ​និយោជិត Collabora ហើយ​ត្រូវ​បាន​ចាត់​ទុក​ជា​ការ​បន្ត​នៃ​ការ​អភិវឌ្ឍ​គម្រោង Panfrost ដែល​ផ្តល់​ការ​គាំទ្រ​សម្រាប់ OpenGL ។
  • កម្មវិធីបញ្ជា Panfrost សម្រាប់ GPU Midgard (Mali T760 និងថ្មីជាងនេះ) និង GPU Bifrost (Mali G31, G52, G76) គាំទ្រ OpenGL ES 3.1 ។ ផែនការបន្ថែមរួមមានការងារដើម្បីបង្កើនដំណើរការលើបន្ទះឈីប Bifrost និងការគាំទ្រសម្រាប់ GPUs ដោយផ្អែកលើស្ថាបត្យកម្ម Valhall (Mali G77 និងថ្មីជាងនេះ)។
  • ការបង្កើត 32 ប៊ីតសម្រាប់ស្ថាបត្យកម្ម x86 ប្រើការណែនាំ sse87 ជំនួសឱ្យការណែនាំ x2 សម្រាប់ការគណនាគណិតវិទ្យា។
  • កម្មវិធីបញ្ជា Nouveau nv50 សម្រាប់ NVIDIA GT21x GPU (GeForce GT 2x0) គាំទ្រ OpenGL ES 3.1 ។
  • កម្មវិធីបញ្ជា TURNIP Vulkan និងកម្មវិធីបញ្ជា Freedreno OpenGL ដែលត្រូវបានបង្កើតឡើងសម្រាប់ GPUs Qualcomm Adreno មានការគាំទ្រដំបូងសម្រាប់ GPUs Adreno a6xx gen4 (a660, a635) ។
  • ការ​គាំទ្រ​សម្រាប់​ការ​កាត់​បឋម​ដោយ​ប្រើ​ម៉ាស៊ីន​ស្រមោល NGG (Next-Gen Geometry) ត្រូវ​បាន​បន្ថែម​ទៅ​កម្មវិធី​បញ្ជា RADV (AMD) Vulkan ។ បានអនុវត្តសមត្ថភាពក្នុងការបង្កើតកម្មវិធីបញ្ជា RADV នៅលើវេទិកាវីនដូដោយប្រើកម្មវិធីចងក្រង MSVC ។
  • កម្មវិធីបញ្ជា ANV Vulkan (Intel) និងកម្មវិធីបញ្ជា Iris OpenGL បានត្រៀមលក្ខណៈដើម្បីគាំទ្រកាតក្រាហ្វិក Intel Xe-HPG (DG2) នាពេលខាងមុខ។ នេះរួមបញ្ចូលទាំងលក្ខណៈពិសេសដំបូងដែលទាក់ទងនឹងការតាមដានកាំរស្មី និងការគាំទ្រស្រមោលសម្រាប់ការតាមដានកាំរស្មី។
  • កម្មវិធីបញ្ជា lavapipe ជាមួយនឹងការអនុវត្តកម្មវិធី rasterizer សម្រាប់ Vulkan API (ស្រដៀងទៅនឹង llvmpipe ប៉ុន្តែសម្រាប់ Vulkan ដែលបកប្រែការហៅ Vulkan API ទៅ Gallium API) គាំទ្ររបៀប "wideLines" (ផ្តល់ការគាំទ្រសម្រាប់បន្ទាត់ដែលមានទទឹងធំជាង 1.0 )
  • បានអនុវត្តការគាំទ្រសម្រាប់ការរកឃើញថាមវន្ត និងការផ្ទុកផ្នែកខាងក្រោយ GBM (Generic Buffer Manager) ជំនួស។ ការផ្លាស់ប្តូរនេះមានគោលបំណងធ្វើឱ្យប្រសើរឡើងនូវការគាំទ្រ Wayland លើប្រព័ន្ធជាមួយនឹងកម្មវិធីបញ្ជា NVIDIA ។
  • កម្មវិធីបញ្ជា Zink (ការអនុវត្ត OpenGL API នៅលើកំពូល Vulkan ដែលអនុញ្ញាតឱ្យអ្នកទទួលបាន Hardware បង្កើនល្បឿន OpenGL នៅពេលដែលប្រព័ន្ធមានកម្មវិធីបញ្ជាដែលកំណត់ឱ្យគាំទ្រតែ Vulkan API ប៉ុណ្ណោះ) គាំទ្រផ្នែកបន្ថែម OpenGL GL_ARB_sample_locations, GL_ARB_sparse_buffer, GL_ARB_shader_group_shate_min, GL_ARB_shader_group_shate, . បានបន្ថែមកម្មវិធីកែប្រែទម្រង់ DRM (កម្មវិធីគ្រប់គ្រងការបង្ហាញដោយផ្ទាល់ រួមបញ្ចូលផ្នែកបន្ថែម VK_EXT_image_drm_format_modifier)។
  • បានបន្ថែមការគាំទ្រសម្រាប់ផ្នែកបន្ថែមទៅ RADV (AMD), ANV (Intel) និងកម្មវិធីបញ្ជា lavapipe Vulkan៖
    • VK_EXT_provoking_vertex (RADV);
    • VK_EXT_extended_dynamic_state2 (RADV);
    • VK_EXT_global_priority_query (RADV);
    • VK_EXT_physical_device_drm (RADV);
    • VK_KHR_shader_subgroup_uniform_control_flow (RADV, ANV);
    • VK_EXT_color_write_enable (RADV);
    • VK_EXT_acquire_drm_display (RADV, ANV);
    • VK_EXT_vertex_input_dynamic_state(lavapipe);
    • VK_EXT_line_rasterization(lavapipe);
    • VK_EXT_multi_draw(ANV, lavapipe, RADV);
    • VK_KHR_separate_depth_stencil_layouts (lavapipe);
    • VK_EXT_separate_stencil_usage(lavapipe);
    • VK_EXT_extended_dynamic_state2 (lavapipe) ។

ប្រភព: opennet.ru

បន្ថែមមតិយោបល់