Graphics Reference
In-Depth Information
Tile-bufferpixel
Depth
Color
Pixel Local Storage
Stencil
Figure 3.1. A pixel in the tile buffer. Note that color and pixel local storage are
physically stored at the same location, so writing to one will overwrite the other. Also
note that depth and stencil are separate from the pixel local storage data.
3.3 Shader Pixel Local Storage
The Mali-T600 series of GPUs support a fragment shader extension that can
completely change how applications and games construct pixel data. The ex-
tension, which is only available for OpenGL ES 3.0, provides a mechanism for
applications to pass information between fragment shader invocations covering
the same pixel. This persistent data is stored in a format that is independent
of the currently attached framebuffer. On the Mali-T600 series the pixel local
storage size is 128 bits, which can be freely partitioned by the application. (See
Figure 3.1.)
With Shader Pixel Local Storage an application can freely control the per
fragment dataflow throughout the lifetime of a framebuffer. Figure 3.2 illustrates
normal rendering behavior without pixel local storage.
Tile memory
External memory
0
1
2
Color
Framebuffer
n
Figure 3.2. The rendered geometry overwrites the existing color value. This is what
the pipeline normally looks like when rendering opaque geometry.
Search WWH ::




Custom Search