[Mesa-dev] Regressions due to commit 1afe3359258

Kenneth Graunke kenneth at whitecape.org
Fri Apr 18 08:46:00 PDT 2014


On 04/18/2014 12:09 AM, Ilia Mirkin wrote:
> Hi Ken,
> 
> I just did a bisect looking for the failure that's causing a few
> gs-related piglits to fail on nv50, and it came up with the below. Any
> ideas? Here are the tests that are failing:
> 
> tests/spec/glsl-1.50/execution/geometry/clip-distance-out-values.shader_test
> tests/spec/glsl-1.50/execution/geometry/max-input-components.shader_test
> tests/spec/glsl-1.50/execution/geometry/point-size-out.shader_test
> tests/spec/glsl-1.50/execution/geometry/primitive-id-out.shader_test
> tests/spec/glsl-1.50/execution/gs-redeclares-both-pervertex-blocks.shader_test
> tests/spec/glsl-1.50/execution/interface-vs-named-to-gs-array.shader_test
> tests/spec/glsl-1.50/execution/redeclare-pervertex-out-subset-gs.shader_test
> tests/spec/glsl-1.50/execution/redeclare-pervertex-subset-vs-to-gs.shader_test
> 
> 1afe3359258a9e89b62c8638761f52d78f6d1cbc is the first bad commit
> commit 1afe3359258a9e89b62c8638761f52d78f6d1cbc
> Author: Kenneth Graunke <kenneth at whitecape.org>
> 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: https://bugs.freedesktop.org/show_bug.cgi?id=76400
>     Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
>     Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
>     Cc: mesa-stable at lists.freedesktop.org
> 
> Reverting this commit on top of master makes it work again. I have no
> idea whether it's the tests/piglit infra that are wrong, or if it's
> the commit that's wrong, but wanted to raise the issue. This still
> happens with the (almost-)latest piglit (latest doesn't compile due to
> EGL stuff...)
> 
> Let me know if you'd like any additional info.
> 
> Thanks,
> 
>   -ilia

Yeah, we're seeing those too.  I believe the commit is wrong: with
geometry shaders, you can just generate vertices using a GS program and
not actually ever upload any vertex data.  At which point, you probably
don't need a VAO.  I haven't double checked the rules, though.

Feel free to revert it.

I also wonder whether we should drop the non-default-VAO requirement.
ES 3.0 doesn't require it, so I wonder if ARB_ES3_compatibility implies
we should drop it from API_OPENGL_CORE as well.  If not, it still might
be worth creating an always-on GL extension that provides the default
VAO again.  We get quite a few bug reports about people's apps not
working because they were trying to use the default VAO (which
apparently nVidia allows).

--Ken

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20140418/db98b6e1/attachment-0001.sig>


More information about the mesa-dev mailing list