The PowerVR SGX

The PowerVR SGX platform is the graphic processor for the BlackBerry PlayBook tablet and BlackBerry 10 Dev Alpha device. It is designed to support OpenGL ES 2.0, and it implements the OpenGL ES 1.1 API more efficiently using OpenGL ES 2.0 shaders. For more information, see the PowerVR SGX OpenGL ES 2.0 Application Development Recommendations.

Tile-based deferred rendering

The PowerVR SGX platform uses tile-based deferred rendering, where rasterization is performed on a per tile basis instead of the entire frame buffer as traditional immediate-mode rendering would. This enables the hardware to only retrieve geometry data when rendering each tile, subsequently minimizing memory bandwidth requirements. Color, depth, and stencil buffers are performed using fast on-chip memory instead of system memory.

Limits on OpenGL ES 1.1 using PowerVR SGX540

Description Min value Max value Constant
Number of application defined clipping planes 6 6 GL_MAX_CLIP_PLANES
Number of lights 8 8 GL_MAX_LIGHTS
Supported depth of the modelview matrix 16 matrices 16 matrices GL_MAX_MODELVIEW_STACK_DEPTH
Supported depth of the projection matrix 2 matrices 2 matrices GL_MAX_PROJECTION_STACK_DEPTH
Texture size 64 pixels by 64 pixels 2048 pixels by 2048 pixels GL_MAX_TEXTURE_SIZE
Supported depth of the texture matrix 2 matrices 4 matrices GL_MAX_TEXTURE_STACK_DEPTH
Number of supported texture units 1 4 GL_MAX_TEXTURE_UNITS

For more information on these constants, look at the OpenGL ES 1.1 manual pages.

OpenGL ES 1.1 extensions supported on PowerVR SGX540

Note this list is not all inclusive, it is the base list of extensions that are supported. To check for extensions available, you should query the extensions.

Limits on OpenGL ES 2.0 using PowerVR SGX540

Description Min value Max value Constant
Texture image units that can be used to access texture maps from the vertex shader and fragment processor combined 8 8 GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS
Size of cube map texture 16 2048 GL_MAX_CUBE_MAP_TEXTURE_SIZE
Number of uniform vectors 16 64 GL_MAX_FRAGMENT_UNIFORM_VECTORS
Renderbuffer width and height 1 pixel by 1 pixel 2048 pixels by 2048 pixels GL_MAX_RENDERBUFFER_SIZE
Number of texture image units accessed by texture maps from the fragment shader 8 8 GL_MAX_TEXTURE_IMAGE_UNITS
Texture size 64 pixels by 64 pixels 2048 pixels by 2048 pixels GL_MAX_TEXTURE_SIZE
Number of varying vectors 8 8 GL_MAX_VARYING_VECTORS
Number of vertex attributes 8 16 GL_MAX_VERTEX_ATTRIBS
Number of texture image units accessed by texture maps from the vertex shader 0 8 GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS
Number of uniform vectors that can be held for a vertex shader 128 128 GL_MAX_VERTEX_UNIFORM_VECTORS

OpenGL ES 2.0 extensions supported on PowerVR SGX540

Note this list is not all inclusive, it is the base list of extensions that are supported. To check for extensions available, you should query the extensions.