Keresés

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

  • Abu85

    HÁZIGAZDA

    válasz namaste #155 üzenetére

    A DX12-ben binding API biztosítja az erőforrások bekötését, ha erre a hardver nem képes önmaga. Gyakorlatilag a meghajtóba írható erre egy implementáció, ami elhelyezi az erőforrás-leírókat egy tömbbe. Amikor a warp vagy wavefront, illetve általános nevén a wave futni kezd, akkor ezt a tömböt fogja igényelni elsőként, amit már a CPU-n futó binding API előkészített olyan formába, hogy a GPU megfelelően működhessen. Az adatok elérése innentől kezdve pufferbetöltés vagy textúra mintavételezéssel valósítható meg. Attól függ, hogy szűrt vagy nem szűrt minta kell.

    Attól, hogy egy textúrázótól elvárható ez, még meg kell neki mondani, hogy hol vannak. Gyakorlatilag az erőforrás-leírók kvázi pointerek. Ehhez kell a binding API. Hacsak a hardver nem képes arra, hogy az esetlegesen shaderekbe programozott memóriaeléréseket értelmezze. Erre van a Tier2 és a Tier3 szint. Előbbi esetben az SRV-ket és a samplereket be lehet tölteni a binding API nélkül, mert le lehet programozni a memóriaelérést a shaderben. Utóbbi esetben pedig ez minden erőforrásra leprogramozható.

    Az NV erre nem tért ki. Ők csak felvázolták, hogy ez a worst case. Ha egy shader így működik, akkor az nagyon fel tudja zabálni a regisztert. De állítólag ez még így is előnyös, mert a legtöbb esetben az újabb meghajtókba épített emulációnak pozitív hozadéka van. Csak néhány eset az, ahol hátrányos. Valószínűleg arra számítanak, hogy a fejlesztők nem hülyék, és mérlegelik ezeknek az eseteknek a használatát. Nem mondták meg, hogy mit tárolnak. Forrást nem tudok adni, ez egy telefonkonferencia volt, nem tudom, hogy felvették-e.

    [ 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