Cryptic IMGSRV error "skip glDrawElements", user reports black screen

This topic contains 6 replies, has 4 voices, and was last updated by  PaulL 2 years, 7 months ago.

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #31972

    Ancurio
    Member

    Hello, author of a small game related open source project here. I recently attempted an experimental port to Android.
    A user of mine with a PowerVR chip (SGX 544MP, driver build 1.9@2204701) keeps having black screen issues. Inside his log, the following error keeps appearing:

    E/IMGSRV (14784): :0: skip glDrawElements (indices=1(0x0), bindBuffer=1)

    so if the driver is indeed discarding my draw calls, that would explain the black screen (everything is rendered to an off-screen texture and blitted on-screen at the end). The user also turned on “callstack on glGetError”, but no GL errors were generated. The black screen persists from the start of the application for a while until a scene switch (where lots of old objects destroyed and new ones created), then doesn’t happen for a while until it randomly appears again.

    Do you have any hints as to what might be causing the driver to discard the draw calls?

    Thanks.

    #39476

    pauls
    Member

    Hello Ancurio,

    Could you please confirm what device this is occurring on?

    Thanks,
    Paul

    #39477

    Ancurio
    Member

    Yeah sure. The phone is an “Intex Aqua HD” with an “MTK6589” processor and 1GB RAM. Here’s a webpage on it: http://gadgets.ndtv.com/intex-aqua-hd-1025

    #39478

    Joe Davis
    Member

    Hi Ancurio,

    We’ve searched the source code for our latest SGX driver, but were not able to find this message. We will reap the 1.9 DDK source to see if the message is specific to that branch.

    The message is very vague. My initial thoughts are that the draw may have been skipped because the bound index buffer or vertex buffers are invalid. Have you tried to verify the logic in your code or ran any analysis tools to verify the calls you are making? Our PVRTrace capture tool should be able to isolate any issues in your draw calls. Once you have a PVRTrace capture, you can also send it to us from further analysis (I would recommend sharing this capture confidentially with us through our ticketing system: https://pvrsupport.imgtec.com/new-ticket)

    Thanks,
    Joe

    #39479

    PaulL
    Admin

    Hi Ancurio,

    I’ve checked the source for our 1.9@2204701 reference driver and couldn’t find the message, I assume our chip customer has added the debug message to their drivers.

    Try Joe’s suggestions and let us know how it goes.

    Kind regards,
    PaulL.

    #39480

    Ancurio
    Member

    Thanks Joe and Paul for looking into the driver source for me.

    I’m pretty sure the logic in my code is sound as this exact same code runs on thousands of PCs fine and also on other mobile chips, plus it works ok on the PowerVR one half of the time (and no OpenGL errors are emitted from the draw call).

    From a first glance of the documentation on setting up the trace tool you linked me, it looks a lot like apitrace. Is your tracing tool a pure call-dumping shim, or does it actually record internal state from the PowerVR chip itself?

    Thanks!

    #39481

    PaulL
    Admin

    PVRTrace just purely captures GL calls.

Viewing 7 posts - 1 through 7 (of 7 total)
You must be logged in to reply to this topic.