{"id":99407,"date":"2021-03-11T10:22:40","date_gmt":"2021-03-11T08:22:40","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/realizacziya-opengl-poverh-directx-dostigla-sovmestimosti-s-opengl-3-3-i-prinyata-v-sostav-mesa"},"modified":"2021-03-11T10:22:40","modified_gmt":"2021-03-11T08:22:40","slug":"realizacziya-opengl-poverh-directx-dostigla-sovmestimosti-s-opengl-3-3-i-prinyata-v-sostav-mesa","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/news\/realizacziya-opengl-poverh-directx-dostigla-sovmestimosti-s-opengl-3-3-i-prinyata-v-sostav-mesa","title":{"rendered":"Wdra\u017canie OpenGL na DirectX osi\u0105gn\u0119\u0142o kompatybilno\u015b\u0107 z OpenGL 3.3 i zosta\u0142o przyj\u0119te do Mesa.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Firma Collabora og\u0142osi\u0142a przyj\u0119cie do g\u0142\u00f3wnego sk\u0142adu Mesa sterownika Gallium D3D12, kt\u00f3ry implementuje warstw\u0119 umo\u017cliwiaj\u0105c\u0105 dzia\u0142anie OpenGL na API DirectX 12 (D3D12). Jednocze\u015bnie og\u0142oszono, \u017ce sterownik pomy\u015blnie przeszed\u0142 testy zgodno\u015bci z OpenGL 3.3 dzia\u0142aj\u0105c na sterownikach D3D12 WARP (programowy rasteryzator) oraz NVIDIA.        <\/p>\n<p>Sterownik mo\u017ce by\u0107 przydatny do korzystania z Mesa na urz\u0105dzeniach z sterownikami obs\u0142uguj\u0105cymi jedynie D3D12, a tak\u017ce jako punkt wyj\u015bcia do portowania aplikacji OpenGL do pracy na API D3D12. W tym r\u00f3wnie\u017c sterownik mo\u017cna b\u0119dzie u\u017cywa\u0107 do organizacji pracy aplikacji graficznych w \u015brodowiskach zarz\u0105dzanych przez subsystem WSL (Windows Subsystem for Linux), kt\u00f3ry umo\u017cliwia uruchamianie plik\u00f3w wykonywalnych Linuksa w systemie Windows.       <\/p>\n<p>Rozw\u00f3j odbywa si\u0119 we wsp\u00f3\u0142pracy z in\u017cynierami Microsoftu, kt\u00f3rzy opracowuj\u0105 otwarte narz\u0119dzia D3D11On12 do przekszta\u0142cania gier z D3D11 na D3D12 oraz bibliotek\u0119 D3D12TranslationLayer, implementuj\u0105c\u0105 standardowe prymitywy graficzne na bazie D3D12. Na podstawie omawianego projektu firma Microsoft ju\u017c przygotowa\u0142a warstw\u0119, kt\u00f3ra umo\u017cliwia uruchamianie aplikacji opartych na OpenGL na urz\u0105dzeniach z systemem Windows, kt\u00f3re nie zapewniaj\u0105 pe\u0142nej obs\u0142ugi OpenGL. Uda\u0142o si\u0119, w szczeg\u00f3lno\u015bci, zrealizowa\u0107 dzia\u0142anie programu Photoshop na urz\u0105dzeniach z Windows i procesorami ARM.          <\/p>\n<p>Implementacja obejmuje sterownik dla Mesa oraz kompilator shader\u00f3w NIR-to-DXIL (runtime D3D12), przekszta\u0142caj\u0105cy u\u017cywane w Mesa po\u015brednie reprezentacje shader\u00f3w NIR do binarnego formatu DXIL (DirectX Intermediate Language), obs\u0142ugiwanego w DirectX 12 i opartego na kodzie LLVM 3.7 (kompilator shader\u00f3w DirectX od Microsoftu jest ga\u0142\u0119zi\u0105 LLVM 3.7). Sterownik dla Mesa wykorzystuje interfejs Gallium, przyjmuje polecenia OpenGL i przy pomocy translatora NIR-to-DXIL formuje polecenia D3D12, kt\u00f3re s\u0105 wykonywane na GPU za po\u015brednictwem systemowego sterownika D3D12. Osobno rozwijane s\u0105 komponenty, kt\u00f3re zapewniaj\u0105 wsparcie dla OpenCL na D3D12, w tym kompilator OpenCL oraz runtime OpenCL.<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=54737\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Collabora \u0441\u043e\u043e\u0431\u0449\u0438\u043b\u0430 \u043e \u043f\u0440\u0438\u043d\u044f\u0442\u0438\u0438 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0441\u043e\u0441\u0442\u0430\u0432 Mesa Gallium-\u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 D3D12, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0435\u0433\u043e \u043f\u0440\u043e\u0441\u043b\u043e\u0439\u043a\u0443 \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b OpenGL \u043f\u043e\u0432\u0435\u0440\u0445 API DirectX 12 (D3D12). \u041e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043e \u043e\u0431 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u043c \u043f\u0440\u043e\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u043c \u0442\u0435\u0441\u0442\u043e\u0432 \u043d\u0430 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c \u0441 OpenGL 3.3 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u043f\u043e\u0432\u0435\u0440\u0445 D3D12-\u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 WARP (\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u0440\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0442\u043e\u0440) \u0438 NVIDIA. \u0414\u0440\u0430\u0439\u0432\u0435\u0440 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u043b\u0435\u0437\u0435\u043d \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f Mesa \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u0441 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430\u043c\u0438, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u043c\u0438 [&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-99407","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Collabora \u0441\u043e\u043e\u0431\u0449\u0438\u043b\u0430 \u043e \u043f\u0440\u0438\u043d\u044f\u0442\u0438\u0438 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0441\u043e\u0441\u0442\u0430\u0432 Mesa Gallium-\u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 D3D12, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0435\u0433\u043e \u043f\u0440\u043e\u0441\u043b\u043e\u0439\u043a\u0443 \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b OpenGL \u043f\u043e\u0432\u0435\u0440\u0445 API DirectX 12 (D3D12).\" \/>\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\/pl\/blog\/news\/realizacziya-opengl-poverh-directx-dostigla-sovmestimosti-s-opengl-3-3-i-prinyata-v-sostav-mesa\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\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\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f OpenGL \u043f\u043e\u0432\u0435\u0440\u0445 DirectX \u0434\u043e\u0441\u0442\u0438\u0433\u043b\u0430 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0441 OpenGL 3.3 \u0438 \u043f\u0440\u0438\u043d\u044f\u0442\u0430 \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 Mesa | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Collabora \u0441\u043e\u043e\u0431\u0449\u0438\u043b\u0430 \u043e \u043f\u0440\u0438\u043d\u044f\u0442\u0438\u0438 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0441\u043e\u0441\u0442\u0430\u0432 Mesa Gallium-\u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 D3D12, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0435\u0433\u043e \u043f\u0440\u043e\u0441\u043b\u043e\u0439\u043a\u0443 \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b OpenGL \u043f\u043e\u0432\u0435\u0440\u0445 API DirectX 12 (D3D12).\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/news\/realizacziya-opengl-poverh-directx-dostigla-sovmestimosti-s-opengl-3-3-i-prinyata-v-sostav-mesa\" \/>\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=\"2021-03-11T08:22:40+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-03-11T08:22:40+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 Realizacja OpenGL na DirectX osi\u0105gn\u0119\u0142a zgodno\u015b\u0107 z OpenGL 3.3 i zosta\u0142a w\u0142\u0105czona do Mesa | ProHoster","description":"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Collabora \u0441\u043e\u043e\u0431\u0449\u0438\u043b\u0430 \u043e \u043f\u0440\u0438\u043d\u044f\u0442\u0438\u0438 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0441\u043e\u0441\u0442\u0430\u0432 Mesa Gallium-\u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 D3D12, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0435\u0433\u043e \u043f\u0440\u043e\u0441\u043b\u043e\u0439\u043a\u0443 \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b OpenGL \u043f\u043e\u0432\u0435\u0440\u0445 API DirectX 12 (D3D12).","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/realizacziya-opengl-poverh-directx-dostigla-sovmestimosti-s-opengl-3-3-i-prinyata-v-sostav-mesa","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","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\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f OpenGL \u043f\u043e\u0432\u0435\u0440\u0445 DirectX \u0434\u043e\u0441\u0442\u0438\u0433\u043b\u0430 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0441 OpenGL 3.3 \u0438 \u043f\u0440\u0438\u043d\u044f\u0442\u0430 \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 Mesa | ProHoster","og:description":"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Collabora \u0441\u043e\u043e\u0431\u0449\u0438\u043b\u0430 \u043e \u043f\u0440\u0438\u043d\u044f\u0442\u0438\u0438 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0441\u043e\u0441\u0442\u0430\u0432 Mesa Gallium-\u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 D3D12, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0435\u0433\u043e \u043f\u0440\u043e\u0441\u043b\u043e\u0439\u043a\u0443 \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b OpenGL \u043f\u043e\u0432\u0435\u0440\u0445 API DirectX 12 (D3D12).","og:url":"https:\/\/prohoster.info\/pl\/blog\/news\/realizacziya-opengl-poverh-directx-dostigla-sovmestimosti-s-opengl-3-3-i-prinyata-v-sostav-mesa","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":"2021-03-11T08:22:40+00:00","article:modified_time":"2021-03-11T08:22:40+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"99407","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-11 08:28:23","updated":"2022-10-04 02:14:35","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/99407","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=99407"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/99407\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=99407"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=99407"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=99407"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}