Nehéz lesz az erőforrások egységesítése
A program számára elérhető erőforrások szempontjából már közel sem ilyen egyszerű a helyzet. Mindegyik gyártó nagyon másképp látja a jövőt, miközben a Microsoft koncepciója az aktuális limitek teljes feloldása. Utóbbi érthető, hiszen az Xbox One konzolba épített AMD GCN architektúra úgy lett megtervezve, hogy végtelen mennyiségű erőforrást kezeljen, ami természetesen átmenthető PC-be is. A többi gyártó véleménye azonban lehet, hogy nem egyezik a korlátok feloldása szempontjából, hiszen egy ilyen radikális újítással bonyolultabb hardverekre lenne szükség, ami természetesen a fogyasztás növeléséhez is vezetne, miközben a világ épp az ultramobil irányba mozdul el.
Hirdetés
Ebből a szempontból a Microsoft lehet, hogy könnyelmű lesz, ami tulajdonképpen azzal érne fel, hogy nem vesz részt a gyártók elvi csatározásában, csak olyan opcionális funkciókat biztosít az API-ban, amit a konzolokon is elérnek a fejlesztők. Ez ugyanakkor egy PC-s ökoszisztémában nem ideális, hiszen az egyes szabványos effektek nem futnának minden DirectX 12-t támogató hardveren.
A kritikus szempontot az UAV-k, SRV-k és RT-k száma jelenti. Ahogy fentebb írtuk, a konzolokon ezekre nincs korlát, annyi érhető el, amennyit a fejlesztő akar. Ez a PC-ben is igaz a GCN architektúrára vonatkozóan, hiszen ugyanaz az alap. Az NVIDIA már másképp dolgozik, és az összes architektúrájuk esetén a fő parancsprocesszorban tartják számon, hogy hány erőforrást használhat még a program. Az UAV-k és az RT-k szempontjából 8-8 darab bejegyzésre van lehetőség, ami megegyezik a D3D_FEATURE_LEVEL_11_0 szint követelményével. Az SRV-k esetében a Fermi a szabványos 128 bejegyzésre vonatkozó erőforráslimitet tartja be, de a Kepler és a Maxwell architektúra ezt kiterjeszti egymillió fölé (egészen pontosan 1 048 576 bejegyzésre).
Az Intel Gen7, Gen7+ és Gen7.5 architektúrája már megint eltérően működik, mivel általános bekötési táblát használnak az erőforrások nyomon követésére, amiben 256 bejegyzésre van lehetőség. Ebből egy slot debug célra van fenntartva, míg a maradék 255 megfelelően el lesz osztva minden igényelt erőforrás között. Technikai értelemben az Intel 255 UAV-t vagy 255 SRV-t vagy 255 RT-t tud támogatni, de egyszerre ezekből ekkora mennyiség nem használható fel, mivel összesen 255 slot van. Nem egyszerű tehát a helyzet, és a Microsoftnak ebből kellene valami közösen elfogadott koncepciót kidolgozni.
Megtudtuk még, hogy a DirectX 12 újításai között szerepel az ASTC szabvány LDR verziója. Ezt jelenleg a PC-s grafikus hardverek nem támogatják, de a Qualcomm Adreno 400-as GPU IP család már igen. Viszont a textúratömörítés emulálható, tehát kezdeti támogatást így is lehet rá építeni, illetve szinte biztos, hogy később mindenki hardveres támogatást kínál majd erre. A korábban már említett fixfunkciós JPEG dekódoló is felmerült újból. Ez nyilvánvalóan az Xbox One IGP-jében található hardvert célozza, de az Intel Haswell processzor Gen7.5-ös architektúrájú IGP-je is tartalmaz ilyen egységet. Azt viszont még nem tudni, hogy a Microsoft megfogalmaz-e a hardver sebességére egy alapvető követelményt, vagy csupán a részegység megléte is elég. Utóbbi esetében az Intel erre biztosan képes támogatást írni.
A cikk még nem ért véget, kérlek, lapozz!