Posting blog yang John sebutkan itu adalah awal yang bagus (jika saya mengatakannya sendiri!), Tetapi ada sedikit detail tambahan yang mungkin bisa membantu.
Untuk arsitektur PowerVR, struktur data menengah - beragam disebut primitive list atau parameter buffer (PB) - yang menyimpan data per-ubin, setelah semua naungan vertex dan proses pemasangan selesai, sebenarnya sebagian besar dihasilkan dan dikelola oleh perangkat keras, bukan driver.
Struktur memori PB secara fisik dibagi menjadi dua. Pertama, blok data vertex yang ditransformasikan, termasuk atribut vertex. Blok dikompresi, dan seperti yang Anda bayangkan mereka hanya mengemas dan mengompresi data floating point untuk sebagian besar. Struktur memori kedua adalah data ubin, yang secara efektif adalah daftar daftar.
Daftar tingkat atas dalam struktur data itu disebut wilayah, dan dapat mengkodekan set ubin daripada ubin tunggal pada suatu waktu, untuk blok primitif yang diberikan. Karena itu suatu wilayah adalah sekumpulan lokasi ubin layar, status ubin, dan kemudian daftar blok terkompresi yang menyimpan geometri di wilayah itu. Wilayah adalah tempat kerja rasteriser, dan Anda dapat membayangkan bahwa ubin kosong hanya dilompati secara otomatis, meskipun dalam beberapa kasus ada alasan bagi rasteriser untuk mengunjungi daerah kosong.
Memori yang digunakan GPU untuk PB dialokasikan secara dinamis di semua implementasi PowerVR modern. Penunjuk ke memori tersebut disediakan oleh driver, dan driver, dengan bantuan GPU, akan mengukurnya sesuai kebutuhan. Mekanisme itu merupakan kompromi antara harus sering merelokasi dan meminimalkan jumlah ruang PB yang dialokasikan.
GPU modern berusaha sangat keras untuk meminimalkan tipuan memori, tetapi menjalankan PB untuk memberi makan tahap rasterisasi adalah salah satu kasus di mana itu benar-benar sulit dan tidak ada pilihan lain. Untungnya pointer mengejar membungkus blok besar yang cache dengan baik dan dialirkan ke inti.
Arsitektur lain tidak bekerja persis sama dengan PowerVR, karena bagian dari alasan PB adalah seperti itu dalam arsitektur kami adalah untuk membantu konsep peneduhan piksel yang ditangguhkan sepenuhnya yang kami terapkan, tetapi konsep umum berlaku untuk semua jenis ubin lainnya di ruang seluler yang saya tahu.