By: Gabriele Svelto (gabriele.svelto.delete@this.gmail.com), October 25, 2016 12:58 pm
Room: Moderated Discussions
Very interesting article David! While reading Apple GPU-related material in the past I've always assumed that represented the default functionality of PowerVR processors - and maybe that was true - but it definitely looks like that's not the case anymore.
However, I think that Apple's modification to the shader core are subtler than you imply. I really don't think that the shader core is a completely new design and here's why: due to the tile-based deferred rendering approach that PowerVRs use the design of the shader core is tightly bound to how the tile works and thus to the fixed-function logic that does binning, rasterization, and then streams the resulting pixel coordinates, variants, etc... to the shader cores. If you look at how things like Apple's framebuffer fetch OpenGL extension works you'll notice that register-file access granularity is tightly coupled with the tile's own access granularity. There's certainly more interactions than that but IMHO we're looking at a modified shader core, not a brand new one. If it were a new one then we'd be looking at a very different GPU overall.
However, I think that Apple's modification to the shader core are subtler than you imply. I really don't think that the shader core is a completely new design and here's why: due to the tile-based deferred rendering approach that PowerVRs use the design of the shader core is tightly bound to how the tile works and thus to the fixed-function logic that does binning, rasterization, and then streams the resulting pixel coordinates, variants, etc... to the shader cores. If you look at how things like Apple's framebuffer fetch OpenGL extension works you'll notice that register-file access granularity is tightly coupled with the tile's own access granularity. There's certainly more interactions than that but IMHO we're looking at a modified shader core, not a brand new one. If it were a new one then we'd be looking at a very different GPU overall.