Compressione di mipmap
A seconda del livello di supporto delle risorse riquadri, le mappe mipmap con determinate dimensioni non seguono le forme di riquadro standard e vengono considerate tutte raggruppate tra loro in modo opaco all'applicazione. I livelli più elevati di supporto hanno garanzie più ampie sui tipi di dimensioni di superficie che si adattano alle forme di riquadro standard e possono quindi essere mappati singolarmente dalle applicazioni.
Ciò che può variare tra le implementazioni è che, in base alle dimensioni, al formato, al numero di mipmap e alle sezioni di matrice, è possibile raggruppare alcuni M di mips (per sezione matrice) in alcuni riquadri N. L'API ID3D11Device2::GetResourceTiling esiste per consentire al driver di segnalare all'applicazione quali M e N sono (tra gli altri dettagli sulla superficie in cui questa API segnala standard e non varia in base al fornitore dell'hardware). Il set di riquadri per gli ip compressi è ancora 64 KB e può essere mappato singolarmente in posizioni diverse in un pool di riquadri. Ma la forma pixel dei riquadri e il modo in cui le mipmap si adattano nel set di riquadri sono specifiche di un fornitore hardware e troppo complesse da esporre. È quindi necessario eseguire il mapping di tutti i riquadri designati come compressi o nessuno di essi, alla volta. In caso contrario, il comportamento per l'accesso alla risorsa riquadri non è definito.
Per le superfici con matrice, il set di mips compressi e il numero di riquadri compressi che archiviano tali mips (M e N descritti in precedenza) si applicano singolarmente per ogni sezione della matrice.
API dedicate per la copia di riquadri (ID3D11DeviceContext2::CopyTiles e ID3D11DeviceContext2::UpdateTiles) non possono accedere a mips con pacchetto. Le applicazioni che vogliono copiare i dati in e da ip compressi possono farlo usando tutte le API specifiche delle risorse non riquadri per la copia e il rendering in superfici.
Argomenti correlati