Цей запис у блозі, який згадує Джон, - це досить вдалий початок (якщо я сам так скажу!), Але є трохи додаткової деталі, яка може бути корисною.
Для архітектури PowerVR проміжна структура даних - по-різному називається примітивним списком або буфером параметрів (PB) - яка зберігає дані за плиткою, після того, як все затінення вершин і процес плитки завершено, насправді здебільшого генерується та управляється апаратне забезпечення, а не драйвер.
Структури пам'яті PB фізично розділені на дві частини. По-перше, блоки перетворених даних вершин, включаючи атрибути вершин. Блоки стиснуті, і як ви можете собі уявити, вони здебільшого просто запаковані та стислі дані з плаваючою комою. Друга структура пам'яті - це дані плитки, що фактично є списком.
Список верхнього рівня в цій структурі даних називається регіоном, і він може кодувати набір плиток, а не одну плитку за один раз, для даного примітивного блоку. Таким чином, область - це набір розташувань екранів, плиток, а потім список стислих блоків, що містять геометрію в цьому регіоні. Регіони - це те, на що працює растеризатор, і ви можете уявити, що порожні плитки просто автоматично пропускаються, хоча в деяких випадках є вагома причина для растеризатора відвідувати порожні регіони.
Пам'ять, яку GPU використовує для PB, динамічно розподіляється у всіх сучасних реалізаціях PowerVR. Вказівник на цю пам'ять надається драйвером, і драйвер за допомогою графічного процесора розмістить її за необхідності. Цей механізм є компромісом між тим, що потрібно часто перерозподіляти та мінімізувати кількість виділеного простору PB.
Сучасні графічні процесори дуже важко намагаються мінімізувати опосередкованість пам’яті, але ходіння PB для живлення на етапі растеризації є одним із тих випадків, коли це дійсно важко і іншого вибору немає. На щастя вказівний переслідувач вказує на великі блоки, які добре кешуються і передаються в ядро.
Інші архітектури не працюють точно так само, як PowerVR, тому що частина причини PB є такою, якою вона є в нашій архітектурі, в тому, щоб допомогти повністю відкладеній концепції відтінення пікселів, яку ми реалізуємо, але загальна концепція стосується всіх інших плиток у мобільний простір, про який я знаю.