By: Gabriele Svelto (gabriele.svelto.delete@this.gmail.com), August 4, 2016 1:22 am
Room: Moderated Discussions
Exophase (exophase.delete@this.gmail.com) on August 1, 2016 11:35 am wrote:
> That's interesting. Do you think they also special-case single
> pixel primitives, or is that not very worthwhile?
I'm not sure, details of their internal architecture are a well kept secret and as time went by they've become more and more secretive. What I could figure out I did by scouring their documents and Apple's documentation. You can infer quite a few details by cross-referencing recent changes with old stuff that was described in greater detail but as time goes by it becomes harder to get exact information.
For example it seems to me that the relationship between the USCs and the tile changed over time. In older series there were probably only storage for a single tile on chip. This changed at some point (Series 6?) and multiple tiles were introduced with the limitation that the tiles could hold the storage for only one set of render targets (so if some USCs lagged behind at the end of a render pass the others would sit idle waiting for it). This changed again in Series 7 and it seems that the tiles can hold pretty much anything and USCs are free to process different sets of render targets without any particular limitation.
> That's interesting. Do you think they also special-case single
> pixel primitives, or is that not very worthwhile?
I'm not sure, details of their internal architecture are a well kept secret and as time went by they've become more and more secretive. What I could figure out I did by scouring their documents and Apple's documentation. You can infer quite a few details by cross-referencing recent changes with old stuff that was described in greater detail but as time goes by it becomes harder to get exact information.
For example it seems to me that the relationship between the USCs and the tile changed over time. In older series there were probably only storage for a single tile on chip. This changed at some point (Series 6?) and multiple tiles were introduced with the limitation that the tiles could hold the storage for only one set of render targets (so if some USCs lagged behind at the end of a render pass the others would sit idle waiting for it). This changed again in Series 7 and it seems that the tiles can hold pretty much anything and USCs are free to process different sets of render targets without any particular limitation.