NVK û Zink bi ajokarên vekirî yên ji bo GPU-yên NVIDIA re rewş bi girîngî çêtir kirine

Collabora ragihand ku wê ajokera vekirî ya NVK-ê ji bo kartên vîdyoyê NVIDIA-ya ku ji bo karanîna rojane ji hêla pirfireh bikarhêneran ve amade ye aniye û ev ajokar di konsorsiyuma Khronos de, ku standardên grafîkê pêşve dixe, pejirand. Ajokar bi taybetî bi Vulkan 1.3 re bi tevahî hevaheng tê nas kirin, hemî ceribandinên ji CTS (Khronos Conformance Test Suite) bi serfirazî derbas kiriye û di navnîşa ajokarên pejirandî de ye.

Sertîfîka ji bo GPUyên NVIDIA li ser bingeha mîkroarchitekturên Turing (GeForce GTX 16xx, RTX 20xx û Quadro RTX series), Ampere (GeForce RTX 30xx û RTX A2000/4000/5000/6000 RTX, û RTX 4) temam bûye FF , RTX 4000xxx/4/5000 Ada). Test li hawîrdorek bi kernel Linux 6000 û 6.5rc6.8 hate kirin. Bidestxistina sertîfîkayê dihêle hûn bi fermî lihevhatina bi standardên grafîkê re ragihînin û nîşanên bazirganî yên Khronos-ê yên têkildar bikar bînin. Guhertin jixwe di bingeha koda Mesa de hatine pejirandin û dê bibin beşek ji serbestberdana Mesa 1.

Ji bilî çêtirkirinên di NVK de, di peydakirina piştgiriya OpenGL de ji bo kartên vîdyoyê NVIDIA pêşkeftinek girîng heye. Mesa guherînek pejirand ku destûrê dide karanîna ajokera Zink ji bo piştgirîkirina OpenGL 4.6 li ser pergalên bi rêzikên nû yên kartên vîdyoyê yên NVIDIA (bi GeForce RTX 20xx dest pê dike), ku dibe ku di ajokera stock Nouveau OpenGL (NVC0) de pirsgirêkan peyda bike. Ji bo çalakkirina Zink li şûna NVC0 di Mesa 24.1 de, tenê guhêrbara jîngehê "NOUVEAU_USE_ZINK=1" saz bikin.

Guhertinên ku li Mesa hatine çêkirin di heman demê de şiyana karanîna Zink peyda dike da ku OpenGL di ajokarên din de piştgirî bike wekî paşvegerek ji bo GPU-yên ku ji hêla ajokarên OpenGL-ya xwecihî ya Mesa-yê ve nayê piştgirî kirin. Mînakî, nêzîkatiyek wusa jixwe tê bikar anîn da ku piştgirîya OpenGL di ajokera freedreno de ji bo Qualcomm Adreno 700 GPU û ajokera powervr-ê ji bo Imagination PowerVR GPU-ya ku li ser bingeha mîkroarchitectura Rogue-yê ye peyda bike.

Zink li ser Vulkan pêkanîna OpenGL peyda dike ku destûrê dide te ku hûn OpenGL-ya bilez a hardware li ser cîhazên ku tenê API-ya Vulkan piştgirî dikin bistînin. Di serbestberdana din a Mesa de, ajokera Zink dê dema ku ava dike ji hêla xwerû ve were çalak kirin. Performansa Zink nêzîkê performansa pêkanînên OpenGL-ya xwemalî ye, ku ev gengaz dike, li şûna windakirina çavkaniyan li ser domandina ajokarên OpenGL-ê yên takekesî, balê bikişîne ser piştevaniya kalîteya bilind a ji bo Vulkan API, û pêkanîna piştgiriya OpenGL li ser Vulkan.

Hê jî planek tune ku ajokarê Nouveau OpenGL-ya kevn jê bibe, lê di forma xweya heyî de hevberdana Zink + NVK di gelek ceribandinan de performansa bilindtir nîşan dide. Di qonaxa pêşkeftinê ya heyî de, dema ku gelek lîstikan dimeşînin, kombînasyona Zink + NVK dihêle hûn li ser modelên nû yên GPU performansa 60 FPS û bilindtir bi dest bixin, lê hîn jî hin pirsgirêkên neçareserkirî û deverên nebaş hene ku dê bi demê re werin çareser kirin.

Di heman demê de hate destnîşan kirin xebatek ji bo stabîlkirina xebata qata DXVK-ê li ser ajokera NVK-ê, ku pêkanîna Direct3D 9, 10 û 11 peyda dike, ku bi wergerandina bangên ji Vulkan API re dixebite. Hemî lîstikên D3D11 hîna ne garantî ne ku bi kombînasyona neguhêrbar NVK + DXVK ji Mesa re bixebitin, lê kapasîteyên bingehîn hene û kêmasiyên naskirî hêdî hêdî têne rakirin. Bi vî rengî, pêwendiya NVK-ê bi VKD3D-Proton re tê pêşve xistin da ku piştgirî ji D3D12 re peyda bike, lê statûya wê hîn jî li pişt NVK + DXVK ye û pêdivî ye ku hin kapasîteyên wenda werin bicîh kirin.

Ajokarê NVK-ê ji sifirê ve ji hêla tîmek ku di nav de Karol Herbst (pêşdebirê Nouveau li Red Hat), David Airlie (parêzkerê DRM li Red Hat), û Jason/Faith Ekstrand (pêşvebirê Mesa-ya çalak) ji Collabora-yê ve hatî çêkirin. Dema ku ajokerê diafirînin, pêşdebiran pelên sernavê yên fermî û modulên kernelê yên ku ji hêla NVIDIA ve hatine weşandin bikar anîn. Koda NVK-ê hin hêmanên bingehîn ên ajokera Nouveau OpenGL li hin cihan bikar anî, lê ji ber cûdahiyên navên di pelên sernavê NVIDIA û navên berevajîkirî yên li Nouveau de, deynkirina rasterast ya kodê dijwar e û bi piranî. diviyabû gelek tişt ji nû ve bihatana fikirîn û ji nû ve bihatana bicihanîn .

Pêşveçûn bi çavek ji bo afirandina ajokerek Vulkan-a referansa nû ya ji bo Mesa, ku koda wê dema afirandina ajokarên din were deyn kirin, hate kirin. Ji bo vê yekê, dema ku li ser ajokera NVK dixebitin, wan hewl da ku hemî ezmûna heyî ya di pêşvebirina ajokarên Vulkan de li ber çavan bigirin, bingeha kodê di forma çêtirîn de biparêzin û veguheztina kodê ji ajokarên din ên Vulkan kêm bikin, wekî ku divê ji bo bikin. Karê çêtirîn û kalîteya bilind, û ne bi korbûyî kopîkirina çawa di ajokarên din de tê kirin. Ajokar jixwe di Mesa-yê de ye, û guhertinên pêwîst ên API-ya ajokera Nouveau DRM-ê di kernel Linux 6.6 de cih digirin.

Source: opennet.ru

Add a comment