Stor förändring på gång i DirectX

Permalänk
Melding Plague

Stor förändring på gång i DirectX

Microsoft ska byta från ett eget format på kompilerad grafikkod till industristandarden SPIR-V, vilket kommer öppna för snabbare utveckling.

Läs hela artikeln här

Visa signatur

Observera att samma trivselregler gäller i kommentarstrådarna som i övriga forumet och att brott mot dessa kan leda till avstängning. Kontakta redaktionen om du vill uppmärksamma fel i artikeln eller framföra andra synpunkter.

Permalänk
Medlem

Uttalas det spir V eller spir fem?

Visa signatur

Processor: Motorola 68000 | Klockfrekvens: 7,09 Mhz (PAL) | Minne: 256 kB ROM / 512 kB RAM | Bussbredd: 24 bit | Joystick: Tac2 | Operativsystem: Amiga OS 1.3

Permalänk
Medlem

Så bra!
HLSL är najs och lirar bättre ihop syntax-mässigt med C# tycker jag än vad GLSL gör. Det vore ju grymt att kunna använda HLSL även för OpenGL targets!

Permalänk
Medlem
Skrivet av talonmas:

Uttalas det spir V eller spir fem?

Sett till att versionerna 1 och 2 av SPIR (utan V) släpptes innan (men varken 3 eller 4) (och utan romerska siffror), att det finns en 1.0 version av SPIR-V 1.0, och att SPIR-V är första med Vulkan, gör att jag satsar på det första. Och att jag uttalar det SPIR-V och inte tänker ändra mig.

Permalänk
Medlem
Skrivet av talonmas:

Uttalas det spir V eller spir fem?

Standard Portable Intermediate Representation.

V står för Vulkan.

Så det läses knappast som 5.

Permalänk
Medlem

Uttalar man spir som spiir eller spör?

Permalänk

HMMM.

öppen standard i directX you say
någon mer än jag som eventuellt ser möjligheter att någon smart jäkel kanske reverse engineerar och portar directX till linux i framtiden.

man kan ju alltid hoppas iaf.

Visa signatur

ASUS B550-f-Gaming, R9 5800X3D, HyperX 3200Mhz cl16 128Gb ram, rtx 3070ti.
[Lista] De bästa gratisprogrammen för Windows
[Diskussion] De bästa gratisprogrammen för Windows

Permalänk
Medlem
Skrivet av Sysop:

Uttalar man spir som spiir eller spör?

Jag tycker vi kallar det "sparv".

Visa signatur

*5800X|B550M|64GB|RTX2080S|GX750W|Core V21|280AIO|2TB+2TB|1440p 240Hz

AMD Ryzen 7 @4,95GHz|Gigabyte Aorus Elite(rev1.3)|Corsair 2x32 LPX Vengeance 2666C16 @3600C20|Gigabyte Windforce OC @Stock|Seasonic Focus| Thermaltake mATX kub|Arctic freezer II| NVMe SSD PCIE 4.0x4 Samsung 980 Pro 7000/5100 + 2,5" HDD Toshiba 1TB & Seagate 1TB i RAID 0|Acer Nitro XV272Uz 27" IPS 270Hz @240Hz.

Permalänk
Hedersmedlem
Skrivet av Rouge of Darkness:

HMMM.

öppen standard i directX you say
någon mer än jag som eventuellt ser möjligheter att någon smart jäkel kanske reverse engineerar och portar directX till linux i framtiden.

man kan ju alltid hoppas iaf.

VKD3D (DX12) och DXVK (DX11 och äldre) är väl i princip det? Det är översättningslager snarare än portar, men det funkar ju rätt bra i många spel nu för tiden.
Används av Proton m.fl. för spel i Linux.

Visa signatur

Asus ROG STRIX B550-F / Ryzen 5800X3D / 48 GB 3200 MHz CL14 / Asus TUF 3080 OC / WD SN850 1 TB, Kingston NV1 2 TB + NAS / Corsair RM650x V3 / Acer XB271HU (1440p165) / LG C1 55"
NAS: 6700K/16GB/Debian+ZFS | Backup (offsite): 9600K/16GB/Debian+ZFS

Permalänk
Skrivet av Thomas:

VKD3D (DX12) och DXVK (DX11 och äldre) är väl i princip det? Det är översättningslager snarare än portar, men det funkar ju rätt bra i många spel nu för tiden.
Används av Proton m.fl. för spel i Linux.

tänkte mer på möjlighet att ev kunna skippa översättningslager helt. är mycket väl medveten om proton osv översättningslager där dx översätts till vulkan kod.

Visa signatur

ASUS B550-f-Gaming, R9 5800X3D, HyperX 3200Mhz cl16 128Gb ram, rtx 3070ti.
[Lista] De bästa gratisprogrammen för Windows
[Diskussion] De bästa gratisprogrammen för Windows

Permalänk
Medlem

Varför inte lägga ner DirectX då och börja satsa helt på Vulkan?
Tycker alla spel jag sprungit på som haft stöd för båda så fungerar det alltid bättre i Vulkan, och om dom nu vill satsa på Linux i framtiden så....

Visa signatur

//Gelantious
I heard life sucks, that''s why I''m glad I don''t have one.

Permalänk
Datavetare
Skrivet av Rouge of Darkness:

tänkte mer på möjlighet att ev kunna skippa översättningslager helt. är mycket väl medveten om proton osv översättningslager där dx översätts till vulkan kod.

För att köra DirectX-applikationer i Linux kommer det även i framtiden att behövas översättningslager som t.ex. Proton. SPIR-V/DXIL handlar om GPU-shaders, DirectX och Vulkan är fortfarande två olika APIer för CPU-sidan.

SPIR-V är väldigt likt hur t.ex. Java-program kompileras till bytekod och C#-program kompileras till CIL-kod, d.v.s. man kompilerar till en “virtuell” instruktionsuppsättning vars primära uppgift är att göra det enkelt/effektivt att i sin tur kunna översättas till den faktiska instruktionsuppsättningen som körs på den enhet som i slutändan vill köra programmet.

Det här är ändå positivt för de som vill använda tekniker som Proton (positivt i bemärkelsen “en felkälla mindre”, potentiellt negativt i: om inte sista spiken i kistan redan är inslagen för “utveckla spel för native Linux” lär detta ge den effekten). Trots att man även framåt måste översätta DirectX till motsvarande Vulkan-anrop slipper man ju kompilera om DXIL till SPIR-V om man vill köra spel på Linux.

För Microsoft lär det också bara finnas fördelar. För dem lär det inte finnas några fördelar alls med DXIL över SPIR-V, tvärtom slipper man ju en kostnad genom att använda SPIR-V.

Positivt också för GPU-tillverkare, de får ett lite enklare jobb om de framåt bara behöver bry sig om SPIR-V -> GPU-specifika instruktioner. Om Microsoft fixar riktigt bra DXIL -> SPIR-V-översättare i Windows skulle man rätt snabbt kunna släppa DXIL-stöd i GPU-drivrutiner utan att dagens spel drabbas.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Datavetare

Bloggen som länkas belyser rätt bra fördelarna för Microsoft

As we look to the future, maintaining a proprietary IR format (even one based on an open-source project) is counter to our commitments to open technologies, so Shader Model 7.0 will adopt SPIR-V as its interchange format. Over the next few years, we will be working to define a SPIR-V environment for Direct3D, and a set of SPIR-V extensions to support all of Direct3D’s current and future shader programming features through SPIR-V. This will allow developers to take better advantage of existing tools and unify the ecosystem around investing in one IR.

In addition to providing a compiler for HLSL to Direct3D’s SPIR-V, we will also be building and providing translation tools to translate SPIR-V to DXIL and DXIL to SPIR-V. Those tools will allow and driver developers to gradually transition and gracefully adapt tooling and drivers.

Finns inget strategiskt i att pusha DXIL för Microsoft del. Positiva är det inte bara är Microsoft som får en kostnadsbesparing, det får även GPU-tillverkarna. Resurser som istället kan läggas på nya coola features.

Sen finns riktigt positiva sekundära effekter. SPIR-V används inte bara av Vulkan idag, det används också som virtuell GPGPU ISA för OpenCL och SyCL (SyCL är Khronos svar på CUDA, används av bl.a. Intel i OneAPI och Arm/Qualcomm för deras GPGPU stöd).

Ett steg i rätt riktigt för att skapa något på GPGPU-sidan som faktiskt kan utmana CUDA. Detta då ett helt gemensam "mellanlager" gör det enklare att skapa stora mängder GPGPU-bibliotek likt vad vi har i t.ex. Java/.NET idag.

Inte ofta man ser detta, men plötsligt händer det! Normalfallet är annars nästan alltid detta

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem

StrålspårX, fajnally!

Visa signatur

Gapar ofta efter galen fågel i fel tunna.

Permalänk
Medlem
Skrivet av Thomas:

VKD3D (DX12) och DXVK (DX11 och äldre) är väl i princip det? Det är översättningslager snarare än portar, men det funkar ju rätt bra i många spel nu för tiden.
Används av Proton m.fl. för spel i Linux.

Skrivet av Rouge of Darkness:

tänkte mer på möjlighet att ev kunna skippa översättningslager helt. är mycket väl medveten om proton osv översättningslager där dx översätts till vulkan kod.

Gallium nine var en numera nedlagd dx9 implementation i mesa. Alltså det var egentligen inget översättningslager.
Prestandan var bättre (på CPU sidan) än DXVK.

Permalänk
Medlem
Skrivet av FattarNiInte:

Gallium nine var en numera nedlagd dx9 implementation i mesa. Alltså det var egentligen inget översättningslager.
Prestandan var bättre (på CPU sidan) än DXVK.

Krävde dock att GPU:n hade stöd för G9, vilket t.ex de stänga AMD och Nvidia drivisarna inte hade så speciellt för Nvidia var inte G9 så kul.

Visa signatur

|Ryzen 5800x3d|RX 7900XTX Hellhound|Asus Prime X370 Pro|32GiB Corsair 3200MHz CL16 Vengeance|Corsair HX1000i|Fractal Define R5|LG 45GR95QE|Corsair K100|Razer DeathAdder V3 Pro|Ubuntu 24.04|

Permalänk
Medlem

Klart positivt.

Nu saknas bara att Microsoft helt lägger ned DirectX.

Visa signatur

5950X, 3090

Permalänk
Medlem
Skrivet av Rouge of Darkness:

tänkte mer på möjlighet att ev kunna skippa översättningslager helt. är mycket väl medveten om proton osv översättningslager där dx översätts till vulkan kod.

Kan du definiera vad du menar med "portning" då? För att skriva ett lager är ett sätt att porta. Vi har inte källkoden till DX, därför går det egentligen inte att porta på traditionellt vis.