{"id":107076,"date":"2023-03-03T12:48:20","date_gmt":"2023-03-03T10:48:20","guid":{"rendered":"https:\/\/prohoster.info\/?p=107076"},"modified":"2023-03-03T23:49:33","modified_gmt":"2023-03-03T21:49:33","slug":"pererabotka-drajvera-vgem-na-yazyke-rust","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/news\/pererabotka-drajvera-vgem-na-yazyke-rust","title":{"rendered":"\u00dcberarbeitung des VGEM-Treibers in Rust","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ma\u00edra Canal von Igalia hat ein Projekt zur Neuschreibung des VGEM (Virtual GEM Provider) Treibers in Rust vorgestellt. VGEM umfasst etwa 400 Codezeilen und bietet ein hardwareunabh\u00e4ngiges Backend f\u00fcr GEM (Graphics Execution Manager), das f\u00fcr den gemeinsamen Zugriff auf die Puffer von Treibern f\u00fcr Software-3D-Ger\u00e4te wie LLVMpipe verwendet wird, um die Leistung der Software-Rasterisierung zu verbessern.      <\/p>\n<p>VGEM wird der zweite grafische Treiber in Rust sein, der auf Kernel-Ebene arbeitet (der erste war der DRM-Treiber (Direct Rendering Manager) Asahi f\u00fcr die GPU Apple AGX, die in Apple M1\/M2-Chips verwendet wird). Bei der Entwicklung war es notwendig, neue Bindungen zu schaffen, um aus Rust-Code mit der Plattformhardware, dem XArray-Typ und den mit dem direkten Zugriff auf den Speicher verbundenen Abstraktionen, wie z.B. DMA-Barrieren (DMA fences), zu arbeiten. In der aktuellen Entwicklungsphase ist der Treiber nahezu fertig, hat die meisten IGT-Tests bestanden, mit Ausnahme von zwei Pr\u00fcfungen (vgem_slow und vgem_basic@unload), ben\u00f6tigt jedoch noch Unterst\u00fctzung f\u00fcr IOCTL.<br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=58735\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u0430\u0439\u0440\u0430 \u041a\u0430\u043d\u0430\u043b (Ma&#237;ra Canal) \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Igalia \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0430 \u043f\u0440\u043e\u0435\u043a\u0442 \u043f\u043e \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u043d\u0438\u044e \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 VGEM (Virtual GEM Provider) \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust. VGEM \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043e\u043a\u043e\u043b\u043e 400 \u0441\u0442\u0440\u043e\u043a \u043a\u043e\u0434\u0430 \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0435 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0439 \u043a \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044e \u0431\u044d\u043a\u0435\u043d\u0434 GEM (Graphics Execution Manager), \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u0434\u043b\u044f \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0435\u043c\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0431\u0443\u0444\u0435\u0440\u0430\u043c \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0445 3D-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a LLVMpipe, \u0441 \u0446\u0435\u043b\u044c\u044e \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0439 \u0440\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0438. VGEM [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-107076","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041c\u0430\u0439\u0440\u0430 \u041a\u0430\u043d\u0430\u043b (Ma\u00edra Canal) \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Igalia \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0430 \u043f\u0440\u043e\u0435\u043a\u0442 \u043f\u043e \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u043d\u0438\u044e \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 VGEM (Virtual GEM Provider) \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/news\/pererabotka-drajvera-vgem-na-yazyke-rust\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0435\u0440\u0435\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 VGEM \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041c\u0430\u0439\u0440\u0430 \u041a\u0430\u043d\u0430\u043b (Ma\u00edra Canal) \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Igalia \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0430 \u043f\u0440\u043e\u0435\u043a\u0442 \u043f\u043e \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u043d\u0438\u044e \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 VGEM (Virtual GEM Provider) \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/news\/pererabotka-drajvera-vgem-na-yazyke-rust\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2023-03-03T10:48:20+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-03-03T21:49:33+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47\u00dcberarbeitung des VGEM-Treibers in Rust | ProHoster","description":"Ma\u00edra Canal von Igalia stellte ein Projekt zur Neuschreibung des VGEM (Virtual GEM Provider)-Treiber in Rust vor.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/news\/pererabotka-drajvera-vgem-na-yazyke-rust","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0435\u0440\u0435\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 VGEM \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust | ProHoster","og:description":"\u041c\u0430\u0439\u0440\u0430 \u041a\u0430\u043d\u0430\u043b (Ma\u00edra Canal) \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Igalia \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0430 \u043f\u0440\u043e\u0435\u043a\u0442 \u043f\u043e \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u043d\u0438\u044e \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 VGEM (Virtual GEM Provider) \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.","og:url":"https:\/\/prohoster.info\/de\/blog\/news\/pererabotka-drajvera-vgem-na-yazyke-rust","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2023-03-03T10:48:20+00:00","article:modified_time":"2023-03-03T21:49:33+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/107076","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=107076"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/107076\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=107076"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=107076"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=107076"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}