DirectX otrzymuje oficjalny kompilator dla Linuksa

DirectX otrzymuje oficjalny kompilator dla Linuksa19.12.2022 07:11
DirectX otrzymuje oficjalny kompilator dla Linuksa
Źródło zdjęć: © Pixabay | nanadua

Microsoft wydał na GitHubie wersję 1.7.2212 oficjalnego kompilatora HLSL, pozwalającego budować shadery DirectX. Wśród opublikowanych plików znajduje się także binarna wersja dla Linuksa. To pierwsze takie wydanie, ale sam program nie jest nowy.

Kompilator shaderów dla DirectX wydano na licencji open source (LLVM) już na początku 2017 roku, a więc niemal sześć lat temu. Nieco ponad rok później kodem zajął się... Google, który opracował wersję DXC kompilującą się na Linuksie (niewątpliwie pomogło użycie LLVM zamiast MSVC). Pingwinowy wariant kompilatora DirectX istnieje zatem już od dobrych czterech lat. Zmiany pozwalające na zbudowanie takowego znajdują się od dawna w oficjalnym repozytorium DirectXShaderCompiler.

Microsoft nigdy jednak nie dodawał do oficjalnych wydań skompilowanej wersji dla Linuksa. Zawsze był to tylko kod źródłowy, skompilowany DXC.EXE z bibliotekami oraz paczka PDB. Od teraz wydawany jest także bin\x64\dxc, co oznacza, że Microsoft uznaje kompilację shaderów DX na Linuksie za oficjalną ścieżkę.

...i co z tego?

I w zasadzie oznacza to niewiele więcej. Istnieje oficjalna możliwość kompilowania struktur opisanych w wysokopoziomowym języku shaderów HLSL do binarnej postaci DXIL. Krótko mówiąc, da się zbudować z kodu DirectX postać którą umieją "zjeść" sterowniki karty graficznej za pomocą narzędzi wprost z Redmond. Dotychczas trzeba je było składać samodzielnie.

20 lat serwisu dobreprogramy - relacja z Fabryki Norblina

Sama ewolucja DirectX w tę stronę jest dość interesująca. Wszystko wskazuje na to, że migracja ze starego bytecode'u DirectX, działającego wyłącznie w Windows, do przenośnej i nowoczesnej postaci stosującej LLVM na wielu platformach, była zamysłem od samego początku prac nad DirectX 12. Ma to pewne istotne implikacje. Wszak kompilator HLSL to tylko wycinek DirectX, zapewnienie interoperacyjności na tak małym poletku wydaje się mieć mało korzyści, czyż nie?

Przecież obecność kompilatora na Linuksie nie oznacza, że w systemie tym zaczyna działać Direct3D 12. Mogą na niej jednak skorzystać dwa spore i ważne projekty: Mesa D3D12 oraz... WSL2. Jeżeli taki był zamysł Microsoftu od samego początku, to znaczy że firma podzieliła się z nami bardzo małą częścią planów jakie miała od początku dla Windows Subsystem for Linux.

Microsoft ma też niskopoziomowych programistów!, Źródło zdjęć: © GitHub
Microsoft ma też niskopoziomowych programistów!
Źródło zdjęć: © GitHub

Przyszłość to nie Windows?

Ponieważ DXC jest dziś włączony do zestawu SDK dla Windows (!), stosowanie przenośnych narzędzi LLVM i DXIL stanowi plan na przyszłość DirectX 12 i następców. To ciekawe. Dawny Microsoft uznałby wprowadzanie wieloplatformowości w DirectX za sabotaż. Czy firma chce rozszerzyć dostępność całej platformy na inne systemy? W jakim celu?

Może nowy Xbox ma być czymś zupełnie odmiennym od dotychczasowych? Zresztą, nie musi przecież chodzić tylko o gry. Karmienie karty graficznej zbudowanymi shaderami może służyć między innymi także do obliczeń naukowo technicznych. Nieprędko przyjdzie się nam o tym przekonać, ale już dziś wiemy, że przyszłość DirectX to nie tylko Windows.

Kamil J. Dudek, współpracownik redakcji dobreprogramy.pl

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.