aktualności

Microsoft pracuje nad warstwami mapowania OpenCL i OpenGL do DirectX 12

7
25 marca 2020, 16:59 Adrian Kotowski

Microsoft ogłosił współpracę z firmą Collabora, dzięki której przygotowana ma zostać warstwa mapowania API OpenCL i OpenGL na DirectX 12. Celem twórców tego rozwiązania jest zapewnienie kompatybilności urządzeń z Windows z wybranymi aplikacjami, korzystających z popularnych, otwartoźródłowych bibliotek.

Do budowy warstwy mapowania OpenCL i OpenGL na DX12 wykorzystano biblioteki Mesa 3D z interfejsem Gallium jako bazę dla warstwy OpenGL oraz NIR jako podstawę dla kompilatora OpenCL. Poza tym stosowane są również LLVM i SPIRV-LLVM-Translator, przygotowane przez grupę Khronos, używane jako kompilatory front-endu. Ogłoszono, że początkowo zapewnione zostanie wsparcie dla OpenCL 1.2 i OpenGL 3.3.

Według Microsoftu, przygotowanie tego rozwiązania ma zagwarantować lepszą kompatybilność programów, w których natywna obsługa driverów pod D3D12 nie jest dostępna. Celem firmy jest zapewnienie akceleracji sprzętowej dla większej liczby aplikacji, wykorzystując wyłącznie sterownik DX12, bez potrzeby stosowania innego oprogramowania.

Firma z Redmond zauważa też, że jej działania pozwolą deweloperom programów dużo łatwiej przeprowadzać konwersję do D3D12. Dodatkowo cały projekt ma wspierać społeczność otwartych rozwiązań graficznych – w repozytorium Mesa pojawi z czasem backend D3D12, którego obecność może ucieszyć część deweloperów. Przedsiębiorstwo zapowiedziało dalsze aktualizacje związane ze swoją zapowiedzią, w tym masę szczegółów technicznych.  

Przy okazji takiej zapowiedzi dobrym pomysłem może być przyjrzenie się cenom systemu Windows 10. Osoby, które do tej pory nie przesiadły się ze starszych OS-ów Microsoftu mogą nabyć nowe oprogramowanie przez załączone niżej linki.

Źródło: Microsoft Blog
zskkZobacz profil
Poziom ostrzeżenia: 0%
zskk2020.03.25, 18:42
Ale... chyba nikt im nie powiedział, że wszystko idzie w drugą strone :E
Atak_SnajperaZobacz profil
Poziom ostrzeżenia: 0%
Atak_Snajpera2020.03.25, 20:49
M$ chyba zauważył że na fali wznoszącej jest Vulkan API (doom eternal , RDR2 , gry od Ubisoft) i teraz kombinują jak tu zwiększyć popularność DX12.
PutoutZobacz profil
Poziom ostrzeżenia: 0%
Putout2020.03.26, 00:03
i dobrze. niech robią coś.
gdzieś mi tam siedzi w głowie mgpu. pamiętam jak mówiono o możliwości zaprzągnięcia apu/igpu do wsparcia dgpu. ale pomysł chyba zupełnie umarł.
NamonakiZobacz profil
Poziom ostrzeżenia: 0%
Namonaki2020.03.26, 04:13
-1#4
obecnie nie ma karty graficznej która by miała sterowniki pod DX12 i jednoczesne nie miała by ich dla OpenCL i OpenGL
prędzej się znajdzie taka która nie ma sterownika DX12 niż OpenGL lub OpenCL np seria Radeonów HD 5000 i HD 6000 (oraz HD 4000)
MS chce stworzyć warstwę tłumaczącą (emulator) OpenCL i OpenGL na DirectX 12 tak jak powstał dla Linux'a vkd3d tłumaczący DX12 na Vulkan albo cała masa emulatorów API Glide tłumaczące na Direct3D lub OpenGL (wąsko dostępnego API na szeroko dostępne)

nie wiem co MS chce ugrać w taki sposób, chyba jedynie zniechęcić nVidie oraz AMD do dostarczania sterowników dla OpenCL i OpenGL (sterownik nVidia jest wspólny dla Vulkan'a i OpenGL)
być może ostatecznie porzucić wsparcie OpenGL w zastępstwie 'proponując' mapowanie do DX12
ale w wypadku OpenCL MS nigdy nie dostarczał wsparcia; całość świadczyli producenci sprzętu
ciekawe kiedy MS zrobi to samo z własnościowym API CUDA ... :P
bardzo chaotyczne i desperackie posuniecie

osobiście nie widzę jakich kol-wiek zalet takiego rozwiązania względem na natywnych API a jedna poważna wade czyli spadek wydajności spowodowany emulacją (translacja)
najprawdopodobniej nadal będę używał natywnego API OpenCL i OpenGL, nie potrzebujących dodatkowych bibliotek ... i będące wielo-platformowe

@Putout ciesz się z hybrid cross fire :P
bo by korzystać z Heterogeneous Multiadapter https://github.com/microsoft/DirectX-Graph...ousMultiadapter
trzeba to zaimplementować w programie; każdym oddzielnie
chociaż posiadaczy igpu i dedykowanej karty jest co nie miara
igpu intela szału w takim tandemie nie będą robić
Edytowane przez autora (2020.03.26, 04:24)
xeksZobacz profil
Poziom ostrzeżenia: 0%
xeks2020.03.26, 09:23
uruchamianie aplikacji z androida na windowsie?
NamonakiZobacz profil
Poziom ostrzeżenia: 0%
Namonaki2020.03.26, 15:31
xeks @ 2020.03.26 09:23  Post: 1238071
uruchamianie aplikacji z androida na windowsie?

apki android-owe działają na bardzo specyficzniej maszynie wirtualnej Dalvik lub Android Runtime której nie ma w Windows
OpenGL jest pod Windowsem od lat '90 wiec na długo przed powstaniem Android'a
MS od zawsze był wrogo nastawiony do OpenGL https://pclab.pl/art68963-4.html
rozszerzenia Vulkan i OpenGL takie jak Mesh Shaders były dostępne już od premiery Turing'ów https://developer.nvidia.com/vulkan-turing
tez chciałbym wiedzieć po co tyle zachodu :D
Edytowane przez autora (2020.03.26, 15:46)
Rybaczek KoziołkaZobacz profil
Poziom ostrzeżenia: 0%
Rybaczek Koziołka2020.03.27, 15:22
no no, widać że Nvidia i Microsoft się pożarły ze sobą :) jak MS zrobi warstwę mapowania, to używając OpenCL będzie nieistotne jakiej grafy użyjemy do obliczeń. w sumie stawiając na OpenCL zamiast na CUDA, odrywamy się od sprzętu jednej firmy :)
to samo z OpenGL, które przy mapowaniu na DX12 czy Vulkan dostaje kopa.
Zaloguj się, by móc komentować
1