I am using a OMAP3530 w/ DSS driving a 640x480 lcd with WindowSystem=libpvrPVR2D_LINUXFBWSEGL.so and 3 framebuffers. When drawing the screen I split the screen vertically, reduce the size of the viewport and draw 3d terrain on the left side, then set the viewport back to the full screen and draw 2d overtop of the whole screen. When doing this I seem to get a random hang of the gfx drivers (gdb backtrace below). The hanging of the gfx drivers is also accompanied by a kernel message like: "underrun!!! (at least 30.640 ms long)". When I don't split the screen vertically (i.e. viewport only altered in y direction) there are no problems. Has anyone seen this or can tell me how to stop it?
Program received signal SIGINT, Interrupt.
0x402f5c3c in ioctl () from /lib/libc.so.6
(gdb) bt
#0 0x402f5c3c in ioctl () from /lib/libc.so.6
#1 0x40370874 in PVRSRVBridgeCall (hServices=<value optimized out>,
ui32FunctionID=3223086917, pvParamIn=<value optimized out>,
ui32InBufferSize=<value optimized out>, pvParamOut=0xbec54790,
ui32OutBufferSize=8)
at /home/prabu/gfxsdkcreate_new/ti_references/sources/GFX_Linux_DDK/src/eurasia/services4/srvcli
ent/env/linux/common/pvr_bridge_u.c:201
#2 0x403701c4 in PVRSRVEventObjectWait (psConnection=<value optimized out>,
hOSEvent=0xf)
at /home/prabu/gfxsdkcreate_new/ti_references/sources/GFX_Linux_DDK/src/eurasia/services4/srvcli
ent/env/linux/common/osfunc_um.c:307
#3 0x40372e80 in PVRSRVPollForValue (psConnection=0x36, hOSEvent=0xf,
pui32LinMemAddr=0x410b231c, ui32Value=1, ui32Mask=4294967295,
ui32Waitus=1000, ui32Tries=920)
at /home/prabu/gfxsdkcreate_new/ti_references/sources/GFX_Linux_DDK/src/eurasia/services4/srvcli
ent/common/resources.c:85
#4 0x4014554c in HardwareTextureUpload (gc=0x4fad858, psTex=0x5043368,
ui32OffsetInBytes=0, psLevel=0x5048668) at texdata.c:1535
#5 0x40145eb0 in TranslateLevel (gc=0x4fad858, psTex=0x5043368, ui32Face=0,
ui32Lod=2097152) at texdata.c:2155
#6 0x40147d90 in TextureMakeResident (gc=0x4fad858, psTex=0x5043368)
at texmgmt.c:1015
#7 0x40147f64 in SetupTextureState (gc=0x4fad858) at texmgmt.c:2481
#8 0x40150cb8 in ValidateState (gc=0x4fad858) at validate.c:4286
#9 0x4012dbc8 in glDrawArrays (mode=4, first=0, count=6) at drawvarray.c:2296
#10 0x000a7c4c in GRL2_DrawFontList (list=0x7c709c) at GRL2/GRL2_util.c:318
#11 0x0000f1fc in UpdateScreen () at AFS/AFS_event.c:250
#12 0x0000f42c in EventLoop () at AFS/AFS_event.c:121
#13 0x000f57cc in main (argc=<value optimized out>, argv=0xbec54da4)
at AFS/AFS_main.c:105
(gdb)