Imagination PowerVR SDK Blog

DDK without VG module: GetFreeHWContextID() return


#1

I have Omap2430 SDK/DDK which supports MBX-Lite plus VGP-Lite. I want to port it to my new platform which is also TI chip similar to Omap in the sense of MBX module except it does not have VGP-Lite.

We have LCD driver changs in place, and I changed makeconf.build to:
1). not set SUPPORT_OPENVG, VGP_LITE, VERTEX_PROGRAM,
2) add PASSTHROUGH_BUILD = 1
3). Change couple of header files due to compilation error with option changes above

When I ran some simple application (like SDK demo hellotriagle), GetFreeHWContextID() returned OK for first 5 times and then started to return error due to both ContextIDs are in use. I added some debug msg and found that FreeHWContextID() was called only 3 times from Handle3DComplete() in mbxisr.c and the condition of calling Handle3DComplete is that both MBX1_INT_RENDER_COMPLETE(0x04) and MBX1_INT_EVM_DALLOC (0x40) are set in register MBX1_TAGLOBREG_INTSTATUS (0x12C).

I could not figure out why MBX1_INT_RENDER_COMPLETE(0x04) and MBX1_INT_EVM_DALLOC (0x40) interrupt not happening after 3 times. The interrupt handler MBXIsr() was still called frequently but most of times are with MBX1_INT_ISP (0x08) set. 

Does anybody know if I missed something when I compile DDK without VGP?
Does anybody know possible reason(s) which can cause MBX1_INT_RENDER_COMPLETE(0x04) and MBX1_INT_EVM_DALLOC (0x40) not happening?

Thanks a lot!!