Grafîk standard Vulkan 1.3 hate weşandin

Piştî xebata du salan, konsorsiyuma standardên grafîkê Khronos taybetmendiya Vulkan 1.3 weşand, ku API-yek ji bo gihîştina grafîk û kapasîteyên hesabkirinê yên GPU-yê diyar dike. Taybetmendiya nû rastkirin û dirêjkirinên ku di du salan de hatine berhev kirin vedihewîne. Tê zanîn ku hewcedariyên taybetmendiya Vulkan 1.3 ji bo alavên grafîkê yên pola OpenGL ES 3.1 hatine sêwirandin, ku dê di hemî GPU-yên ku Vulkan 1.2 piştgirî dikin de piştgirî ji API-ya grafîkî ya nû re misoger bike. Amûrên Vulkan SDK têne plan kirin ku di nîvê Sibatê de bêne weşandin. Ji bilî taybetmendiya sereke, tê plan kirin ku ji bo cîhazên mobîl û sermaseyê yên navîn û bilind-end, ku dê wekî beşek ji çapa "Vulkan Milestone" were piştgirî kirin, pêvekên din pêşkêşî bikin.

Di heman demê de, planek ji bo pêkanîna piştgirî ji bo taybetmendiya nû û pêvekên din ên di kartên grafîk û ajokarên cîhazê de tê pêşkêş kirin. Intel, AMD, ARM û NVIDIA xwe amade dikin ku hilberên ku Vulkan 1.3 piştgirî dikin berdin. Mînakî, AMD ragihand ku ew ê di demek nêzîk de piştgirî bide Vulkan 1.3 di rêza kartên grafîkî yên AMD Radeon RX Vega de, û her weha di hemî qertên ku li ser bingeha mîmariya AMD RDNA-yê ne. NVIDIA xwe amade dike ku ajokarên bi piştgirîya Vulkan 1.3 ji bo Linux û Windows çap bike. ARM dê piştgiriya Vulkan 1.3 li GPU-yên Mali zêde bike.

Nûvekirinên sereke:

  • Piştgiriya ji bo derbasbûnên renderkirinê yên sade (Rêvekirina Derbasbûnên Renderkirinê, VK_KHR_dynamic_rendering) hatîye bicîh kirin, ku dihêle hûn bêyî çêkirina derbasbûnên renderkirinê û tiştên framebufferê dest bi renderkirinê bikin.
  • Zêdekirinên nû hatine zêdekirin da ku rêveberiya berhevkirina lûleya grafîkê hêsan bikin (boriyek, komek operasyonan ku primîtîv û tevnvîsên grafîkên vektorî vediguherîne temsîla pixel).
    • VK_EXT_extended_dynamic_state, VK_EXT_extended_dynamic_state2 - rewşên dînamîkî yên din lê zêde bikin da ku hejmara tiştên dewletê yên berhevkirî û pêvekirî kêm bikin.
    • VK_EXT_pipeline_creation_cache_control - Kontrolên pêşkeftî li ser kengê û çawa boriyan têne berhev kirin peyda dike.
    • VK_EXT_pipeline_creation_feedback - Agahdariya li ser lûleyên berhevkirî peyda dike da ku profîlkirin û xeletkirin hêsantir bike.
  • Gelek taybetmendî ji vebijarkî bo mecbûrî hatine veguheztin. Mînakî, pêkanîna referansên tamponê (VK_KHR_buffer_device_address) û modela bîranîna Vulkan, ku diyar dike ka tîrêjên hevdem çawa dikarin bigihîjin daneya hevbeş û operasyonên hevdemkirinê, naha mecbûrî ne.
  • Kontrola binekomê ya birêkûpêk (VK_EXT_subgroup_size_control) tê peyda kirin da ku firoşkar dikarin ji bo gelek mezinahiyên binkomê piştgirî peyda bikin û pêşdebiran dikarin mezinahiya ku hewce dikin hilbijêrin.
  • Berfirehkirina VK_KHR_shader_integer_dot_product hatiye peyda kirin, ku dikare were bikar anîn da ku performansa çarçoveyên fêrbûna makîneyê xweştir bike bi saya bilezkirina hardware ya karûbarên hilbera xalî.
  • Bi tevahî 23 berfirehkirinên nû hene:
    • VK_KHR_copy_commands2
    • VK_KHR_dynamic_rendering
    • VK_KHR_format_feature_flags2
    • VK_KHR_maintenance4
    • VK_KHR_shader_integer_dot_product
    • VK_KHR_shader_non_semantic_info
    • VK_KHR_shader_terminate_invocation
    • VK_KHR_synchronization2
    • VK_KHR_zero_initialize_workgroup_memory
    • VK_EXT_4444_format
    • VK_EXT_extended_dynamic_state
    • VK_EXT_extended_dynamic_state2
    • VK_EXT_bustness_image
    • VK_EXT_inline_uniform_block
    • VK_EXT_pipeline_creation_cache_control
    • VK_EXT_pipeline_creation_feedback
    • VK_EXT_Diyeta_rizaniyê
    • VK_EXT_shader_demote_to_helîk_vexwendinê
    • VK_EXT_subgroup_size_control
    • VK_EXT_texel_buffer_alignment
    • VK_EXT_texture_compression_astc_hdr
    • VK_EXT_tooling_info
    • VK_EXT_ycbcr_2plane_444_formats
  • Tîpa tiştên nû VkPrivateDataSlot lê zêde kir. 37 fermanên nû û zêdetirî 60 avahî hatin bicihanîn.
  • Taybetmendiya SPIR-V 1.6 hate nûve kirin da ku nûneriyek şader a navîn ku ji bo hemî platforman gerdûnî ye û hem ji bo grafîk û hem jî ji bo hesabkirina paralel were bikar anîn destnîşan bike. SPIR-V veqetandina qonaxek berhevkirina şaderê ya veqetandî di nav nûneriyek navîn de vedihewîne, ku dihêle hûn ji bo zimanên cihêreng ên asta bilind pêşekan biafirînin. Li ser bingeha cûrbecûr pêkanînên astek bilind, kodek navberek yekane ji hev veqetandî tê hilberandin, ku dikare ji hêla ajokarên OpenGL, Vulkan û OpenCL ve bêyî karanîna berhevkarê shader-ê çêkirî were bikar anîn.
  • Têgeha profîlên lihevhatinê tê pêşniyar kirin. Google yekem e ku profîlek bingehîn ji bo platforma Android-ê derxistiye, ku dê hêsantir bike ku asta piştevaniya ji bo kapasîteyên pêşkeftî yên Vulkan-ê li ser amûrek ku ji taybetmendiya Vulkan 1.0 wêdetir diyar bike. Ji bo pir cîhazan, piştgiriya profîlê bêyî sazkirina nûvekirinên OTA dikare were peyda kirin.

Werin em bînin bîra xwe ku Vulkan API ji ber hêsankirina radîkal a ajokaran, veguheztina nifşê fermanên GPU-yê ji alîyê serîlêdanê, şiyana girêdana qatên debugkirinê, yekbûna API-yê ji bo platformên cihêreng û karanîna pêşnumayek balkêş e. nûnertiya navîn a kodê ji bo darvekirinê li aliyê GPU. Ji bo dabînkirina performansa bilind û pêşbîniyê, Vulkan serîlêdanan bi kontrolek rasterast li ser operasyonên GPU û piştgiriya xwemalî ya ji bo pir-têlankirina GPU peyda dike, ku serkêşiya ajokerê kêm dike û kapasîteyên aliyê ajokerê pir hêsan û pêşbîntir dike. Mînakî, operasyonên wekî rêveberiya bîranînê û birêvebirina xeletiyê, ku di OpenGL-ê de li milê ajokerê têne bicîh kirin, li Vulkan diçin asta serîlêdanê.

Vulkan hemî platformên berdest vedigire û ji bo sermaseyê, mobîl, û tevneyê yek API peyda dike, ku dihêle yek API-ya hevpar li ser gelek GPU û serîlêdanan were bikar anîn. Spas ji mîmariya pir-qatî ya Vulkan, ku tê vê wateyê ku amûrên ku bi her GPU-yê re dixebitin, OEM dikarin di dema pêşkeftinê de ji bo vekolîna kodê, debugkirin û profîlan amûrên standard-pîşesaziyê bikar bînin. Ji bo afirandina shaderan, nûneriyek nû ya navbeynkar, SPIR-V, tê pêşniyar kirin, li ser bingeha LLVM û parvekirina teknolojiyên bingehîn bi OpenCL re. Ji bo kontrolkirina amûr û ekranan, Vulkan navbeynkariya WSI (Integrasyona Pergala Paceyê) pêşkêşî dike, ku bi qasî heman pirsgirêkan wekî EGL di OpenGL ES de çareser dike. Piştgiriya WSI li Wayland-ê ji hundurê qutiyê peyda dibe - hemî serîlêdanên ku Vulkan bikar tînin dikarin di hawîrdorek serverên Wayland-ê yên neguhêrbar de bixebitin. Hêza xebitandina bi WSI ji bo Android, X11 (bi DRI3), Windows, Tizen, macOS û iOS jî tê peyda kirin.

Source: opennet.ru

Add a comment