we want to blend ARGB8888 image into RGB888 framebuffer, when configuring the framebuffer as RGB888 format, the PVR2DGetDeviceInfo returned with error of -7(PVR2DERROR_GENERIC_ERROR).
Does SGX530(TI AM3358) support 24bit(RGB888) framebuffer?
if yes, how to solve the problem?
software and version:
– Linux kernel 3.2
– PVR2d header revision:
#define PVR2D_REV_MAJOR 3
#define PVR2D_REV_MINOR 6
RGB888 is only supported as a destination format if the platform supports PTLA (Present and Texture Load Accelerator). Because you are receiving this error, I assume your platform does not have support for it, so you will need to use RGBA8888.
Thanks for your reply, maybe that’s the problem.
PVR2DGetDeviceInfo’s return value could be:
-10( PVR2DERROR_NOT_YET_IMPLEMENTED )
If SGX530 didn’t support this feature, returned with one of these two values is more proper than -7(PVR2DERROR_GENERIC_ERROR) when calling it.
Yes, I agree the error message is not helpful at all. Sadly it is very old code so I doubt it will be updated.
Let us know if you have any other issue. It is very difficult for us to support these old platforms, but we will try our best.
I got, thank you!
Another question, what’s the relationship between this two API libraries: pvr2d and openGL? can I got any document about pvr2d? what we have now is just the pvr2d.h.
As far as I know there is no public document (except the include file you mention) about the PVR2D API.
PVR2D is a specific API to drive 2D hardware so it has only been used in some implementations of EGL for surface management. Its main purpose is to be used to accelerate windowed systems.