<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body><span class="vcard"><a class="email" href="mailto:jfonseca@vmware.com" title="José Fonseca <jfonseca@vmware.com>"> <span class="fn">José Fonseca</span></a>
</span> changed
<a class="bz_bug_link
bz_status_NEW "
title="NEW --- - SIGSEGV src/mesa/main/bufferobj.c:291"
href="https://bugs.freedesktop.org/show_bug.cgi?id=64568">bug 64568</a>
<br>
<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>What</th>
<th>Removed</th>
<th>Added</th>
</tr>
<tr>
<td style="text-align:right;">Assignee</td>
<td>mesa-dev@lists.freedesktop.org
</td>
<td>maraeo@gmail.com
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - SIGSEGV src/mesa/main/bufferobj.c:291"
href="https://bugs.freedesktop.org/show_bug.cgi?id=64568#c3">Comment # 3</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW --- - SIGSEGV src/mesa/main/bufferobj.c:291"
href="https://bugs.freedesktop.org/show_bug.cgi?id=64568">bug 64568</a>
from <span class="vcard"><a class="email" href="mailto:jfonseca@vmware.com" title="José Fonseca <jfonseca@vmware.com>"> <span class="fn">José Fonseca</span></a>
</span></b>
<pre>The problem is that st_init_limits is called *after* _mesa_init_buffer_objects.
(gdb) break st_init_limits
Breakpoint 1 at 0x7ffff67e8f6e: file src/mesa/state_tracker/st_extensions.c,
line 69.
(gdb) break _mesa_init_buffer_objects
Breakpoint 2 at 0x7ffff68206cb: file src/mesa/main/bufferobj.c, line 610.
(gdb) r
Starting program: /usr/bin/glxinfo -l
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
name of display: :0.0
Breakpoint 2, _mesa_init_buffer_objects (ctx=0x6931f0) at
src/mesa/main/bufferobj.c:610
warning: Source file is more recent than executable.
610 memset(&DummyBufferObject, 0, sizeof(DummyBufferObject));
(gdb) c
Continuing.
Breakpoint 1, st_init_limits (st=0x6e92a0) at
src/mesa/state_tracker/st_extensions.c:69
warning: Source file is more recent than executable.
69 struct pipe_screen *screen = st->pipe->screen;
(gdb)
Not sure what's the best way of fixing this, but I'll go ahead and commit a
workaround, as this affects all apps:
commit a149f9d4c792455efd46af46093f61a9144451af
Author: José Fonseca <<a href="mailto:jfonseca@vmware.com">jfonseca@vmware.com</a>>
Date: Tue May 14 16:55:56 2013 +0100
mesa/st: Workaround fdo <a class="bz_bug_link
bz_status_NEW "
title="NEW --- - SIGSEGV src/mesa/main/bufferobj.c:291"
href="show_bug.cgi?id=64568">bug 64568</a>.
Effectively reverting the problematic hunk of
commit 614ee25077b7ffafeb87b22563d01856824fb4bc
diff --git a/src/mesa/state_tracker/st_extensions.c
b/src/mesa/state_tracker/st_extensions.c
index b64d363..982e652 100644
--- a/src/mesa/state_tracker/st_extensions.c
+++ b/src/mesa/state_tracker/st_extensions.c
@@ -279,10 +279,15 @@ void st_init_limits(struct st_context *st)
st->ctx->Extensions.ARB_uniform_buffer_object = GL_TRUE;
c->UniformBufferOffsetAlignment =
screen->get_param(screen, PIPE_CAP_CONSTANT_BUFFER_OFFSET_ALIGNMENT);
+ /* FIXME: _mesa_init_buffer_objects() already has been, and
+ * ctx->UniformBufferBindings allocated, so unfortunately we can't just
+ * change MaxUniformBufferBindings a posteriori. */
+#if 0
c->MaxCombinedUniformBlocks = c->MaxUniformBufferBindings =
c->VertexProgram.MaxUniformBlocks +
c->GeometryProgram.MaxUniformBlocks +
c->FragmentProgram.MaxUniformBlocks;
+#endif
}
}
I'm also surprised this didn't affect r600g. I see thousands of regressions
with piglit on softpipe/llvmpipe. Does the same not happen with r600g?</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>