<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - mesa-10.0.2: z-buffer issue with opengl 3.3 context on intel"
href="https://bugs.freedesktop.org/show_bug.cgi?id=74010#c6">Comment # 6</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW --- - mesa-10.0.2: z-buffer issue with opengl 3.3 context on intel"
href="https://bugs.freedesktop.org/show_bug.cgi?id=74010">bug 74010</a>
from <span class="vcard"><a class="email" href="mailto:leclercq.thibault@yahoo.fr" title="Tibbo <leclercq.thibault@yahoo.fr>"> <span class="fn">Tibbo</span></a>
</span></b>
<pre>I've encountered this segfault before, and i think i can give some useful
informations.
As stated in the file src/mesa/main/varray.c:
/* Page 407 (page 423 of the PDF) of the OpenGL 3.0 spec says:
*
* "Client vertex arrays - all vertex array attribute pointers must
* refer to buffer objects (section 2.9.2). The default vertex array
* object (the name zero) is also deprecated. Calling
* VertexAttribPointer when no buffer object or no vertex array object
* is bound will generate an INVALID_OPERATION error..."
*
* The check for VBOs is handled below.
*/
That means you must use a VAO to encapsulate these calls to conform the spec.
Of course this is not a good reason to end up with a segmentation fault,
especially when everyone around keep not using VAO with recent core profiles...
So, in order to avoid the crash you can just comment the line 390 in varray.c:
if (ctx->API == API_OPENGL_CORE
&& (ctx->Array.VAO == ctx->Array.DefaultVAO)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "%s(no array object bound)",
func);
// return;
}
This way the deprecated default VAO "0" will be used, and everything should
work. Maybe some testing later in the process should also be implemented...
Just in case you want know: the segfault happens line 112 in
src/mesa/drivers/dri/i965/intel_upload.c, when memcpy is call with null src and
dest.
Be aware that this workaround is not fully tested, and comes with no warranty.
For the overlapping triangles problem, i've never seen that before... so maybe
it is a problem in your code.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>