Bug 20043 - tnl/t_draw.c:203: bind_inputs: Assertion `inputs[i]->BufferObj->Pointer' failed.
Summary: tnl/t_draw.c:203: bind_inputs: Assertion `inputs[i]->BufferObj->Pointer' failed.
Alias: None
Product: Mesa
Classification: Unclassified
Component: Mesa core (show other bugs)
Version: 7.2
Hardware: Other All
: medium normal
Assignee: marius predut
QA Contact:
Depends on:
Reported: 2009-02-10 14:49 UTC by Johan Bilien
Modified: 2015-09-11 15:51 UTC (History)
0 users

See Also:
i915 platform:
i915 features:

flybye winedbg output (8.93 KB, text/plain)
2010-02-11 06:20 UTC, Christopher Egert
a version that can be compiled - may be need updates (2.43 KB, text/plain)
2015-09-11 15:49 UTC, marius predut

Note You need to log in before you can comment on or make changes to this bug.
Description Johan Bilien 2009-02-10 14:49:47 UTC
I'm systematically triggering this assertion failure with a simple test drawing textured quads using VBOs.

The code looks like:


    if (quad->vbo == 0) {
        Vertex vertices[4];

        pf_glGenBuffersARB(1, &quad->vbo);
        pf_glBindBufferARB(GL_ARRAY_BUFFER, quad->vbo);

        vertices[0].x = quad->x;
        vertices[0].y = quad->y;
        vertices[0].tex_x = 0.0f;
        vertices[0].tex_y = 0.0f;

        vertices[1].x = quad->x + quad->width;
        vertices[1].y = quad->y;
        vertices[1].tex_x = tex->max_x;
        vertices[1].tex_y = 0.0f;

        vertices[2].x = quad->x + quad->width;
        vertices[2].y = quad->y + quad->height;
        vertices[2].tex_x = tex->max_x;
        vertices[2].tex_y = tex->max_y;

        vertices[3].x = quad->x;
        vertices[3].y = quad->y + quad->height;
        vertices[3].tex_x = 0.0f;
        vertices[3].tex_y = tex->max_y;


    } else {
        pf_glBindBufferARB(GL_ARRAY_BUFFER, quad->vbo);

    glBindTexture(tex->target, tex->handle);
    glVertexPointer(2, GL_FLOAT, sizeof(Vertex), (const GLvoid *) 0);
    glTexCoordPointer(2, GL_FLOAT, sizeof(Vertex), (const GLvoid *) (2 * sizeof(GLfloat)));
    glDrawArrays(GL_QUADS, 0, 4);

This is on a debian unstable running the intel 2.6, linux 2.6.28, running UXA and DRI2. mesa is 154a9e5317f890618932cea0129ef887e16baf84.
Comment 1 Johan Bilien 2009-02-10 14:53:09 UTC
(gdb) bt
#0  0xb805a7f2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1  0xb7c7f640 in raise () from /lib/i686/cmov/libc.so.6
#2  0xb7c81018 in abort () from /lib/i686/cmov/libc.so.6
#3  0xb7c785be in __assert_fail () from /lib/i686/cmov/libc.so.6
#4  0xb79e5d92 in _tnl_draw_prims (ctx=0x95eb938, arrays=0x961dee8, prim=0xbfd74940, nr_prims=1, ib=0x0, min_index=0, max_index=3)
    at tnl/t_draw.c:203
#5  0xb79dd5f7 in vbo_exec_DrawArrays (mode=7, start=0, count=4) at vbo/vbo_exec_array.c:267
#6  0xb79d0878 in neutral_DrawArrays (mode=7, start=0, count=4) at main/vtxfmt_tmp.h:328
#7  0x080499c2 in big_benchmark_draw_quad_with_vbo (quad=0xbfd74b7c) at benchmarks/benchmark.c:213
#8  0x0804932b in draw_scene (scene_data=0xbfd74b7c) at benchmarks/some-quads-vbo.c:34
Comment 2 Brian Paul 2009-02-10 15:01:35 UTC
Could you possibly create a small glut test program?  Perhaps modify mesa/progs/tests/bufferobj.c?

Which driver are you using?
Comment 3 Christopher Egert 2010-02-11 06:20:34 UTC
Created attachment 33234 [details]
flybye winedbg output

broken again on i945gm with libdrm git, mesa git, intel-xorg git and kernel 2.6.32 (ubuntu karmic  + xorg-edgers + ppa-kernel) when using wined3d (eg: http://pouet.net/prod.php?which=4484) (but the messed up gun in sauerbraten with enabled shaders is now fixed, maybe this is related to this bug)
i also tried mesa 7.7 and 7.6, now there it is broken, too
attached winedbg output
Comment 4 marius predut 2015-09-11 15:49:17 UTC
Created attachment 118216 [details]
a version that can be compiled - may be need updates

I used this compiled version of proposal defect.
The assertion is gone so I propose to close this defect.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.