https://bugs.freedesktop.org/show_bug.cgi?id=64568
José Fonseca <jfons...@vmware.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|mesa-dev@lists.freedesktop. |mar...@gmail.com |org | --- Comment #3 from José Fonseca <jfons...@vmware.com> --- 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 <jfons...@vmware.com> Date: Tue May 14 16:55:56 2013 +0100 mesa/st: Workaround fdo bug 64568. 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? -- You are receiving this mail because: You are the assignee for the bug.
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev