Imagination PowerVR SDK Blog

PVRVFrame - bug - ES 1.x - glTexImage2D

pvrvframe

#1

Using PVRVFrame 2.09.29.0649for OpenGL ES 1.1, I have reproduced some strange bugs: glTexImage2D reports unjustified gl errors (see below). The bugs can also be reproduced with PVRVFrame 2.08..

The steps to reproduce:
  1. Create EGL context
  2. Push 2 matrices on GL_MODELVIEW stack
  3. Destroy EGL context
  4. Create new EGL context
  5. Notice that GL_MODELVIEW_STACK_DEPTH returns 3 !
  6. Pop 2 matrices from GL_MODELVIEW stack (no error is reported)
  7. A valid call for glTexImage2D (with a valid texture 2d binded)
<!–if gte mso 10>

<>

/
Style Definitions */

table.MsoNormalTable

{mso-style-name:“Table Normal”;

mso-tstyle-rowband-size:0;

mso-tstyle-colband-size:0;

mso-style-noshow:yes;

mso-style-priority:99;

mso-style-parent:"";

mso-padding-alt:0cm 5.4pt 0cm 5.4pt;

mso-para-margin:0cm;

mso-para-margin-bottom:.0001pt;

mso-pagination:widow-orphan;

font-size:10.0pt;

font-family:“Times New Roman”,“serif”;}


Code:
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 512, 512, 0, GL_RGBA, GL_UNSIGNED_BYTE, data)
fails with GL_STACK_UNDERFLOW (note that before the call, glGetError returned GL_NO_ERROR).

Two issues to be noticed here:
  1. The matrix stack seems to be static -- it is not reset for the new GL context.
  2. glTexImage2D is affected by an error that doesn't have anything to do with glTexImage2D parameters.

Sometimes, I get GL_INVALID_ENUM in valid calls for glTexImage2D (and that even without recreating the GL context).

If this is indeed a genuine issue in the PVRVFrame implementation, can someone advise how can I implement a workaround for it (until will be fixed)?