Keresés

Új hozzászólás Aktív témák

  • Abu85

    HÁZIGAZDA

    válasz arn #5 üzenetére

    Max és Richard egy korábbi előadáson mondta, hogy a DX12 úgy született meg, hogy az AMD rágta az MS fülét, hogy ezt lehetne jobban is. Azután az MS erre azt mondta, hogy akkor csináljátok meg. Egy évvel később az AMD megmutatott egy prototípus API-t a Microsoftnak, és ezt elkértét. Erre épülő a DX12. Illetve ennek a prototípus API-nak az eredménye lett maga a Mantle, míg a Vulkan a Mantle kódjára épül.

    [ Szerkesztve ]

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

  • Abu85

    HÁZIGAZDA

    válasz Puma K #15 üzenetére

    2014-ben egy Sapphire által rendezett rendezvényen. Fent is volt youtube-on, de a Microsoft kérte a Sapphire-t, hogy töröljék le a videót, mert nem akarják, hogy kiderüljenek a részletek.
    Maga a történek 2008-ban volt és 2009 végén mutatták meg a Microsoftnak a prototípus kódot. Ekkor a Mantle még nem is létezett, az AMD csak fejlesztgette ezt a kódot, főleg a Microsoftnak, illetve 2010-ben már a Microsofttal. A Mantle csak 2011 végén jött képbe, amikor Johan Andersson átutazott Kanadába Matt Skymerhez, hogy neki kurvára kell egy ilyen API. És nyilván tudott róla, hogy az AMD-nek van ilyen háttérprojektje, így az AMD megcsinálta a Mantle-t is. De eredetileg egyáltalán nem készített a cég egy saját API-ra. Persze utólag nagyon jó, hogy megcsinálták, hiszen felgyorsította az explicit API-k kihasználását, illetve a Khronos Group is felhasználta.

    [ Szerkesztve ]

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

  • Abu85

    HÁZIGAZDA

    válasz TTomax #18 üzenetére

    Van a Vulkan API-ban explicit több GPU-s módra támogatás. Az új verzió csak ezen javít. Például azt, hogy az egyik GPU a másik GPU memóriájában található textúrát felhasználhassa anélkül, hogy be kellene tölteni a saját memóriájába. Hasonló lesz a Vulkan Next multi-GPU-s tudása a DX12-höz.

    [ Szerkesztve ]

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

  • Abu85

    HÁZIGAZDA

    válasz Puma K #23 üzenetére

    Légyszi olvasd már el amit írtam. A Microsoft letiltatta a Sapphire videóját, mert nem járultak hozzá, hogy ez az információ kiderüljön. Ellenben én még anno láttam, és ez volt benne. Eleve, ha megnézed a DX12-t és a Mantle-t, akkor a strukturális felépítésük a parancskreálás szempontjából ugyanaz. Nem véletlenül viccelődött vele Johan Andersson is, amikor bejelentették, hogy milyen ismerős. A Mantle-höz képest az explicit API-k a bekötési modell és az erőforrások kezelése szempontjából különböznek.

    (#22) TTomax: A Vulkan API támogatja a multi GPU-t. Pont. A programok szabadon használhatják. Ellenben egy ID Tech6-ra megoldani elég nehézkes a megatextúrázás miatt. Az ID nem is igazán foglalkozik ezzel a kérdéssel, így az erőforrásaikat inkább shader intrinsicsre költötték. Nem megoldhatatlan egyébként, de azért a maréknyi felhasználóért nem éri meg dolgozni rajta.

    [ Szerkesztve ]

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

  • Abu85

    HÁZIGAZDA

    válasz pomorski #25 üzenetére

    Én kiadnám, ha lementettem volna. Nem vártam, hogy egy tök hivatalos rendezvény videóját egyszerűen csak letiltja az MS.

    [ Szerkesztve ]

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

  • Abu85

    HÁZIGAZDA

    válasz TTomax #27 üzenetére

    Kiemelem a lényeget:
    "It is perfectly possible for a Vulkan implementation to expose multiple GPUs. What Vulkan currently can’t do is allow resource sharing between them."
    Tehát megcsinálhatod rá a támogatást, mert képes a rendszer több GPU-t detektálni, csak azokat különállóként kell kezelni. De ha csinálsz rá egy implementációt, akkor különálló GPU-ként azt számolnak amit akarsz.
    Amit a Vulkan 1.1 hoz az olyasmi rendszer, ami van a DX12-ben.

    Az már egyébként értelmezési kérdés, hogy mikortól tekintünk egy API-t multi GPU-t támogató API-nak. Elég ha képes több eszközerőforrást kreálni vagy ezek között kell az erőforrások megosztása is. Előbbi alapvetően elég, míg utóbbival sokkal könnyebb dolgozni, hiszen az egyik GPU elérheti a másik memóriáját, és nem kell szinkronizálni, illetve másolgatni.

    [ Szerkesztve ]

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

  • Abu85

    HÁZIGAZDA

    válasz TTomax #29 üzenetére

    Mint írtam ez tisztán értelmezés kérdése. De hogy tisztán lásd a működést ... ha úgy tekintjük, hogy a Vulkan nem támogat több GPU-t, mert kötelezőnek vesszük az erőforrások megoszthatóságát a több GPU-s módhoz, akkor az SLI és a CrossFire sem rakható bele a több GPU-s kategóriába, mert azokból is pont ez a képesség hiányzik. :) Ilyen értelmezéssel egyedül a DX12 explicit multiadapter az egyetlen több GPU-s rendszer.
    A legjobb egyébként ezt úgy leírni, hogy a Vulkan a jelen formájában nem tud standard AFR-nél jobb több GPU-s módot támogatni. De egy standard AFR-t bármikor tudsz rá implementálni, ha a motor működése ezt megengedi.

    Ha nem lehetséges az erőforrások megosztása, akkor azt kell tenni, hogy memóriát tükrözni kell, vagyis a két GPU-hoz tartozó memóriaterületben ugyanannak kell lennie. Ezt szinkronizálnia kell a programnak (copy). Ugyanígy működik az SLI és a Crossfire csak ott a driver csinálja ezt a feladatot, mert az vezérli a VRAM-ot. De a program is ugyanígy képes erre, ha a fejlesztő megírja rá a támogatást.

    [ Szerkesztve ]

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

  • Abu85

    HÁZIGAZDA

    válasz TTomax #31 üzenetére

    Mondjuk úgy, hogy több GPU szempontjából a DX11 és a DX12 között. Mert a DX11-nél nincs lehetőség még a több eszközerőforrás létrehozására sem. A Vulkan legalább erre lehetőséget ad.

    Simán lehetséges. A driverek évek óta csinálják. Ez a rendszer AFR-friendly szinten átrakható egy programba. Teljesen mindegy a hardvernek, hogy a driver vagy az alkalmazás vezérli a VRAM-ot, ezen belül is a driver vagy az alkalmazás utasít másolásra.

    De nyilván sokkal jobb a fejlesztőknek, ha a két GPU VRAM-ja összeadható logikai szinten, és ez hiányzik ma a Vulkan API-ból (erőforrások megosztása).

    (#33) TTomax: Nézd meg: Ashes of the Singularity, Total War: Warhammer ... (Mantle-ben Civilization: Beyond Earth).

    [ Szerkesztve ]

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

  • Abu85

    HÁZIGAZDA

    válasz julius666 #34 üzenetére

    Aminek van egy jól definiált specifikációja, ami zárt, és zárt is maradt.

    A Mantle shader modellje nagyon egyszerű volt az egy célarchitektúra miatt. Volt egy HLSL ext. kódod és lefordíthattad AMDIL binárisra, amit szállíthattál. Világos, hogy ez nem volt jó gyártófüggetlen formában.
    Egyébként nem a shader nyelv a legnagyobb különbség, mert a SPIR-V nagyjából tudja azt, amit a HLSL ext. nyelv felkínált. Az AMD SPIR-V kiterjesztéseivel, még a szabványból hiányzó függvények is bekerültek. A fő eltérés a bekötési modell, ami a Mantle-nél pure bindless, míg a Vulkan esetében nem bindless, csak bindlessre kiterjeszthető, de ehhez már gyártói kiterjesztés kell. Annyit tudok, hogy a következő körben már lesz bindless bekötés ARB, és pure bindless AMD kiterjesztéssel. Ez igazából a Vulkan legnagyobb hátránya a DX12-höz képest, de valahogy csak túlélik majd a fejlesztők ezt az átmeneti időszakot.

    [link] - ebben van Vulkan driver. Bár igazából Linuxra rendes Vulkan alkalmazás nincs, viszont a The Talos Principle és a Dota2 megy rajta. Ugyanakkor mindkét programban csak tesztre van benne a Vulkan API. [link] - itt van teszt is a Dota2-ről Linux alatt.

    [ Szerkesztve ]

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

Új hozzászólás Aktív témák