[Bug 92323] Font rendering issue on Intel GMA X3100/X4500 with Android-x86

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Nov 4 16:21:52 PST 2015


https://bugs.freedesktop.org/show_bug.cgi?id=92323

--- Comment #12 from pstglia at gmail.com ---
Hi all,

> >From some out-of-band communication there was a suggestion that the problem >could be because of uses of GL_PIXEL_UNPACK_BUFFER and GL_PIXEL_PACK_BUFFER in >meta.  Meta usually sets the API to API_OPENGL_COMPAT to avoid problems like >this, but it's possible that was missed.  I believe PBOs were added in OpenGL ES >3.0, but i965GM is an OpenGL ES 2.0 part.
> 
> pstglia, a fellow  member of Android-x86 forum came to the same conclusion
> that PBO are OpenGL ES 3.0 and the binding with
> GL_PIXEL_PACK_BUFFER/GL_PIXEL_PACK_BUFFER targets fails returning NULL and
> causing the 0x500 error.
> 
> I think that API_OPENGL_COMPAT is definitely worth a try.
> Do you have a proposed patch for us to test and report?

Just to add more info, _mesa_error is returning the following in this case:

glBindBufferARB(target 0x88ec)

It's being raised here:

### src/mesa/main/bufferobj.c:
   bindTarget = get_buffer_target(ctx, target);
   if (!bindTarget) {
      _mesa_error(ctx, GL_INVALID_ENUM, "glBindBufferARB(target 0x%x)",
target);
      return;
   }

I didn't trace get_buffer_target directly (like printing ctx->API as
suggested), but by looking it's first check, assumed ctx is neither
"API_OPENGL_COMPAT", "API_OPENGL_CORE"  or  "API_OPENGLES2" context (even if
ctx is this last type, it's not ctx->Version >= 30):


### src/mesa/main/bufferobj.c
  /* Other targets are only supported in desktop OpenGL and OpenGL ES 3.0.
    */
   if (!_mesa_is_desktop_gl(ctx) && !_mesa_is_gles3(ctx)
       && target != GL_ARRAY_BUFFER && target != GL_ELEMENT_ARRAY_BUFFER)
      return NULL;


### src/mesa/main/context.h

/**
 * Checks if the context is for any GLES version
 */
static inline bool
_mesa_is_gles(const struct gl_context *ctx)
{
   return ctx->API == API_OPENGLES || ctx->API == API_OPENGLES2;
}


/**
 * Checks if the context is for GLES 3.0 or later
 */
static inline bool
_mesa_is_gles3(const struct gl_context *ctx)
{
   return ctx->API == API_OPENGLES2 && ctx->Version >= 30;
}


Of course I may missed some point.

Regards,
Pstglia

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20151105/d278e593/attachment.html>


More information about the intel-3d-bugs mailing list