<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - glDrawElements segfault when compiled into display list"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=60518#c7">Comment # 7</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - glDrawElements segfault when compiled into display list"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=60518">bug 60518</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>I suspect the problem are these lines in setup_glsl_generate_mipmap():

   _mesa_BindAttribLocation(mipmap->ShaderProg, 0, "position");
   _mesa_BindAttribLocation(mipmap->ShaderProg, 1, "texcoords");
   _mesa_EnableVertexAttribArray(0);
   _mesa_EnableVertexAttribArray(1);

Which can be executed without this line being called:

   _mesa_BindVertexArray(mipmap->ArrayObj);

This patch might fix this.

diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c
index ca5f5a1..7da08e8 100644
--- a/src/mesa/drivers/common/meta.c
+++ b/src/mesa/drivers/common/meta.c
@@ -3397,6 +3397,8 @@ setup_glsl_generate_mipmap(struct gl_context *ctx,
                                    sizeof(struct vertex), OFFSET(x));
       _mesa_VertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE,
                                    sizeof(struct vertex), OFFSET(tex));
+   } else {
+      _mesa_BindVertexArray(mipmap->ArrayObj);
    }

    /* Generate a fragment shader program appropriate for the texture target */</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>