SGX 530 Pixel Format

Hi,


I am using a TI OMAP3530, which uses an SGX 530. Does the SGX 530 support any pixel formats other than ARGB8888? I am particularly interested in ARGB4444 or any other format that renders ARGB pixels with a depth less than or equal to 24 bits.

Thanks,
Andy

Hi Andy,

The 530 is capable of supporting all of the OpenGL ES 1.x and 2.0 pixel formats. Both APIs include support for RGBA4444, RGBA5551 & RGB565 pixel formats.

Which graphics API are you using?

Thanks,
Joe



Hi Joe,


Currently I am actually using the OpenVG API, however I am looking at using the OpenGL ES2 API in the future. When you say there is support for RGBA4444, is this supported as a frame buffer format for rendering to an EGL Window Surface? (I realise that ARGB4444 textures are supported).

Thanks,
Andy

Hi,


Is anyone at Imagination Technologies able to say whether the graphics APIs will render a format of RGBA4444/ARGB4444 to a frame buffer? (So far I know, and have confirmed, that ARGB8888 and RGB565 are possible).

Thanks,
Andy

Hi Andy,

Apologies for the slow reply and misunderstanding your original request.

It is possible for OpenGL ES to render to a 16bit surface. You should check the available EGL configs on your target platform to see if there is a 16bit configuration available that suits your needs.

Regards,
Joe

Hi Joe,

Thank you for your reply. If I understand correctly, are you saying that if there is an EGL config that shows a 16bit ARGB4444 window surface, it will be possible for the SGX (using any API) to render to it?

Best regards,
Andy

Support will depend on the EGL configurations available to you and any potential caveats of your chosen graphics API. I have successfully ran OpenGL ES 1.x and 2.0 applications with a 16bit frame buffer before on SGX devices though, so I would expect it to work on most platforms.

If you refer to the 01_HelloAPI example source code in our SDK (SDK_3_0/Examples/Beginner), you will see that a 565 16-bit surface is requested in the Android example. You can modify this example source code to print the chosen EGL config, or list all available configs.

Thanks,
Joe

Hi Joe,


I have been able to request a 16bit RGB565 surface without any problems. Unfortunately this doesn’t contain any alpha transparency data. When I try to request a 16bit ARGB4444 surface, an EGL config is found but the application fails to run. (I think it is crashing on the call to swap buffers). Is this a limitation of the SGX or the frame buffer? I am a bit confused as to why the application crashes when EGL appears to report a suitable ARGB4444 config.

Is the SGX limited to RGB565 for 16bit surfaces?

Thanks,
Andy

Hi Andy,

Sorry for the delay.

SGX isn’t limited to RGB565. The 4444 surfaces should work. Have you tried to run your application on any other PowerVR devices? If you’re still having problems, you should contact TI for support with this issue.

Thanks,
Joe



Hi Joe,


Thank you for your reply… that is exactly what I needed to know. Unfortunately I do not have access to any other PowerVR devices to try this on - I only have an OMAP5350. I shall contact TI for their help in using OpenVG to render 16bit RGBA4444 to an EGL window surface.

Thanks,
Andy