<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Potential regressions from 1afe3359258a9"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=77443">77443</a>
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>mesa-dev@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Potential regressions from 1afe3359258a9
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>cworth@cworth.org
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>Other
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Mesa core
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>Mesa
          </td>
        </tr></table>
      <p>
        <div>
        <pre>I recently tried cherry-picking commit
1afe3359258a9e89b62c8638761f52d78f6d1cbc to the 10.1 branch of
Mesa. When I did that, I found that the following piglit tests
regressed (passing before the commit and failing afterward):

    all/spec/glsl-1.50/execution/geometry
    clip-distance-out-values
    max-input-components
    point-size-out
    primitive-id-out

    all/spec/glsl-1.50/execution
    gs-redeclares-both-pervertex-blocks
    interface-vs-named-to-gs-array
    redeclare-pervertex-out-subset-gs
    redeclare-pervertex-subset-vs-to-gs

I talked about the regressions with Ken a bit. He thinks it might be
right to just convert the patch from mesa master.

Here's the original patch:

commit 1afe3359258a9e89b62c8638761f52d78f6d1cbc
Author: Kenneth Graunke <<a href="mailto:kenneth@whitecape.org">kenneth@whitecape.org</a>>
Date:   Thu Mar 20 11:53:16 2014 -0700

    mesa: In core profile, refuse to draw unless a VAO is bound.

    Core profile requires a non-default VAO to be bound.  Currently, calls
    to glVertexAttribPointer raise INVALID_OPERATION unless a VAO is bound,
    and we never actually get any vertex data set.  Trying to draw without
    any vertex data can only cause problems.  In i965, it causes a crash.

    Bugzilla: <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - [HSW] Segmentation Fault in Simple OpenGL 3.3 Application"
   href="show_bug.cgi?id=76400">https://bugs.freedesktop.org/show_bug.cgi?id=76400</a>
    Signed-off-by: Kenneth Graunke <<a href="mailto:kenneth@whitecape.org">kenneth@whitecape.org</a>>
    Reviewed-by: Ian Romanick <<a href="mailto:ian.d.romanick@intel.com">ian.d.romanick@intel.com</a>>
    Cc: <a href="mailto:mesa-stable@lists.freedesktop.org">mesa-stable@lists.freedesktop.org</a>

diff --git a/src/mesa/main/api_validate.c b/src/mesa/main/api_validate.c
index efc3a2b..8f0b199 100644
--- a/src/mesa/main/api_validate.c
+++ b/src/mesa/main/api_validate.c
@@ -125,8 +125,11 @@ check_valid_to_render(struct gl_context *ctx, const char
*f
         return GL_FALSE;
       break;

-   case API_OPENGL_COMPAT:
    case API_OPENGL_CORE:
+      if (ctx->Array.VAO == ctx->Array.DefaultVAO)
+         return GL_FALSE;
+      /* fallthrough */
+   case API_OPENGL_COMPAT:
       {
          const struct gl_shader_program *vsProg =
             ctx->_Shader->CurrentProgram[MESA_SHADER_VERTEX];</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>