It's now been a year since we announced the Shader Pixel Local Storage extension. Here I'll recap what we've done since the time of the release.
What is Pixel Local Storage?
I recommend reading Jan-Harald Fredriksen's blog post Pixel Local Storage on ARM® Mali™ GPUs for background information about what Pixel Local Storage is and the advantages of exposing it.
Order Indepdendent Transparency
At SIGGRAPH 2014 we presented "Efficient Rendering with Tile Local Storage", with detailed use-cases mixing advanced techniques such as deferred shading and order independent transparency. The problem with transparency is that blending operations tend to be non-commutative, meaning that the end result is highly sensitive to the shading order of the blended fragments. Using Pixel Local Storage we implemented both a full depth-peeling approach and also compared that against approximate approaches such as Multi-Layer Alpha Blending and Adaptive Range blending. Not only that; we implemented all of this very efficiently on-top of a fully deferred shading renderer. Please see Efficient Rendering with Tile Local Storagefor more details.
Collaboration with Epic
We integrated Pixel Local Storage into Epic's Unreal Engine 4. This enabled more efficient HDR rendering as well as features such as bloom and soft particles.
Sample code
We've also release a couple of samples showing how to use Pixel Local Storage in your own code.
Shader Pixel Local Storage
This sample implements deferred shading using pixel local storage.
http://malideveloper.arm.com/develop-for-mali/sample-code/shader-pixel-local-storage-sample/
Translucency
This sample uses Pixel Local Storage to render translucent geometry.
http://malideveloper.arm.com/downloads/deved/tutorial/SDK/android/2.0/translucency.html