Pengepakan Mipmap

Beberapa jumlah mips (per irisan array) dapat dikemas ke dalam beberapa jumlah ubin, tergantung pada dimensi sumber daya streaming, format, jumlah mipmap, dan irisan array.

Bergantung pada tingkat dukungan sumber daya streaming, mipmap dengan dimensi tertentu tidak mengikuti bentuk ubin standar dan dianggap semuanya dikemas bersama satu sama lain dengan cara yang buram terhadap aplikasi. Tingkat dukungan yang lebih tinggi memiliki jaminan yang lebih luas tentang jenis dimensi permukaan apa yang sesuai dengan bentuk ubin standar (dan karena itu dapat dipetakan secara individual oleh aplikasi).

Apa yang dapat bervariasi antara implementasi adalah bahwa — mengingat dimensi sumber daya streaming, format, jumlah mipmap, dan irisan array — beberapa nomor M mips (per irisan array) dapat dikemas ke dalam beberapa ubin nomor N. Ketika Anda mendapatkan informasi ubin sumber daya untuk perangkat, driver melaporkan ke aplikasi apa itu M dan N (di antara detail lain tentang permukaan yang standar dan tidak bervariasi menurut vendor perangkat keras). Set ubin untuk mips yang dikemas masih 64KB dan dapat dipetakan secara individual ke lokasi yang berbeda di kolam ubin.

Tetapi bentuk piksel ubin dan bagaimana mipmap cocok di seluruh set ubin khusus untuk vendor perangkat keras dan terlalu kompleks untuk diekspos. Jadi, aplikasi diperlukan untuk memetakan semua ubin yang ditetapkan sebagai dikemas, atau tidak satupun dari mereka, pada suatu waktu. Jika tidak, perilaku untuk mengakses sumber daya streaming tidak terdefinisi.

Untuk permukaan array, set mips dikemas dan jumlah ubin dikemas menyimpan mips tersebut (M dan N dijelaskan sebelumnya) berlaku secara individual untuk setiap irisan array.

API khusus untuk menyalin ubin tidak dapat mengakses mips yang dikemas. Aplikasi yang ingin menyalin data ke dan dari mips yang dikemas dapat melakukannya menggunakan semua API khusus sumber daya non-streaming untuk menyalin dan merender ke permukaan.

Bagaimana area sumber daya streaming di ubin