<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEEDINFO "
title="NEEDINFO - Font rendering issue on Intel GMA X3100/X4500 with Android-x86"
href="https://bugs.freedesktop.org/show_bug.cgi?id=92323#c12">Comment # 12</a>
on <a class="bz_bug_link
bz_status_NEEDINFO "
title="NEEDINFO - Font rendering issue on Intel GMA X3100/X4500 with Android-x86"
href="https://bugs.freedesktop.org/show_bug.cgi?id=92323">bug 92323</a>
from <span class="vcard"><a class="email" href="mailto:pstglia@gmail.com" title="pstglia@gmail.com">pstglia@gmail.com</a>
</span></b>
<pre>Hi all,
<span class="quote">> >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?</span >
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</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
</ul>
</body>
</html>